電子工作好きのためのラズパイPico W拡張基板+マルチエアーセンサ―ボード

2023-10-21 19:07:00 活動報告一覧に戻る

2台のPico W連携で遠隔制御

こんにちは、fireflakeのはちまるです。耳慣れないかもしれませんが、MQTTという通信方式をご存じでしょうか?シンプル、軽量、省電力で、一対一だけでなく一対多や多対多の通信も出来るという事で、IoT界隈では人気の通信方式です。MQTTはマッチングサービスに似ていて「特定のラベルが付いたデータ」を「そのラベルが欲しい人」が受け取る仕組みになっています。以下の絵図の感じですね。
MQTTの仕組み
規模が大きいMQTTシステムになると「データを送る人」も「データを欲しがる人」もたくさんいて、多対多の通信が行われたりする訳です。 今回はそんなMQTTを使って、2台のPico Wを一対一で通信させて遠隔制御を行ってみようと思います。まず、こんな感じの2台のPico Wを用意しました。
連携させる2台のPico W
左のPico W(データを送る側)には金色のCO2センサー(MH-Z19C)が付いてます。そして右のPico W(データを欲しがる側)にLEDが付いています。では、左のPico Wが測定するCO2濃度が2000ppmを越えたら、右のPico WのLEDが光る仕組みを作ろうと思います。 ちなみにデータの流れはこんな感じになります。
データの流れ
ではでは、プログラムを書いてみますね(しばらく続くタイピング音)。・・・出来ました。まずデータを送る側である「CO2濃度を測定するPico W」のメイン部分はこんな感じです。手軽なテストという事で、MQTTサーバーはインターネット上のフリーのサーバーを使います。そのMQTTサーバーのリンクも貼っておきますね。
改めてプログラムがこれ。 ‘’’「CO2濃度を測定するPico W」のプログラム’’’ ‘’’「データを送る人」の役割’’’ # MQTTサーバーに接続する処理 MQTT_SERVER = "broker.hivemq.com" CLIENT_ID = ubinascii.hexlify(machine.unique_id()) TOPIC = b"co2_send_test_20231021" c = MQTTClient(CLIENT_ID, MQTT_SERVER) c.connect() while True: co2 = get_co2_data() oled_show(co2) # CO2データをMQTTサーバーに送る処理 c.publish(TOPIC, co2.encode()) time.sleep(3) c.disconnect() そして、受信側である「LEDを光らせるPico W」のメイン部分はこんな感じです。 ‘’’「LEDを光らせるPico W」のプログラム’’’ ‘’’「データを欲しがる人」の役割’’’ # MQTTサーバーから来たCO2濃度を判定する処理 def sub_cb(topic, msg): if int(msg.decode("utf-8")) > 2000: # 2000ppmより上なら led.on() # LEDをONにする else: led.off() # そうじゃないならOFFにする # MQTTサーバーに繋げる処理 MQTT_SERVER = "broker.hivemq.com" CLIENT_ID = ubinascii.hexlify(machine.unique_id()) TOPIC = b'co2_send_test_20231021' c = MQTTClient(CLIENT_ID, MQTT_SERVER) c.set_callback(sub_cb) c.connect() c.subscribe(TOPIC) while True: # CO2データが来ていないか確認する処理 c.wait_msg() time.sleep(3) c.disconnect() これで「CO2濃度を測定するPico W」 が測定しているCO2濃度が2000ppmを越えたら、「LEDを光らせるPico W」のLEDが光る仕組み、が出来たはずです。電源投入すると、「LEDを光らせるPico W」のLEDは消えた状態です。ちなみにこの2台のPico Wは同じ場所に置いていますが、通信の状態としては上の絵図のように、一度インターネットを介して繋がっています。
2台のPico Wに電源投入した状態
写真だと見づらいのですが、このときのCO2濃度は758ppmでした。
758ppm
では「CO2濃度を測定するPico W」に息を吹きかけますね。しばらく吹いていると、ディスプレイの表示が2000ppmを越えました。2417ppmになっています。
2417ppm
それを受けてLEDが光ります。
LEDが点灯したところ
そしてCO2濃度が2000ppmを下回ると、LEDは消えました。こんな風に、2台のPico Wを組み合わせる事で、遠隔からのデータ送信を介した制御を行う事も出来ます。 今回は2台のPico Wを同じ場所に置いたので分かりづらいですが、実際はインターネットが繋がるところならどれだけ離れていてもOKなので、例えばすぐには見に行けない場所にセンサーやボタンのついたPico Wを設置しておいて、そこで何か起きたら自分のそばに置いているPico Wに何らかの動きをさせる、という仕組みも比較的簡単に作ることが出来ます。 また、今回はフリーのMQTTサーバーを使いましたが、例えばAmazonのクラウドサービスであるAWSを使えば自分だけのMQTTサーバーを使う事も出来ます。(期限付きの無料枠もありますね。)
今回は遠隔制御の2例目という事で、MQTTを使った話でした。プログラムを書いて現実世界のものを動かせるのって楽しいですよね。ではではまた。恒例の宣伝になりますが、X/Twitterを始めてみたので良かったらフォローお願いします。

活動報告一覧に戻る

集まった金額

  • ¥294,741
0 %

目標は ¥150,000 に設定されています。

プロジェクトは 2023/11/15 に達成し、2023/12/15に募集を終了しました。

プロフィール

  • fireflake


  • fireflakeは、普段は農業向けの小さなサービスを行っています。私たちは、自分自身で作る事の可能性を大事にしており、その可能性を、出来るだけ分かりやすく、そして豊かに伝えていきたいと考えています。 また私たちは、抽象的で壮大な物語ではなく、人々が生活し労働している、一つ一つの生きた現場や現実を大事にしています。私たちはそのような現場や現実で生きる人々の一助になる、プロダクトとサービスを作っていきたいと考えています。
  • fireflakeさんへ意見や質問を送る

特典としての商品・サービス

【U1】ベースボード生基板 [送料・税込み]

¥ 500

受付終了

電子工作の腕に自信がある方に向けた、ベースボードの生基板単体の商品です。ご自分で各種部品を用意してハンダ付けをすると、ベースボードが出来上がります。 ※写真は開発中のもののため、後で差し替えを予定しています。

お届け・提供予定時期

2023年12月下旬頃

サポーター数 7  | 数量限定あと 3

【K3】ベースボードキット(Pico Wなし、センサー類なし) [送料・税込み]

¥ 3,500

受付終了

ベースボードの持つ機能だけを使って何かを作りたい、あるいは、ドーターボードを自作して、それをベースボードに搭載してオリジナルシステムを作りたい、という方に向けたキットです。 ※写真は開発中のもののため、後で差し替えを予定しています。

お届け・提供予定時期

2023年12月下旬頃

サポーター数 3 

【K2】空気環境測定システム製作キット(Pico Wなし、センサー類なし) [送料・税込み]

¥ 4,600

受付終了

空気環境測定システムを製作するための、センサー類を含まないキットです。「空気環境測定システムを作りたいけれど、センサー類は自分で用意したい」という方に向けたものです。

お届け・提供予定時期

2023年12月下旬頃

サポーター数 6 

【K1】空気環境測定システム製作キット(Pico Wなし、センサー類あり) [送料・税込み]

¥ 8,800

受付終了

空気環境測定システムを製作するための、センサー類を含むキットです。キットを製作してPico Wを搭載する事で、空気環境測定システムが完成します。 ※写真は開発中のもののため、後で差し替えを予定しています。

お届け・提供予定時期

2023年12月下旬頃

サポーター数 4 

【S2】[ハンダ済]空気環境測定システム製作キット(Pico Wなし、センサー類あり) [送料・税込み]

¥ 9,400

受付終了

こちらは【K1】空気環境測定システム製作キットに対して、ハンダ付けを終えた商品です。Pico Wを搭載する事で、空気環境測定システムが完成します。 ※写真は開発中のもののため、後で差し替えを予定しています。

お届け・提供予定時期

2023年12月下旬頃

サポーター数 2 

【S1】[ハンダ済]空気環境測定システム製作キット(Pico Wあり、センサー類あり) [送料・税込み]

¥ 11,600

受付終了

こちらは【K1】空気環境測定システム製作キットに対して、ハンダ付けを終えた商品です。この商品だけあれば、他の部品購入や、Pico Wへのプログラム書き込みをする事なく、すぐに空気環境測定システムを動作させられます。 ※写真は開発中のもののため、後で差し替えを予定しています。

お届け・提供予定時期

2023年12月下旬頃

サポーター数 10 

<追加>【U2】マルチエアーセンサーボード生基板 [送料・税込み]

¥ 500

受付終了

支援いただいた方からご要望をいただき追加しました。 マルチエアーセンサーボードの生基板単体の商品です。 ご自分で各種部品を用意してハンダ付けをすると、マルチエアーセンサーボードが出来上がります。

お届け・提供予定時期

2023年12月下旬頃

サポーター数 2  | 数量限定あと 8

<早割>【K1】空気環境測定システム製作キット(Pico Wなし、センサー類あり) [送料・税込み]

¥ 7,040

受付終了

空気環境測定システムを製作するための、センサー類を含むキットです。キットを製作してPico Wを搭載する事で、空気環境測定システムが完成します。早割限定価格で5セットをお届けします。 ※写真は開発中のもののため、後で差し替えを予定しています。

お届け・提供予定時期

2023年12月下旬頃

サポーター数 5  | 数量限定あと 0

<早割>【S1】[ハンダ済]空気環境測定システム製作キット(Pico Wあり、センサー類あり) [送料・税込み]

¥ 9,280

受付終了

こちらは【K1】空気環境測定システム製作キットに対して、ハンダ付けを終えた商品です。この商品だけあれば、他の部品購入や、Pico Wへのプログラム書き込みをする事なく、すぐに空気環境測定システムを動作させられます。早割限定価格で5セットをお届けします。 ※写真は開発中のもののため、後で差し替えを予定しています。

お届け・提供予定時期

2023年12月下旬頃

サポーター数 5  | 数量限定あと 0

thumbnail

\このプロジェクトが気に入ったら/

いいね!するとどうなるの?