ラズベリーパイとNode-REDでAlexaからLEDを制御する - 簡単ステップバイステップガイド
必要な部品と材料
| Raspberry Pi 3 Model B | ×1 |
| Arduino UNO | ×1 |
| LED(汎用) | ×2 |
| 抵抗 100Ω | ×1 |
| ブレッドボード(汎用) | ×1 |
| Amazon Alexa / Amazon Echo | ×1 |
使用するアプリとオンラインサービス
- Arduino IDE
- Node-RED
プロジェクト概要
AlexaとArduinoをラズベリーパイ経由でNode-REDを使って連携させるのは驚くほど簡単です。必要なのはNode-REDモジュールを2つインストールし、Alexa LocalノードとArduinoノードでフローを構築するだけです。ここではデモとして、Alexaの音声コマンドで2つのLEDをオン・オフするプロジェクトを紹介します。
手順1: ラズベリーパイのセットアップ
ラズベリーパイを使用可能な状態にセットアップします。OSのインストール、ネットワーク接続、SSH有効化などを行ってください。
手順2: Node-REDのインストール
ラズベリーパイにNode-REDをインストールします。公式ドキュメントに従い、bash <(curl -sL https://raw.githubusercontent.com/node-red/linux-installers/master/deb/update-nodejs-and-nodered) で最新版を導入できます。
手順3: Arduinoノードのインストール
Node-RED用のArduinoノードをインストールします。このプロジェクトではFirmataを使用するため、Arduino UNOにStandard Firmataスケッチを書き込んでおく必要があります。Arduino IDEの「ファイル」→「スケッチ例」→「Firmata」→「StandardFirmata」から書き込み可能です。
手順4: Alexa Localモジュールのインストール
Node-REDのパレット管理から「node-red-contrib-alexa-local」を検索してインストールします。これによりAlexaからのローカルネットワーク経由のコマンドを受信できるようになります。
手順5: Node-REDフローの構築
以下のJSONをNode-REDエディタの「インポート」→「クリップボード」から読み込んでフローを作成します。2つのAlexa Localノード("yellow light"、"green light")がそれぞれArduinoのピン11、ピン12に接続されたLEDを制御します。
動作テスト
フローをデプロイ後、Alexaに「アレクサ、イエローライトをオンにして」「アレクサ、グリーンライトをオフにして」などと話しかけると、対応するLEDが点灯・消灯します。Node-REDのデバッグノードでメッセージの流れを確認できます。
配線図
LEDのアノードをArduinoのピン11とピン12に、カソードを100Ω抵抗を介してGNDに接続します。ArduinoとラズベリーパイはUSBケーブルで接続します。
製造プロセス
- Raspberry Pi制御アクアポニックスシステム:構築ガイド & コード
- Raspberry PiとPythonでAmazon AlexaからChromecastを制御
- Bluetooth 制御 Raspberry Pi ロボットに音声フィードバックを追加して構築
- Arduino & Raspberry Pi でインターネット制御ビデオストリーミングロボットを構築
- Pythonで作るWi-Fi制御Raspberry Piロボット - ステップバイステップガイド
- DHT11温湿度センサーで作る温度アラート – LEDとピエゾブザーで視覚/聴覚通知
- Android加速度センサーで操作するラジコン車両:Raspberry Pi・Arduino・モーターシールド連携
- Arduinoでアイアンマンを自作:部品・センサー・手順ガイド
- ArduinoとBluetoothで作るスマート紛失防止タグ「Find Me」
- DIY Arduino加湿器コントローラー:リレーを用いた安全な高電圧制御
- MobBob:Arduino製ロボットをAndroidスマホでシームレスに制御