こんにちは! テクニカルディレクターのキー坊です。
前回SwitchbotのセンサーとNode-REDを使って既存製品のセンサーとの連携ができるかを試ました。 ラズパイでNode-REDにSwitchBotの人感センサーの検知情報を送れるか検証してみた
SwitchbotはAPIが公開されてるので、柔軟に連携できます。ただ、今後自分の家や環境に合わせてセンサーやbotを自作するかもと考えると、ここらで電子工作にも手を出してみたい欲が出てきました。
電子工作って大体の人が学校を卒業したら趣味でもないとやらないと思うんですが、僕もまさにその通りでして今回実に20年ぶりにやります。工業高校卒なこともあって、当時はかなり得意でマイコン使ったり、サーボの制御などもやったりしてました。
なので、現状としては下記の通りです。
電子工作わかるマン
↓
記憶リセット ←今ここ
↓
勉強 (やるとは言ってない)
↓
記憶復活 (できるとはry)
つまり、希望的観測をもってゆるりと進んでいこうと思ってるわけです。
その第一歩としての「Lチカ」をやろうと思います。ただ、ラズパイでLチカというと使い古されたネタでして、検索するとたくさん出てきますし、LIGでも過去にチャレンジしている記事があります。 コピペでLチカ!ラズベリーパイでロボット制御を始めよう【Lチカ編】
同じことをやってもつまらないですし、そもそも僕の最終的な目標は「Node-REDと連携して色々やりたい」です。
なので、LチカもNode-REDからやれたらいいんじゃないか? と考えて記事にしてみました。つまり、今回の記事を映えるタイトルにするなら「Philips HueみたいなLEDを自作してみた!」みたいな感じでしょうか?(映えは大事!笑)
こうして既存製品になぞらえると、たくさんの気づきや改善点がわかったりします。例えば今回で言うと、色の変更機能がないとかですね(僕が使うのはただの白色LEDなので)
それと、こういう既に世にあるものを作るのって「車輪の再発明」とか言われるんですが、わざわざやる意味って開発者の思考(試行)や、思想をなぞって自分の経験値として落とし込むことにあるんですよね。
タイトルだけを見ると「ハイハイ、LチカLチカ」って思えるかもですが、こういう「作るものに対する考察」も大事なので前提長くなりましたがお話させていただきました。
皆さんも自分で何か作ってみたいと思ったとき、こういった考察を挟んでみることで新たな発見があると思うのでやってみてください!
では、早速作っていきましょう!!
準備
- ブレッドボード
- LED
- ジャンパー線
- 抵抗
- ラズパイ4(OSインストール済み、Node-RED起動済み。手順がわからない方は下記の記事を参考)
※LEDのデータシートとかがなかったので、抵抗は1KΩを使いました。
Node-REDでエンジニア的DIY!遊び感覚でアプリやAPIを作ってみよう
配線はこちら。配線図の右側の下から3番目のGPIO16とその上にあるGNDのピンを使いました。写真だと以下のような感じに繋いでます。
色んなセンサーを使いたいと思って以前買ったキットを取り出したら、ブレッドボードとラズパイをつなぐためのケーブルもしっかりあってよかったです。
実は2枚目の写真だとピン穴がズレてるんですが、最初動かなくて焦りました(後で気づいて撮りなおしてたんですがこれだけ忘れてた)。おっさんはこの細かい穴を見ると目がチカチカして辛いんだなとご理解ください……。
Node-REDの設定
GPIOを制御するのに以下のノードを使います。
node-red-node-pi-gpio
右上のメニューから、「パレットの管理」を選択します。表示された画面に「ノードを追加」というタブがあるので、そちらを開き上のノードを検索して追加してください。
後は、以下の写真のように繋いであげて、デプロイすれば完成!! 2枚目の写真のようにGPIOは自分の使っている番号に変更してください。
0が消灯で、1が点灯になっているので、インジェクションノードのボタンをポチポチ押して遊んでみてください。
ポチッ
ポチッ
という感じです。Node-REDのフローのほうを工夫すれば、自動で何度光らせてもちゃんとLチカしたりすることもできるので、その辺りは興味があればご自分で試してみてください!!
まとめ
スマート家電的Lチカはどうでしたでしょうか。
ここまでできれば後は、Google Homeなどのスマートスピーカーと組み合わせるもよし、前回記事にしたSwitchbotと組み合わせるもよし、アイデア次第で色んな楽しみ方ができそうです。
実際に実用するならラズパイZeroとユニバーサル基盤にはんだ付けしたり工夫はいると思うのですが、遠隔操作できるデバイスを自作できることがわくわくしますよね。
まだまだ電子工作レベルは足りてませんが、何か面白いものが作れたらまた記事にしようと思います。