警告:ソーラーパネルまたはバッテリーを接続する場合、ピンの極性は次のとおりです。

警告:LIイオンバッテリーの充電コントローラーが必要な場合は、バッテリージャンパーを接続する必要があります。

Arduino IDEは、Micro USBポートを介してソフトウェアのアップロードに使用できます。使用する前に、IDEを構成する必要があります。最初のことは、ボードマネージャーを介して取締役会をインストールすることです。
ファイル - >設定に移動します。次のリンクを追加のボードマネージャーURLに追加します:https://github.com/skylabiot/loraedge_basictracking/raw/master/package_skylab_index.json。
ボードパッケージは、Skylabを検索して、ツール - > Boards-> Boards Manager ...からダウンロードできます。
ツールを介してボードを選択 - >ボード - > Skylabボード - > Skylab Lora Edge。
例のスケッチは、ファイル - >例 - > Skylab lora Edge-> Basicloraaを介してロードできます。
Basicloraaスケッチの依存関係は次のとおりです。
Arduino samd21低電力ライブラリ:https://www.arduino.cc/en/reference/arduinolowpower
Arduino RTCライブラリ:https://www.arduino.cc/en/reference/rtc
Adafruit BME280ライブラリ:https://github.com/adafruit/adaffruit_bme280_library
Adafruit LMS303加速度計ライブラリ:https://github.com/adafruit/adafruit_lsm303_accel
cmaglieによるFlashstorageライブラリ:https://github.com/cmaglie/flashstorage
モードをアップロードした後、例の例として、シリアルモニターを9600ボーレートで開くことができます。システムは、構成されたdev_eui、join_eui、app_key(MSB first)の表示から始まります。 dev_euiはLR1110チップから要求され、その特定のチップに固有のものです。このキーは、使用済みネットワークのコンソールで使用する必要があります。 join_euiとapp_keyはコードで構成されており、使用済みのネットワークコンソールで与えられた正しいキーに対して変更する必要があります。正しく構成されている場合、デバイスは自動的に結合されます。
0x01を送信して、Wi-FiおよびGNSSスキャンペイロードを要求します(回答はポート2および3にあります)。
0x02を送信して、現在の構成を要求します(回答はポート44にあります)。
0x03を送信して、現在のバッテリー電圧を要求します(回答はポート10にあります)。
構成ダウンリンク形式は次のとおりです。
| 0 | 1-2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 |
|---|---|---|---|---|---|---|---|---|
| 導かれた | 間隔 | ビーコン | Wi-Fi | GNSS | モーションアクティベーション /時間 | モーション間隔の持続時間 | モーションセンサーしきい値レジスタ | モーションセンサー期間レジスタ |
バイト0:LEDこのバイトは、ステータスLEDを構成します。
バイト1および2:間隔これらの2バイトは、メッセージ間の標準間隔時間を構成する時間です。 0に設定された間隔は現在の設定を維持し、新しいインターバル時間を設定しません。最大時間は65535分です。
バイト3:ビーコンこのバイトは、deビーコンがオンになっている時間を構成します。時間は数分です。最大時間は255分です。 0に設定すると、ビーコンはオンになりません。
バイト4:Wi-Fiこのバイトは、Wi-Fiペイロードをオンまたはオフにします。
バイト5:GNSSこのバイトは、GNSSペイロードをオンまたはオフにします。
バイト6:モーションアクティベーション /時間このバイトは、動きが検出された場合に送信間隔を設定します。最大255で時間が数分で、0に設定するとモーション検出割り込みが無効になります。
バイト7:モーション間隔の持続時間このバイトは、最後の動き検出後にシステムがモーション間隔を使用する持続時間を設定します。最大255の時間は数分です。0に設定すると、このバイトは無視されます(現在の設定が使用されます)。
バイト8:モーションセンサーしきい値レジスタこのバイトは、モーションセンサーしきい値レジスタを設定します。バイト7が0に設定されている場合、このバイトは無視されます(現在の設定が使用されます)。
バイト9:モーションセンサー期間登録このバイトは、モーションセンサー期間レジスタを設定します。バイト7が0に設定されている場合、このバイトは無視されます(現在の設定が使用されます)
システムは、ダウンリンクと同じ形式でポート44のアップリンクで設定された構成を送信することにより、ダウンリンクを確認します。
LED ON、5分間の間隔、ビーコン、Wi-Fi、GNSSのペイロードはオン、モーション検出はオフになります。
01 00 05 00 01 01 00 00 00
導かれ、600分間隔、ビーコンなし、Wi-Fiペイロードオン、GNSSペイロードオフ、モーション検出オフ:
00 15 36 00 01 00 00 00 00 00
現在のLEDおよびインターバル設定、ビーコンなし、Wi-Fiペイロードオフ、GNSSペイロードオン、モーション検出オフを維持します。
02 00 00 00 00 01 00 00 00 00
ビーコンを5分間オンにし、モーション検出をオフにし、他のすべての現在の設定を維持します。
02 00 00 05 02 02 00 00 00 00
現在のLEDとインターバル設定、ビーコン、Wi-Fiペイロードオン、GNSSペイロードオフ、1分間の送信間隔でのモーション検出、最後のモーション後4分間使用されるモーション間隔、7に設定されたモーションしきい値レジスタ設定、モーション持続時間レジスタは3に設定されています。
02 00 00 00 01 00 01 04 07 03
モードの例のスケッチは、4種類のペイロードを送信できます。これらのペイロードタイプは、使用されるポート番号によって識別可能です。 TTNデコーダーの例は、このgithubページ(ExampledeCoderttn.js)にあります。
これは、Wi-Fiおよびセンサーペイロードです。このペイロードには、3つのWi-Fiポイントとセンサーデータの情報があります。フォーマットは次のとおりです。
| 0 | 1-6 | 7 | 8-13 | 14 | 15-20 | 21 | 22-23 | 24-25 | 26 | 27 |
|---|---|---|---|---|---|---|---|---|---|---|
| RSSI 1 | Mac 1 | rssi 2 | Mac 2 | RSSI 3 | Mac 3 | バッテリー電圧 | 温度 | プレッシャー | 湿度 | モーションアクティベーション |
バイト0、7、14:wi-fi rssi
これらのバイトには、スキャンされたWi-FiポイントのRSSI /信号強度があります。これらの値は、署名された整数として解釈する必要があります。
バイト1〜6、8〜13、15〜20:Wi-Fi Mac
これらのバイトには、スキャンされたWi-FiポイントのMACアドレスがあります。
バイト21:バッテリー電圧
このバイトには、生のバッテリー電圧値があります。正確な電圧は、次のように計算できます。電圧=(float)((3.3 / 255) *((4.7 + 10) / 10) *(バッテリー電圧));
バイト22〜23:温度
これらのバイトには温度値があります。摂氏度の正確な温度(◦c)は、温度=(float)(温度 / 100)で計算できます。
バイト24〜25:圧力
これらのバイトには、空気圧値があります。ヘクターパスカル(HPA)の正確な圧力は、次のように計算できます。空気圧=(float)(圧力 / 10);
バイト26:湿度
このバイトの湿度は%にあります。
バイト27:モーションアクティベーション
このバイトは、通常の間隔の場合に0を表示します。動きの間隔中の場合、このバイトは、モーション間隔に残りの時間を与えます。
これはGNSSペイロードです。このペイロードには生のGNSSデータのみがあり、サイズが変動します。
このペイロードは、「私は目を覚ましている」メッセージとして使用されます。デフォルトでは、24時間ごとに設定されます。これは、値「ControlTime」を変更することで変更できます。フォーマットは次のとおりです。
バイト0:バッテリー電圧
このバイトには、生のバッテリー電圧値があります。正確な電圧は、次のように計算できます。電圧=(float)((3.3 / 255) *((4.7 + 10) / 10) *(バッテリー電圧));
LR1110は、参加時に自動化されたメッセージを送信し、その後24時間ごとに送信します。このメッセージは無視できます。
ビーコン設定が1に設定されると、ビーコンがアクティブになります。デバイスはネットワークを離れ、869800000 Hz周波数(公式LORA周波数以外)で毎秒ランダムなLORAペイロードを送信します。 LEDのアクティベーションが1に設定されている場合、緑色のLEDはオンになります。設定時間に到達するとビーコンが停止します。システムはネットワークに再び参加し、以前と同じように動作します。
| UCピン | ボードピン | Arduino IDEの名前 |
|---|---|---|
| PA02 | A0 | A0、DAC0 |
| PA05 | ain5(バッテリー) | ain5 |
| PA06 | D0 | D0 |
| PA07 | D8 | D8 |
| PA08 | D3 | D3 |
| PA09 | D4 | D4 |
| PA10 | 忙しい(lr1110) | 忙しい |
| PA11 | イベント(LR1110) | イベント |
| PA14 | nreset(lr1110) | nreset |
| PA15 | LED RED | ledr |
| PA16 | モシ | モシ |
| PA17 | SCK | SCK |
| PA18 | NSS(LR1110) | NSS |
| PA19 | 味噌 | 味噌 |
| PA20 | int2(lsm303agr) | INT2 |
| PA21 | int1(lsm303agr) | int1 |
| PA22 | SDA | SDA |
| PA23 | SCL | SCL |
| PA24 | D-(USB) | pin_usb_dm |
| PA25 | D+(USB) | pin_usb_dp |
| PA27 | PA27(パッド) | PA27 |
| PA28 | PA28(パッド) | PA28 |
| PA30 | swdclk/tck(デバッグピン) | - |
| PA31 | swdio/tms(デバッグピン) | - |
| PB02 | PB02(パッド) | PB02 |
| PB03 | PB03(パッド) | PB03 |
| PB08 | LNA(GNSS) | LNA |
| PB09 | int3(lsm303agr) | INT3 |
| PB10 | LEDグリーン | レッジ |
| PB11 | LEDブルー | ledb |
| PB22 | TX | PIN_SERIAL_TX |
| PB23 | Rx | PIN_SERIAL_RX |
| バージョン | 変更 |
|---|---|
| 1.0 | 最初のリリース。 |
| 1.2 | ダウンリンク、Wi-Fiペイロード、ラジオビーコンのセンサー統合によるより多くの構成のサポート。 |
| 1.3 | Basicloraaスケッチの変更:ダウンリンクを変更してバイトを減らします。 LORAカバレッジがない場合は、バッテリー排出の結合問題を修正します。モーションアクティベーションを1に設定することにより、モーション検出のサポートを追加しました。 |
| 1.3.1 | Basicloraaスケッチに参加しなかった後、問題の結合を修正しました。 |
| 1.4 | ポート2アップリンク(BYTE 27)を更新しました。例を含む、ダウンリンク形式を更新しました。ダウンリンク確認アップリンクを追加しました。再起動時にリセットされないように、設定をEEPROMに保存する機能。 |
| 1.4.1 | ファイルのクリーンアップ。 |
| 1.5 | パープルLEDは、参加しようとするときにオンになります。欠落しているWi-Fiペイロードバグを修正します。将来の使用のためのALC同期のサポート。コメントを追加することでコードをより読みやすくしました。 |
| 1.5.1 | コピーを容易にするために、シリアルモニターにゼロを備えたパッド入りEUI /キー。 Lorawan、ファームウェア、ブートローダーのバージョンは、シリアルモニター上で16進数で印刷されました。 |
| 1.5.2 | 起動後および最初の動き検出後に最初のペイロードを送信しないことを修正しました。 |
| 1.5.3 | 設定を要求するためにダウンリンク関数を追加しました。モーションインターバルタイマーのバグを修正しました。 |
| 1.5.4 | 再起動後に常に正しくロードされるわけではありません。 |