# LoRaWAN モジュール(433/470MHz和868/915MHz) {docsify-ignore-all} *** :memo:**[概要](#概要)**      :octocat:**[サンプルコード](#サンプルコード)**      :electric_plug:**[回路図](#回路図)**      🛒**[購入リンク](https://www.aliexpress.com/store/product/M5Stack-New-LoRaWAN-Module-433-470Mhz-868-915MHz-with-Internal-Antenna-and-MCX-External-Antenna-Port/3226069_32953098569.html?spm=a2g1y.12024536.productList_5885011.pic_2)** ## 概要 **LoRaWAN**モジュールはLoRaチップ(SX1276)とMCU内蔵の小型LoRa端末モジュールです。完全なLoRaプロトコルスタックが組み込まれており、UARTまたはsimple ATコマンドを利用してLoRaWANモジュールを開発することができます。 デフォルトUART config: "9600, 8, n, 1" (8ビットデータ, ノーパリティ, 1ストップビット) ?> "LoRaWAN"シルクスクリーンの隣の5つの穴はLoRaWANモジュールのファームウェアアップデート用です。 ## 特徴 - サポートバンド: 433/470MHz , 868/915MHz - データレート: 0.018-38.4kbps - 出力: 17 ± 0.5dbm - ADR(Adaptive Data Rate)サポート - アンテナ内蔵 ## パッケージ内容 - 1x LoRaWAN モジュール ## アプリケーション - オートメーターリーダー - スマートホーム - リモート灌漑システム ## ピンマップ |RHF76-052_UART | ESP32 Chip | |:--------------|:-----------| |RXD | GPIO16 | |TXD | GPIO17 | ## 関連リンク - **[公式ビデオ](https://www.youtube.com/channel/UCozgFVglWYQXbvTmGyS739w)** - **[フォーラム](http://forum.m5stack.com/)** - **[LoRaWAN Info](http://wiki.ai-thinker.com/sx127x-052) (LoRaWAN)** - **データシート** - [ATコマンド for LoRaWAN](http://wiki.ai-thinker.com/_media/rhf-ps01509_module_lorawan_class_ac_at_command_specification_-_v4.4.pdf) - **[LoRaWAN 地域パラメータ](https://lora-alliance.org/sites/default/files/2018-04/lorawantm_regional_parameters_v1.1rb_-_final.pdf)** ## サンプルコード ### Arduino IDE これは2つのLoRaWANモジュール間通信のサンプルです。`3.6 Point to Point communication with LoRa` of [LoRaWAN User Manual](http://wiki.ai-thinker.com/_media/lora/docs/rhf76-052_ho_to_use_ai-thinker_s_lorawan_modem.pdf)のセクションを参考にしてください。 機能:ボタンBを押すと、433MHz帯を用いて文字列「Hello World」を送信します。ボタンCを押すと、868MHz帯を用いて文字列「Hello World」を送信します。ボタンAを押すと画面をクリアします。 注:M5Stack用のLoraWanプログラムはコンパイルする前に、以下のパスに解凍する必要があります。 `C:\Users\\Documents\Arduino\libraries` *完全なソースコードは[こちら](https://github.com/m5stack/M5-ProductExampleCodes/tree/master/Module/LORAWAN/Arduino)。* ```arduino /* device_A.ino */ #include #include #define SerialUSB Serial // declaration M5.begin(); SerialUSB.begin(9600); lora.init(); delay(2000); // must delay for lorawan power on // 433MHz frequency initialization lora.initP2PMode(433, SF12, BW500, 8, 8, 20); // 868MHz frequency initialization lora.initP2PMode(868, SF12, BW500, 8, 8, 20); // send string lora.transferPacketP2PMode("hello world"); // receive data short length = 0; short rssi = 0; memset(buffer, 0, 128); length = lora.receivePacketP2PMode(buffer, 128, &rssi, 1); ``` ```arduino /* device_B.ino */ #include #include #define SerialUSB Serial // declaration M5.begin(); SerialUSB.begin(9600); lora.init(); delay(2000); // must delay for lorawan power on // 433MHz frequency initialization lora.initP2PMode(433, SF12, BW500, 8, 8, 20); // 868MHz frequency initialization lora.initP2PMode(868, SF12, BW500, 8, 8, 20); // send string lora.transferPacketP2PMode("hello world"); // receive data short length = 0; short rssi = 0; memset(buffer, 0, 128); length = lora.receivePacketP2PMode(buffer, 128, &rssi, 1); ``` ## 回路図