02_WifiClient1to1
CherryIoTをWi-Fiクライアントにする
光センサーの値を、別のCherryIoTのWi-Fiサーバーへ送信します。
準備する
CherryIoTとモジュールを接続する
CherryIoTの指定コネクタに以下のモジュールを接続し、CherryIoTをPCのUSB-A挿入口に接続します。
光センサーモジュール
接続先:A
2台のCherryIoTを用意する
このサンプルは、クライアント用とサーバー用の2台のCherryIoTを組み合わせて使用します。もう1台には「01_WifiServer1to1」のプログラムを書き込みます。
サンプルコード
GitHubで公開しているサンプルコードです。コードをコピーして Arduino IDEで使用します。
GitHubからコードを読み込んでいます...プログラムを書き込む
上のサンプルコードをコピーし、Arduino IDEに貼りつけます。
ボードとポートの設定を確認し、左上の 「→(書き込みボタン)」を押してCherryIoTに書き込みます。
初めて書き込む方は「はじめてのCherryIoT」で詳しい手順を確認してください。
動作確認
光センサーの明るさに応じて、サーバー側のLEDが点灯・消灯するなら成功です。
動作中、シリアルモニターにはWi-Fiの接続状況と、光センサーで測定した明るさが表示されます。
Arduino IDEの画面右上にあるアイコンをクリックすると、 画面下にシリアルモニターが表示されます。

コードの解説
指定したSSIDへ接続し、明るさを判定した結果をWi-Fiサーバーへ送ります。
GitHubからコードを読み込んでいます...Serial.begin(115200);シリアルモニターへ文字や測定値を表示するため、通信速度を115200bpsに設定します。
const char *ssid="ESP32-WiFi-1";サーバー用CherryIoTが作るWi-Fiのネットワーク名を指定します。
const char *pass="esp32wifi";サーバー側と同じWi-Fiパスワードを指定します。
IPAddress ip(192,168,0,1);接続先となるサーバー用CherryIoTのIPアドレスを指定します。
static WiFiClient client;Wi-Fiサーバーへ接続するためのclientオブジェクトを作ります。
WiFi.begin(ssid,pass);設定したSSIDとパスワードを使ってWi-Fi接続を開始します。
while(WiFi.status()!=WL_CONNECTED)Wi-Fiへ接続できるまで、接続状態を繰り返し確認します。
client.connect(ip,80);指定したIPアドレスのサーバーへ80番ポートで接続します。
float litsnsr_ad = analogRead(litsnsrPin);光センサーの値を読み取ります。
float lux = 10000 * litsnsr_v / (3.3 - litsnsr_v) / 1000;読み取った値をルクスへ換算します。
Serial.print(lux);測定した明るさをシリアルモニターに表示します。
if(client.connected()==true)サーバーとの接続が続いているかを確認します。
if(lux > 20){明るさが20ルクスを超えているかを判定します。
client.write(1);明るいときは値1をサーバーへ送信します。
delay(10);0.01秒待ちます。
else {ifの条件(明るさが20ルクスを超えている)を満たさないとき、次の処理を実行します。
client.write(2);値2をサーバーへ送信します。