Raspberry Pi Pico W × Micropythonで2つのボード間でwifi通信して、温湿度センサー(DHT11)の値をOLEDディスプレイに表示させてみました。
Raspberry Pi PicoのMicroPythonのファームウェアをセットアップや開発環境の設定については下記をご覧ください。
【MicroPythonのファームウェアをセットアップ】
設定方法は下記のURLに記載されています。
URL: https://www.raspberrypi.org/documentation/rp2040/getting-started/#getting-started-with-micropython
また、当ブログでは下記の記事に記載しています。
今回の注意点としてはファームウェアをダウンロードする際にRaspberry Pi Pico Wのほうを選択してください。
【開発環境の設定】
当ブログでは下記の記事に記載しています。
準備が整ったらUSBケーブルをコンピューターに接続します。
BOOTSELボタンを押しながら起動するのは初期設定のときのみで、普段は普通の接続で大丈夫です。
Thonnyを起動し、インタプリタとして「MicroPython(Raspberry Pi Pico)」を選択します。
これは、右下のボックスをクリックして行うことができます。
準備ができたところで、プログラムを作成します。
今回は、サーバー側とクライアント側の2つのプログラムを用意する必要があります。
実行する手順は下記の通りとなります。
1. サーバー側のプログラムを実行してサーバ側のIPアドレスを取得
2. 1でエラーが出なければ、ファイル名を main.py で保存して、電池やACアダプターで起動
3. クライアント側のプログラムにサーバー側のIPアドレスを記載して実行する。
その1 サーバー側で取得した温湿度センサーの値をクライアント側で OLEDに表示する。
クライアント側のtime.sleep( * )をあまり早い秒数にするとエラーになるので、適度に調整してください。
サーバ側(今回はデータを送る側)
また、dht11を使うにあたり、下記のリンクのライブラリーを使用しております。
上記のコードの場合はdht.pyをコピーしてpicoにdht.pyの名前で保存しておく必要があります。
Server側の接続はGND⇔GND(青)、3V3⇔VCC(赤)、GP15⇔DOUT(黄)となっています。
クライアント側(今回はデータを受信する側)
なお、OLEDディスプレイを使う際はライブラリーをインストールする必要があります。
OLEDのライブラリーの取得
ツール > パッケージを管理
実行結果は下記の通りです。
Client側の接続はGND⇔GND(青)、3V3⇔VCC(赤)、GP1⇔SCL(白)、GP0⇔SDA(黄)となっています。
参考にしたサイト
wifi通信について
Wireless Communication Between Two Raspberry Pi Pico W Boards
ESP32でソケット通信をしてみる
ESP8266用 MicroPythonチュートリアル 4.1. WiFi の設定
ESP8266用 MicroPythonチュートリアル 5.3. シンプルなHTTPサーバー
DHT11について
【Raspberry Pi Pico】DHT11センサで気温湿度測定器を作製 お得なpcライフ
DHT11 temperature and humidity sensor on Raspberry Pi Pico freva.com
留言