変わらぬ日々に、魔法をかけて。
Rumos
Rumos
OfficialSite
このプロジェクトのオフィシャルサイトを作ってみました。
よければご覧ください。
Enter
Why I Built This
部屋の雰囲気を、シーンに合わせて自在に変えられたらいいな——
映画を観るときや友人と過ごすとき、一人で集中したいときに。
そんな考えが、このプロジェクトの出発点です。
きっかけは、バイト先で見かけた「飾られたワインボトル」。
空き瓶をインテリアとして飾る人は多いけれど、
「飾るだけじゃもったいない。物足りない」と感じたんです。
そこで思いついたのが、
ワインボトルの内側から光らせて、ライトインテリアとして生まれ変わらせる
というアイデア。
夏休み期間、友人に3Dプリンタや基板について教わりながら、
最初の一台——ワインボトルを使ったライトデバイスを作りました。
すると欲が出てきて、
もっとバリエーションが欲しい。自由にコントロールしたい。そして、エンタメ要素も。
こうして、複数のライトデバイス、専用の制御アプリ、
そして杖で操作する機能へと、プロジェクトは発展していきました。
変わらぬ日々に、
魔法をかけて。
光は、空間だけでなく気分まで整えてくれる存在です。
色や明るさが変わるだけで、同じ部屋がくつろぎの場所にも、作業に集中できる場所にも姿を変えます。
そんな魔法のように空間を自在に操るプロダクトが作りたいと思いました。
そこで私は、暮らしの中で眠っていたモノに新しい役割を与え、
"ライトデバイス"として生まれ変わらせることで、
日常に溶け込みながら、必要な時だけ空間の雰囲気を変えてくれる——
そんな生活に溶け込むシステムを考えました。
そして、その空間を操る“鍵”となるのが、ひと振りの杖。
何気ない所作から、部屋全体が雰囲気を変える。
まるで現実なのに、少しだけ魔法がつかえるかのように。
Sangria
飲み終えたワインボトルを “灯り”へと生まれ変わらせる ライトインテリアです。 ボトルに差し込むだけで、柔らかな光が広がり 空間を上品に演出します。
ViewMore...
StarTrail
LEDカラーグレーディングによる繊細な色表現で、部屋の雰囲気を思い通りに演出できる間接照明です。柔らかい光が壁に広がり、空間そのものに奥行きを与えるデザインが特徴です。
ViewMore...
Re:Flame Jar
キャンドルの空き瓶をそのまま生かし、新しい灯りとして再生させたアップサイクルライトです。 ランダムに光が揺れる“炎モード”が、まるで本物の炎のような温度感のある雰囲気を作り出し、柔らかな光を放ちます。
ViewMore...
Rumos:Desktop
デバイスを操るコントロールソフト
ViewMore...
Rumos:Controller
デバイスを杖で操るコントロールデバイス
ViewMore...
OfficailWebSite
OfficialWebサイト
ViewMore...
6..NET MAUI Blazor Hybrid
既存のWeb技術で、
クロスプラットフォームのUI構築
.NET MAUI Blazor Hybrid の最大の魅力は、 これまで Web で積み上げてきた HTML / CSS / JavaScript といった資産を、そのまま活かしマルチプラットフォームの UI を構築できること です。 画面の描画は Web 技術で行いながら、アプリのロジックは C# で動作し、カメラやGPSなどのネイティブ機能にも直接アクセスできます。 そのため、Web エンジニアでも学習コストを抑えつつ、iOS・Android・Windows・Mac 向けのアプリを一つのコードベースで開発できます。
7.Astro
超高速なWebサイトを作るための
コンテンツ駆動型フレームワーク
Astro は、超高速で表示されるコンテンツサイトを簡単に作れるフレームワークです。 基本はサーバー側で完成した HTML を生成し、クライアントにはほとんど JavaScript を送らないため、初期表示が驚くほど速く、SEO にも強いのが特徴です。 さらに、必要になった箇所だけを React / Vue / Svelte などのコンポーネントで“部分的に動的化(Island Architecture)” できるため、 「表示は速いのに、体験はリッチ」という理想的なサイトを実現できます。 Markdown や MDX との相性も良く、ブログやドキュメント、メディアサイトなどのコンテンツ中心のサイトに最適。 速さ・シンプルさ・拡張性を兼ね備えた Astro は、 「軽くて気持ちいい Webサイト」を作りたい人にぴったりの選択肢です。
デバイスの小型化 ー
スタイリッシュにするために。
見た目重視のプロダクトである以上、どれだけ小さく、スタイリッシュに作れるかが最大の課題でした。
最初の「Sangria」は、ヘッド部分が大きさが気になりました。
試行錯誤の末、以下の改良を重ねました:
・ESP32の小型モデルへの変更(Seeeduino XIAO ESP32C3を採用)
・基板設計の見直し(配線レイアウトの最適化)
・3Dプリント部品の薄肉化(強度を保ちながら軽量化)
結果、ヘッドサイズを約60%削減し、
インテリアに自然に溶け込むフォルムを実現できました。
UI/UXの設計 ー "待たせない"体験
タッチパネルUIでは、某大型寿司チェーンのチェックインシステムにインスパイアされ、 スリープ→起動の高速レスポンスを重視し、 人が近づいた瞬間にスムーズに立ち上がる体験を目指しました。
得られたもの
今回のプロジェクトを通じて、幅広い領域に挑戦し、多くの学びを得ました:
・ハードウェア:3Dプリンタ、基板設計、はんだ付けの基礎
・UI/UX:タッチパネルアプリの操作体験設計
・クラウド技術:Azure を活用したIoTデバイスの制御基盤構築
・創造性の実践:授業で学んだ「テープライトとESP32」という平凡な組み合わせが、
アイデア次第で個性的なプロダクトに生まれ変わることを体感
実装できたこと
・ライトデバイス 3種類の自作(Sangria, Startrail, Re:flame jar)
・マルチプラットフォームアプリ
・電源制御システム(TP-Link統合)
・杖デバイスのプロトタイプ(M5Stick + ジャイロセンサー)
今後の展望
実力不足で実装できなかった機能もあります。 特に、Raspberry Pi5 とカメラを使った「 杖による個別デバイス制御」は、 モーション認識の精度向上が課題として残りました。 これからも技術を磨きながら、 もっと多くの日用品に魔法をかけられるシステムへと発展させていきたいです。
クロスプラットフォーム×Web技術
なぜクロスプラットフォーム開発で Web技術が使えたらうれしいのでしょうか?
クロスプラットフォーム開発にWeb技術が活用されるのは、まずWeb開発者の数が圧倒的に多く、チーム編成や情報収集が容易だからだと思います。iOS、Android、Windows、Mac、Linuxそれぞれにネイティブ開発者を揃えるのは現実的ではありませんが、Web技術ベースならコアのロジックとUIを共有でき、一度書けばほぼどこでも動くため保守コストを大幅に削減できます。また、CSSはアニメーションやレイアウトの表現力が高く、ネイティブUIでカスタムデザインを実装するより柔軟なことも多いものです。さらに、npmパッケージやフレームワークといったエコシステムが成熟しており、開発効率が高い点など、いいこと尽くしです。
Electronの仕組み
ブラウザを内包?!
ElectronはフロントエンドUIをHTM,CSS,Javascript、バックエンドロジックをNode.jsを用いたJavascript言語でクロスプラットフォームを開発できる技術です。構成が面白くで、ビルドしたアプリ内に「ブラウザ」と「Node.jsランタイム」を内包することで開発のほとんどをWeb技術で可能にし、各OSで差のない挙動で動かすことを可能にした技術です。 みんな使ってる「VsCode」,「Notion」もこの技術で作られました。
TauriというRustフレームワーク
バックエンドをGoで開発できる
Rust言語をバックエンドに採用したクロスプラットフォームのデスクトップ・モバイルアプリケーション開発フレームワークです。フロントエンドにはReact、Vue、Svelte、AstroといったモダンなWeb技術を使用でき、既存のWebアプリケーションをそのままネイティブアプリ化することも可能です。Electronと同様にWeb技術でUIを構築しますが、ChromiumをバンドルせずOSネイティブのWebViewを利用するため、生成されるバイナリが非常に軽量でメモリ消費も少なくなります。バックエンドにRustを採用していることで、メモリ安全性と高いパフォーマンスが保証され、セキュリティ面でも優れた設計となっています。また、Tauri v2からはiOSやAndroidといったモバイルプラットフォームにも対応し、デスクトップとモバイルの両方を単一のコードベースから構築できるようになりました。Rustの学習コストはやや高いものの、パフォーマンスやセキュリティを重視する開発者や、軽量なアプリケーションを配布したい場合に非常に有力な選択肢となります。
WailsというGoフレームワーク
バックエンドをGoで開発できる
Wailsは、Go言語でデスクトップアプリケーションを構築するためのフレームワークです。バックエンドにGoの高速性と堅牢性を活かしながら、フロントエンドにはReact、Vue、Svelteといった馴染みのあるWeb技術を使用できる点が特徴となっています。Electronと似たアプローチを取りますが、ChromiumをバンドルせずOSネイティブのWebViewを利用するため、生成されるバイナリが非常に軽量になります。GoとJavaScript間のバインディングが自動生成され、Goで定義した関数をフロントエンドからシームレスに呼び出せるため、型安全性を保ちながら効率的に開発を進めることができます。また、ホットリロードにも対応しており、開発体験も快適です。TauriがRustをバックエンドに採用しているのに対し、WailsはGoを採用しているため、Goのシンプルな文法や豊富な標準ライブラリ、高速なコンパイルといった恩恵を受けられます。Goに慣れている開発者がデスクトップアプリを作りたい場合や、既存のGoのロジックをデスクトップアプリとして提供したい場合に有力な選択肢となります。
Special Thanks
今回このプロジェクトを実施するにあたって基板設計やはんだ,3Dプリンタの使い方を親切に教えてくれた〇〇,〇〇。 そして3Dプリンタ、ラズパイ、IoT環境を貸してくださった〇〇先生、 おかげさまで楽しかったです。ありがとうございました。