FLINT LoRa無線シールド(E220-900T22S for Arduino)

購入はこちらから

概要

920MHz帯域のプライベートLoRaモジュールをArduinoシールドの形にしました。

LoRaは長距離通信を特徴とした無線通信規格です。見通し距離は1km以上の長距離通信が可能です。(通信速度は1.7kbps ~ 62.5kbps)

クレアリンクテクノロジー社のLoRa通信モジュール、E220-900T22S(JP)を搭載しました。技術基準適合証明を取得していますので、日本国内で使用ができます。プライベートLoRaですので、E220-900T22S(JP)同士の通信が可能です。各種Arduino UNOサイズのマイコンボードから使用が可能です。信号線が3.3V系統のマイコンボードにも切り替えで対応する事が可能です。アンテナはTX915-JK-11が付属。

Arduino側からLoRa通信モジュールのON/OFFの制御や、動作状態を取得可能

ArduinoのD11をHIGHにすると、LoRaモジュールの電源供給がOFFになります。省エネやLoRaモジュールのリセット用途に。J1にジャンパーピンが刺さっている状態で使用できます。J1がオープンの状態では常に電源供給がONです。

D8の状態を見る事で、LoRaモジュールがBusy状態か確認できます。D8がLOWの時にBusy状態です。J8にジャンパーピンが刺さっている状態で使用できます。

Grove端子が2個搭載

センサーや入力スイッチなどを接続できるGrove端子を搭載しています。3.3V・5.5V切り替え式ですので、多くのGrove製品に対応します。

ギャラリー

仕様

  • 電源: Arduinoより供給
  • 表示: LED( Power / RX / TX / LoRa(モジュールの電源状態表示) / AUX(Busy状態表示)
  • 搭載LoRaモジュール: クレアリンクテクノロジー E220-900T22S(JP)
  • モジュールモード切替: Arduino側より制御(M0/M1)
  • LoRaモジュール電源電圧: 5V(信号線は3.3V)
  • アンテナ端子: SMA
  • Grove端子電圧: 5V・3.3Vスライドスイッチ切り替え式(VCC・信号線)
  • レベル変換: BSS138
  • 内容物: 基板・アンテナ(TX915-JK-11)・ピンソケット

以下、E220-900T22S(JP) の仕様

  • 周波数: 920.6MHz ~ 928.0MHz
  • 変調方式: LoRaスペクトラム拡散方式
  • 帯域幅: 125kHz ~ 500kHz
  • 拡散率: 5 ~ 11
  • 伝送速度: 1.7kbps ~ 62.5kbps
  • 送信出力: 13dBm:20mW以下
  • 受信感度: -129dbm
  • 消費電流(3.3V動作時): 送信時/43mA 受信時/8.2mA
  • 動作モード(4種類): データ送受信モード・WOR送信モード・WOR受信モード・Config/DeepSleepモード(コマンドによるパラメータ設定モード)

基板の説明

LoRa関係の機能

LoRa PINスイッチ

LoRaモジュールとの通信するPINを設定します。D0/D1(Arduino標準のRX/TXピン)か、D5/D6

LoRa RESETスイッチ

押している間は、LoRaモジュールの電源がOFFになります。

LoRa Power LED

LoRaモジュールに電源が供給されている時に点灯します。

AUX LED

LoRaモジュールがBusy状態の場合に点灯します。マイコンからLoRaモジュールにコマンドを送信し処理している場合に点灯します。LoRaモジュールがOFFの状態の時にも点灯します。つまり、このLEDが点灯している状態では、LoRaモジュールはコマンドを受け付けられない状態です。

TX・RX LED

マイコンとLoRaモジュールの通信状態を表示します。TXがLoRaモジュール→マイコン、RXがマイコン→LoRaモジュールの通信です。

LoRa Power Enable ジャンパーピン

ジャンバーピンをショートした状態で、マイコンのD11をLOWにするとLoRaモジュールの電源はONです。HIGHだとOFFになります。ジャンパーピンを外すとONの状態で固定です。

AUX status ジャンパーピン

マイコンのD8でAUXの情報が取得できます。AUX LEDが点灯している時、D8はLOWになります。

Grove関係の説明

VCC(SW4/SW7)

Grove端子の電源電圧を変更します。5V↔3.3V

SCL/SDA/A0/A1(SW2/SW3/SW5/SW6)

信号線の電圧を変更します。5V↔3.3V

たとえば、M5社の販売するモジュールは、電源電圧を5V・信号線電圧を3.3Vを選択します。

その他

D12スイッチ

ArduinoのD12に接続されています。プルアップはされていないので、pinMode(12, INPUT_PULLUP ); で使用します。

MPU IO Voltage

Arduinoマイコンボード側の信号線の電圧に合わせて変更します。Arduino UNO・Arduino Leonardoは5V、ESPr One 32STM32 Nucleo-64では3.3Vを選択します。

使用ピン

  • D0/D5・・・RX(Arduino側)
  • D1/D6・・・TX(Arduino側)
  • D8・・・AUXスタータスを取得 pinMode(8, INPUT);
  • D9・・・M0設定 pinMode(9, OUTPUT);
  • D10・・・M1設定 pinMode(10, OUTPUT);
  • D11・・・LoRaモジュール電源制御 pinMode(11, OUTPUT);
  • D12・・・SW10 pinMode(12, INPUT_PULLUP);

D0/D1はArduinoの標準UARTピンですが、Arduino UNO R3などはD0/D1はPCとの通信に使用しているので、SoftwareSerialを使いD5/D6を使用してLoRaモジュールとのUART通信を行います。

使用ピンの変更

マイコンや他のシールドによって、このシールドで使うピンを変更したい時は、裏面のハンダジャンパーを他のピンと銅線でつなぐ事で、LoRaモジュールで使用するピンを変更する事が出来ます。下記例はESPr One 32の場合です。

ピンヘッダをハンダ付けする

付属のピンヘッダをハンダ付けするには、Arduinoに刺した状態で行います。

端の1ピンをハンダ付けしてみて、基板とすきまが開いているようであれば修正します。はんだは少なめにします。反対の端もハンダ付けして隙間が無いか確認しながら行います。両端の隙間な無いようであれば、残りのピンをハンダ付けします。この時に、長くはんだを温めているとArduino側のピンソケットも壊れますので、5秒以内で手早く行います。

プログラムに関して

Arduinoライブラリを公開しました。(2023/10/22)

ArduinoIDEの「ライブラリの管理」から、「FLINT」を検索して「FLINT_E220-900T22S-JP」をインストールします。

「ファイル」→「スケッチ例」→「FLINT_E220_900T22S_JP」→「send_receive_string」を選択し、サンプルスケッチを表示します。

このスケッチは、Arduino Uno R3、Arduino Leonardo、ESPr® One 32用のスケッチです。各マイコンボードに対応するには、スケッチ前半のコメントアウトされた部分を変更します。

ワンポイント

このスケッチでは通信の相手先の設定は、周波数チャンネルの指定を「0x0A」・送信方法「固定送信モード」に変更します。

例えば、FLINT LoRa無線USBドングル(USB_E220-900T22S)と通信する場合、mode3で「<00><08><00><00><62><00><0A><43><00><00>」を設定し、mode0で「<00><00><0A>1234567890」などと送信します。

Arduino UNO R4の対応について

このライブラリは、Arduino UNO R4 Minima / Wifi の対応はβ版です。スケッチ例で //for Arduino Uno R3 の方を有効にして、RX_pin 0 TX_pin 1 とします。SoftwareSerialであれば通信できるようですが、動作確認中です。

関連品

パソコンやRaspberry PiからLoRa通信したい場合には、USBタイプが便利です。パソコンを使ったデバッグやRaspberry Piを使った組み込み用など用途が広がります。

FLINT LoRa無線USBドングル(USB_E220-900T22S)

資料

購入はこちらから