私は「ストレンジャー・シングス」シリーズの大ファンで、次のシーズンが待ちきれません。まだご覧になっていない方のために説明すると、シーズン1では、2人のキャラクターが、下に文字が書かれたクリスマスライトを使って、異なる次元を越えてコミュニケーションをとるシーンがあります。
1年前にこれのレプリカを作りましたが、シーズン4の配信が迫っているので、もっと大きくて良いバージョンを作ることにしました。このライトは壁に掛けることができ、友達や家族、さらには見知らぬ人ともコミュニケーションを取ることができます。
このプロジェクトに必要なもの
- Raspberry Pi 4 または Raspberry Pi 3
- Raspberry Pi用USB電源アダプター
- Raspberry Pi OSを搭載した8GB(またはそれ以上)のmicroSDカード。Raspberry Piに 最適なmicroSDカードのリストをご覧ください。
- 12V WS2811 LED 2本(1本でも使えますが、文字間隔を広くするには2本の方が見栄えが良いです)
- 12ボルト電源(標準的な12V電源であればどれでも使えます)
- ジャンパーケーブル
- ワイヤーストリッパー
- はんだ付けまたはワイヤーナット
- 白黒プリンターと用紙
- はさみ
- 押しピン
Raspberry Piでストレンジャー・シングスのクリスマスライトを作る方法
始める前に、Raspberry Pi OSがセットアップされていることを確認してください。まだセットアップしていない場合は、Raspberry Piの初回セットアップ方法、またはヘッドレスインストール(キーボードと画面なし)の方法を解説した記事をご覧ください。
1. gitをインストールします。これにより、github.comからコードをクローンできるようになります。
sudo apt-get update && sudo apt-get install -y git
2.リポジトリをクローンし、作成されたディレクトリに移動します。
git clone https://github.com/rydercalmdown/stranger_things_lights.git
cd stranger_things_lights
3.インストール コマンドを実行して、必要なすべての基本コンポーネントと Python コンポーネントをインストールします。
make install-pi
4.付属のコネクタを使って、 WS2811の2本のケーブルを接続します。1本だけでも使えますが、文字間隔を広く取るには2本の方が見栄えが良いと感じました。
Tom's Hardware の最高のニュースと詳細なレビューをあなたの受信箱に直接お届けします。
5. Pi のGPIO ピン 18 をWS2811 ストランドのデータ ピンに接続します。
6. WS2811の12V線を12V電源のプラス端子に接続します。私はワイヤーナットを使って接続しました。
7. WS2811ストランドのアースを12 ボルト電源のマイナス端に接続し、メス端のジャンパー ケーブルも接続します。
8.ジャンパー ケーブルをRaspberry Pi のアース ピンに接続します。
9.プッシュピン (または他の好みの方法) を使用して、 WS2811 ストランドを壁に固定します。
画像
1
の
2

10.テキスト エディターからアルファベットの各文字を希望のサイズで印刷します。
11.お好みの LED の下に文字を切り取って貼り付けます。
12. Raspberry Pi に戻り、任意のテキスト エディターで worker/app.py ファイルを開きます。
# in the stranger_things_lights directory
nano worker/app.py
13.マッピング辞書を編集して、ピンを文字と一致させます。ピンはゼロインデックスなので、ストランドの最初のピンは0、最後のピンは99になります(ストランドが1つしかない場合は49になります)。最後のLEDの下に文字「A」がある場合は、99を割り当てます(LEDが1つしかない場合は49)。
14.サーバーコンポーネントを起動します。5000番ポートでバックグラウンドで実行が開始されます。インターネットからの公開メッセージを許可するため、セキュリティ上の理由からサーバーは別々に実行するように設計しましたが、個人で使用する場合は、Raspberry Piで両方実行できます。
make run-server
15.ワーカー コンポーネントを起動して、サーバーからのメッセージを受信します。
make run-worker
16. 12V電源を接続します。これはRaspberry PiのUSB電源とは別です。
17.ネットワーク上のどこからでもRaspberry PiのIPアドレスとポートにアクセスします。私のネットワークでは、ブラウザに以下のコマンドを入力しました。
http://10.0.0.15:8000/
18.サーバーにメッセージを送信します。注意を促すためにライトが少し点滅した後、すぐにライトに文字が1つずつ表示されます。
このサービスをインターネットに公開して、友人や家族がメッセージを送信できるようにするオプションがあります。ただし、ルーターやファイアウォールのポートを開くと、常にリスクが生じることをご承知おきください。そのため、一時的な設定に留めることをお勧めします。
ルーターやモデムルーターの組み合わせによっては、ポート転送のオプションがある場合があります。その場合は、ルーターのポート80をRaspberry PiのIPアドレスに、ポート8000をRaspberry Piに転送できます。これにより、ブラウザから自宅のIPアドレス(例えばhttp://10.0.0.0/)を入力すると、Raspberry Piで稼働しているサーバーに転送され、そこからメッセージを送信できるようになります。
より上級のユーザーの場合は、TLS 終了を備えたクラウドベースのリバース プロキシの設定も検討できますが、友人や家族と共有する場合は、上記で十分でしょう。