今回お客様から「安価なカメラモジュールでAI画像解析を行って、LoRaで長距離伝送をしたい」と
ご要望頂きましたので、今安価に販売されているLoRaモジュールの「E220-900T22S」を使ってみました!
今回は送信側をESP32で制御。
受信側は、PCで行いたいと思います。
安価なカメラモジュールでのAI画像解析は後ほど投稿しますね!
ハードウェア
1、E220-900T22S 2セット
https://www.switch-science.com/products/8672
2、ESP32-S3-DevKitC-1-N8 1個
https://akizukidenshi.com/catalog/g/gM-17073/
3、USBシリアル変換モジュール 1個
https://akizukidenshi.com/catalog/g/gM-11007/
配線
プログラム
【受信側】
受信はPC上で起動するフリーソフトの「SerialDebug2」を使用して、モニタリングをした。
【送信側】
const int ledPin = 48;
void setup() {
Serial.begin(9600); // シリアル通信を9600bpsで開始
pinMode(ledPin, OUTPUT); // LEDピンを出力モードに設定
}
void loop() {
delay(900); // 900ms待機
digitalWrite(ledPin, HIGH);
// 16進数「0xFF, 0xFF, 0x01, 0xFF」をシリアル通信で送信
Serial.write(0xFF); //ブロードキャスト上位
Serial.write(0xFF); //ブロードキャスト下位
Serial.write(0x01); //チャンネル番号
Serial.write(0xFF); //DATA
Serial.print("\r\n"); // CRLF(改行)をシリアル通信で送信
delay(100);
digitalWrite(ledPin, LOW);
}
送信する側は、送信するたびにボードに内蔵されてあるLEDを点灯させています。
テスト
それでは送信機を離れたところまで持っていき、
無事データを受信するか試してみましょう!!
送信端末は、こんな感じで手作りしました!
少々見た目は悪いですが、試作機なのでOK!
電源はモバイルバッテリーを使用
それでは会社の端っこまで送信端末を持って、移動してみましょう!!
今回のプログラムは1秒間隔で「0xFF」を送信するプログラムですが、
無事PCで受信することが出来ました!
まとめ
今回は安価なLoRaモジュール「E220-900T22S」を使用しました。会社の中は全て正常に通信できました。
また送信速度も早いです。
LoRaには、「ADR」「SF」「BW」など本来は色々設定が必要で、
距離や送信したいデータ量、通信速度によって可変することが重要です。
長距離でデータを送信したい方!
開発依頼お待ちしております!
まずはお気軽にご相談ください!