※)電気通信事業法の適用がある「他人の通信を媒介」するサービスとなってしまうため、本システムは一般公開しておりません。
WebSocketのデータを中継するためのWebサーバです。 PythonのWebフレームワークである Tornado を使用しています。
また、トークンや認証情報(メールアドレス、ハッシュ化したパスワード)を保存するためのDBにはSQLiteを、ORMには SQLAlchemy を使用しています。
バーチャルホストとHTTPSに対応させるために、 jwilder/nginx-proxy というDockerイメージと jrcs/letsencrypt-nginx-proxy-companion というDockerイメージを使用し、公開しました。
スマートフォンのブラウザから、ジャイロセンサーの値をRaspberry Piへ送信し、スマートフォンの傾きとRaspberryPiのカメラの傾きを連動させようと考えたのがきっかけです。
AWS IoT や Pusher を使用しなかったのは、ただ単にこのようなシステムを作って見たかったからです。
- 端末:iPhone7
- 制御ボード:Raspberry Pi 4
- Google Compute Engine f1-micro(vCPU x 1、メモリ 0.6 GB)
- サーバゾーン:us-east
- 端末地域:日本
- 動画配信:WebRTC Native Client Momo