使い捨て電子タバコ上にウェブサーバーを立ててウェブページをホスト
使い捨ての電子タバコ上にウェブサーバーを立て、ここにウェブページをホストすることにエンジニアのボグダン・イオネスク氏が成功しています。
Hosting a WebSite on a Disposable Vape :: BogdanTheGeek's Blog
https://bogdanthegeek.github.io/blog/projects/vapeserver/イオネスク氏はここ数年、友人や家族から使い捨ての電子タバコを集めています。当初、使い捨て電子タバコを集めていたのは「バッテリー回収」のためだったそうです。しかし、近年の使い捨て電子タバコはUSB-Cポートを搭載しているなど、急激な進化を遂げているとイオネスク氏は指摘。
そこで、イオネスク氏が使い捨て電子タバコを分解してみました。すると、集積回路は特定用途向け集積回路(ASIC)ではなく「PUYA」と刻印された小さな集積回路だったそうです。イオネスク氏は「この名前はほとんどの人が聞いたことがないはずです」と記しています。
イオネスク氏によると、PUYAは「フラッシュチップでよく知られる、非常に高性能な小型のマイクロコントローラー」です。PUYAの公式サイトには、同社は2016年に設立された中国の低消費電力不揮発性メモリチップサプライヤーであると記されています。
なお、イオネスク氏がPUYAを初めて知ったのは、超小型電子機器を専門とするシステムアーキテクトのジェイ・カールソン氏が運営するブログだったと明かしています。
イオネスク氏によると、同氏は過去1年間でPUYAのマイクロコンピューターであるPY32ベースの集積回路を搭載した使い捨て電子タバコをかなりの数、収集してきたそうです。どれも同じメーカーの異なるモデルの使い捨て電子タバコだったそうですが、「タバコメーカーの宣伝をするのは私の役割ではないので、ブランド名は伏せておきます」とのことで、詳細なブランド名は明かされていません。
このPY32ベースのマイクロコンピューターには「PUYA C642F15」と刻印されているそうですが、このモデル番号らしきもので検索しても、マイクロコンピューターのスペックなどの情報はほとんど得られなかったそうです。しかし、「pyOCD」で調べてみると、フラッシュメモリが「24KiB」、メモリ(RAM)が「3KiB」であることが明らかになりました。フラッシュメモリが「24KiB」であるということは、マイクロコンピューターは「PY32F002B」である可能性が高いと、イオネスク氏は指摘しています。
「PY32F002B」のCPUは動作周波数が24MHzのCortex-M0+で、フラッシュストレージは24KiB、SRAMは3KiBです。このスペックについて、イオネスク氏は「10年前のスマートフォンではGoogleがほとんど読み込めませんが、このマイクロコンピューターはその100倍遅いです」と表現しています。
そんなマイクロコンピューターを使って何かできないかとイオネスク氏は模索しており、これを使ってウェブサーバーをホストするというアイデアに思い至ります。
Wi-Fiやイーサネットが登場する前の時代、インターネットに接続するのにダイヤルアップモデムを使わなければならなかった時代があります。ほぼすべてのUSBシリアルデバイスは、実はダイヤルアップモデムをエミュレートしており、モデム間のデータはSLIPと呼ばれるプロトコルを使って転送されていました。
Linuxは記事作成時点でもSLIPをサポートしているため、slattachユーティリティを使えばあらゆるIPパケットの送受信ができます。必要なのは適切な形式でデータをネットワークに送り、仮想端末を用意することだけだそうです。また、使い捨て電子タバコのマイクロコンピューターはすべてのセミホスティングをtelnetポート経由で転送できるそうです。セミホスティングを用いることで、使い捨て電子タバコのマイクロコンピューターを「モデム」として利用することが可能になります。しかし、これではウェブサーバーとは言えません。TCP/IPで通信するには、IPスタックが必要です。そこで、イオネスク氏はIPスタックとして「uIP」を利用。なお、イオネスク氏がuIPを選んだ理由は、ファイルサイズが小さく、RTOSを必要とせず、他のプラットフォームへの移植も容易だからだそうです。なお、SLIPコードをセミホスティング対応にすると、「ウェブサーバーが半分の時間で動作するようになった」とイオネスク氏は記しています。
当初、使い捨て電子タバコのマイクロコンピューター上で動作するウェブサーバーは、pingが「約1.5秒」ほどで、パケットロスは50%、シンプルなページの読み込みには20秒以上かかったそうです。しかし、SLIPコードをセミホスティング対応にすることで、pingは「20ミリ秒」まで減少し、パケットロスもなくなったとのこと。ページ全体の読み込みも約160ミリ秒で完了したそうです。
なお、実際に使い捨て電子タバコ上に立てたウェブサーバーでホスティングしているウェブページは、以下から閲覧可能。ただし、記事作成時点では504エラーが表示され、正確に表示することができませんでした。
504 Gateway Time-out
http://ewaste.fka.wtf/なお、ソーシャル掲示板のHacker News上では使い捨て電子タバコのような「安価で高性能なマイクロコンピューター」の名前が挙げられており、わずか4~5ドル(約590~740円)で購入できるドングル「UZ801 4G LTE」なら、Wi-Fiと4Gを備えた完全なLinuxマシンを作成できるという意見もあります。
・関連記事 ArmコアとRISC-Vコアどっちも搭載した小型マイコンボード「Raspberry Pi Pico 2」が届いたのでフォトレビュー - GIGAZINE