こんにちは、皆さんは家にIoTを導入されておりますでしょうか。
本投稿では、Raspberry Pi 4とステッピングモータを用いてカーテンを動かすまでをご紹介したいと思います。
具体的に実施した事項は下記画像の通りです。
Raspberry PiにNode-REDを入れ、Node-RED上でAPIサーバを立てます。APIサーバへのデータ入力についてはスマホアプリ(PCも可)から実施し、モータを回転させてカーテンを動かしています。同時にIoTクラウド(NTTコム提供のThings Cloud)にもデータを送ることでクラウドログに記録しています。
今回使用した機器は、
・Raspberry Pi 4
・モータドライバL298N(Amazon)
・ステッピングモータ(Amazon)
です。
構造としては下記画像のように、回転させたい向きのアプリ上のボタンを押すことでAPIをたたき、ステッピングモータを指定した向きに回転させています。
Node-REDフローは下記の通りです。スマートフォンアプリ上で指定した回転向きに対応する入力フローに入り、pythonファイルを読み込み可能なexecフローを使用しGithubプログラムを動かし、http通信ノードによってモータを回転させています。templeteノードは、IoTクラウドへの送信データ用、s/usノードはIoTクラウド(Things Cloud)へのMQTT通信用です。(本投稿ではThings Cloudに関する内容は対象外としたいと思います。)
具体的なコードは、下記サイトを参考にしています。
・https://qiita.com/zoo_dj/items/0c7f632967e266bac64a
・https://github.com/gavinlyonsrepo/RpiMotorLib(上記Qiita記事内で紹介)
これらのプログラムをRaspberry Pi, Node-REDフローに書き込むことによって、アプリ上で指定した向きにステッピングモータを回転させることができ、釣り糸で引っ張ることでカーテンを動かすことが可能になりました。
今後は、APIサーバとなるRaspberry PiとIoT ReceiverとなるRaspberry Pi PicoをBluetoothなどの無線で繋ぎ、カーテン側のデバイスの縮小化を図っていきたいです。また、現在ローカルネットワーク内を想定したシステム構成だったので、インターネットを通した制御を可能にしたいと思っています。
今回の記事がQiitaへの初めての投稿になりました。先日のIoTLT(2023/12/26開催)で初登壇をした際、IoTLTのアドベントカレンダーへのコントリビューションということで背中を押してくださいました。いつもQiitaには閲覧のみでお世話になっていましたので、背中を押していただき感謝を申し上げたいと思います。