AirChecker（C3/USB) 利用ガイド（サンプルプログラム説明書）
Ver.1.0.0.b
CLEALINK TECHNOLOGY Co., Ltd.

2024-05-01

AirChecker（C3/USB) 利用ガイド（サンプルプログラム説明書）

2024-05-01

目次
1 概要

32 AirChecker のハードウェア構成

3

3 Arduino 開発環境のセットアップ

3

4 サンプルプログラムのファイル構成

4

5 Arduino の起動と操作
5.1 プログラムの変更など . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
5.2 条件コンパイルの #define 定義について . . . . . . . . . . . . . . . . . . . . . . . .

5556 airchecker 起動後の動作
6.1 ３桁液晶表示について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2 LED 点灯について . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

67
7

7 ESP32C3-WROOM-02 の Wi-Fi、Bluetooth を使用する場合の注意事項について

7

CLEALINK TECHNOLOGY Co., Ltd.

2

AirChecker（C3/USB) 利用ガイド（サンプルプログラム説明書）

2024-05-01

1 概要
AirChecker（C3/USB) は、LoRa 通信での伝送電波の強度（RSSI 値）を、３桁の液晶表示により簡単に目視できる機器です。
LoRa(E220-900T22S(JP) を使った Air 伝送での通信を行うため、送信機１個、受信機１個を１セットとして動作します。
本機は MCU として ESP32C3-WROOM-02 を搭載しており、出荷時設定の状態で、PC の USB ポートあるいは、モバイルバッテリ、USB 充電アダプタ等にセットするだけで、独自に動作するようになっています。
出荷時設定では、同じファームウェアが書き込まれていますので、２個をそれぞれ電源に接続すると、送信機（送信側）になるか受信機（受信側）になるかを自動判定するネゴシエーションを実行、その後自動的に送受信動作を開始し、それぞれの受信時の RSSI 値を３桁液晶に表示します。
送受信動作は、送信側の送信後、受信側は受信した RSSI 値の表示。一定時間受信がなければ赤色 LED の点灯。
受信側は受信後、受信通知を送信側に送信。

送信側は受信通知を受信後に RSSI 値を表示し、一定時間受信がなければ赤色 LED の点灯。

を継続して行ないます。

サンプルプログラムについては、ArduinoIDE の開発環境をセットアップし、タイマーのライブラリをセットするだけで、コンパイル＆実行することができます。

また、サンプルプログラムを自由に改編して、実験装置の制作、LoRa の学習などに利用できます。

2 AirChecker のハードウェア構成
123456

MCU : ESP32-C3-WROOM-02
LoRa: E220-900T22S(JP)LCD : 3digit-LCD
LED : 6-LED,4-color
2 Shift-Register
USB : typeA

3 Arduino 開発環境のセットアップ
ArduinoIDE のセットアップの方法については、ネット検索で多数ヒットしますので、参考にしてください。
① Arduino IDE をインストールし、日本語化までを実行② AirChecker をＵＳＢポートに差し込む

CLEALINK TECHNOLOGY Co., Ltd.

3

AirChecker（C3/USB) 利用ガイド（サンプルプログラム説明書）③ Arduino のツールメニューのDEV MODULE”

2024-05-01『ボード』

をクリックし、プルダウンメニューでを選択します。

”ESP32C3④ 同じくツールメニューで ポートを確認し、ESP32-C3 が表示されたポート COMxx(mmmm ESP32-C3 ) を選択します。

⑤ファイルメニューの基本設定を選択し、『追加のボードマネージャーの URL』に

https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_dev_index.json
を記入（URL をカット＆ペースト）し “OK” をクリック。
⑥ツールメニューのボード –> ボードマネージャーを開き、ボードマネージャの検索に”ESP32”を入力し、表示された “esp32 by Espressif Systems” の バージョンの選択で、2.0.5 (推奨) を選択し、インストールボタンをクリック。

（少し時間がかかります）（ボードマネージャーは逐次更新されていますが、現状では 2.0.11 までのバージョンで動作確認をしていますが、2.0.6 以降については、シリアルモニタにタイマー割り込みのエラーが表示されます。）⑦ ツールメニューのライブラリを管理で、ライブラリマネージャーで、 ”ESP32C3_Timer_interrupt”をインストールしてください。

タイマー割り込みについての詳細はこちらを参考に

https://github.com/khoih-prog/ESP32_C3_TimerInterrupt

これで、AirChecker のためのセットアップが完了です。
（プログラムを改編し、デバッグのためにシリアルモニタを使用する場合には、Arduino のツールメニューで、USB CDC On Boot:“Enabled” を選択してください。）

4 サンプルプログラムのファイル構成
ダウンロードした

airchecker_verx.x.x.zip をそのまま解凍すると airchecker フォルダが生成され、以下のファイルが展開されます。
1
23456
78
9

airchecker.h--- ハ ー ド ウ ェ ア の 設 定 他 、 コ ン パ イ ル 時 に
設 定 で き る 値、 条 件 コ ン パ イ ル の 設 定airchecker.ino--- メ イ ン プ ロ グ ラ ム
airchecker.h--- 条 件 コ ン パ イ ル 、 各 種 I/O 定 義 な ど の 設
定 用 ヘッ ダ ファ イ ル
esp_e220900t22s_jp_lib_3.h--- E220-900T22S 用 ヘ ッ ダ フ ァ イ ル
esp_e220900t22s_jp_lib_3.ino --- E220-900T22S 用 初 期 設 定 、 送 受 信 な どLCD.ino--- ３ 桁 液 晶 表 示 ソ フ ト ウ ェ ア モ ジ ュ ー ルLED.ino--- LED 点 灯 用 ソ フ ト ウ ェ ア モ ジ ュ ー ルLoRa.ino--- LoRa 通 信 用 ソ フ ト ウ ェ ア モ ジ ュ ー ルtimer.ino--- タ イ マ ー 用 ソ フ ト ウ ェ ア モ ジ ュ ー ル

CLEALINK TECHNOLOGY Co., Ltd.

4

AirChecker（C3/USB) 利用ガイド（サンプルプログラム説明書）
10

CONFIG.hン 設 定 ファ イ ル

5 Arduino2024-05-01--- E220-900T22s(JP) の コ ン フ ィ グ レ ー シ ョの起動と操作

エクスプローラで表示された上記のファイルで、airchecker.ino ファイルをダブルクリックすると、ArduinoIDE が起動し、すべてのファイルが読み込まれます。

『マイコンボードに書き込み』ボタンをクリックするとコンパイル ～AirChecker への書き込みが実行され、airchecker が動作を開始します。

5.1 プログラムの変更など
E220-900T22S(JP) が動作する主な出荷時設定は、ＢＷ：１２５、ＳＦ：９、固定送信モード、周波数チャンネル０などです。詳細は、データシートを参照しながら、CONFIG. ｈを確認してください。
CONFIG.h は、データシートのレジスタ記載順に、各種パラメータを設定できるようになっています。アドレス、チャンネル、暗号化キーなどの直接していする数値以外は、#define の選択によって指定できます。
(#define の二重定義や設定漏れがあった場合、コンパイル時にエラーが生じます。)(WoR の設定については、WoR 機能を使用するとき（Mode1,Mode2 設定時）に有効になります。)

5.2 条件コンパイルの #define 定義についてコンパイル時に設定できる値、条件コンパイルについて説明します。この設定は、airchecker.h に集約されています。
1234567891011121314〇 プ ロ グ ラ ム の バー ジョ ン 記 載#define VERSION_NO 100// means 1.0.0

起 動 時 に ３ 桁 液 晶 に 表 示 さ れ ま す。
〇 Private Air 伝 送 の 機 器 確 認 の た め の 設 定#define MAGIC_KEY 0x54// 本 Air 伝 送 確 認 の た め の マ ジ ッ ク キ ー .
#define UNIQUE_ID 123// 本 Air 伝 送 確 認 の た め の 固 有 ID.
〇 自機番号#define MACHINE_NO 1// Machine No

上 記 バー ジョ ン 表 示 の あ と に 表 示 さ れ ま す。

CLEALINK TECHNOLOGY Co., Ltd.

5

AirChecker（C3/USB) 利用ガイド（サンプルプログラム説明書）
15161718
1920
2122232425262728
29303132333435363738394041424344452024-05-01〇 起 動 時 に 送 信 側 か 受 信 側 か の 自 動 判 定 (Negotiation) を 行 う か の 設 定#define STARTUP_NEGOTIATION 1〇 送信側動作か受信側動作を指定#define SENDER_or_RECEIVER 1// 1 : Sender / 0 : Receiver

サ ン プ ル プ ロ グ ラ ム で は airchecker 起 動 時 に 送 信 側 、 受 信 側 を 判 定 す る た めのNegotiation を 行 な い ま す の で 、 こ の 定 義 は 上 記 STARTUP_NEGOTIATION が '0'の と き に 有 効 に な り ま す。
こ の と き 送 信 側 (1) か 受 信 側 (0) か を 設 定 し 、 コ ン パ イ ル ～ デ バ イ ス へ の 書
き込 み が 必 要 で す。
〇 ３桁液晶表示を上下逆転するか否かの指定#define LCD_UpsideDown 0// 液 晶 表 示 を 上 下 逆 に す る か 否 か の 設定。

PC な ど の USB ポ ー ト の 差 し 込 み 位 置 に 対 応 。
実 装 さ れ て い る ３ 桁 液 晶 は 上 下 反 転 表 示 が 可 能 な た め、 こ の 機 能 を 実 装 し てい ま す。
〇 Arduino の シ リ ア ル モ ニ タ を 使 用 す る か 否 か の 指 定#define USE_SerialPrint 0// Use or not Serial.print() todisplay Monitor
or TerminalAp on PC'0' の 場 合 、 Serial.printf() 等 の コ ン パ イ ル 自 体 を 行 な い ま せ ん 。
ソー ス プ ロ グ ラ ム を 変 更 し て、 試 行、 デ バッ グ な ど を 行 う 場 合 に １ （有 効）に し ま す。
モ バ イ ル バ ッ テ リ ー 、 USB 電 源 ア ダ プ タ に セ ッ ト す る 場 合 と 、 Arduino で
シ リ ア ル モ ニ タ を 使 用 し な い 場 合 に は、 ０ （無 効） に し て く だ さ い。
Serial.printf() 実 行 時 に wait 状 態 に な り ま す 。
〇 受 信 可 能 な デ ー タ が 存 在 す る 場 合 に 、 RSSI 値 表 示 の み を 行 う か 否 か#define RSSI_MEASUREMENT_ONLY false // Air 受 信 時 の RSSI 表 示 の み を 行 う
場 合 true

6 airchecker 起動後の動作
起動後の動作は、下記の表示の順に移行します。
①３桁液晶の表示テスト②全 LED ４回点滅テスト③ Version 表示

CLEALINK TECHNOLOGY Co., Ltd.

6

AirChecker（C3/USB) 利用ガイド（サンプルプログラム説明書）

2024-05-01②自機番号表示～送信側、受信側自動判定の Negotiation 実行③以後 RSSI 表示

受信時の RSSI 値が表示されます。(データ受信がない場合には、最後の受信時の RSSI 値が表示されたままになります。)

6.1 ３桁液晶表示について表示される数値は受信感度を示す RSSI 値（Received Signal Strength Indication）で、３桁の数値で表示されます。

RSSI 値とは電波の強さを示す値で、単位はｄＢｍ（デシベルミリワット）です。数値の範囲は、０～－１４０ｄＢｍ程度までの１０進数で表示されますが、液晶が３桁表示になりますので、‘－’（マイナス）は省略します。この数値は大きい方（マイナスが小さい方）ほど電波は強いということになります。安定して通信（Air 伝送）ができる目安は、０～－１２０ｄＢｍ程度までです。

6.2 LED 点灯について
LED は図のように USB コネクタ側に２個（上から黄色、緑）、アンテナ端子側に４個（上から、黄色、青、赤、緑）の６個が実装されています。
LED 点灯が意味する状態は、以下になります。(サンプルプログラムでの設定)
123456アンテナ端子側 緑 ：送信機として動作している場合に点灯
アンテナ端子側 赤 ：受 信 デー タ が な い 場 合 に 点 灯
アンテナ端子側 青 ：受信機として動作している場合に点灯
アンテナ端子側 黄 ：受 信 デ ー タ の 先 頭 の Ｍ Ａ Ｇ Ｉ Ｃ Ｎ Ｏ が aircheckerの も の と 異 な る 場 合 に 点 灯。
USB コ ネ ク タ 側
緑 ： E220-900T22S(JP) の AUX の 状 態 （ LOW の 場 合 に 点 灯 ）USB コ ネ ク タ 側黄 ：リ ザ ー ブ （bluetoothLE 接 続 状 態 な ど で 使 用 ）7 ESP32C3-WROOM-02 の Wi-Fi、Bluetooth を使用する場合の注意事項
について本製品に使用している、無線マイコンモジュール ESP32-C3-WROOM-02 は、モジュール表面に刻印はありませんが、工事設計認証（技術適合認証）の取得済み品です。詳細は、以下 (ハイパ－リンク) で確認ください。

技術基準適合証明等を受けた機器の情報
また、本機器の初期状態で書き込まれているファームウェア（サンプルプログラム）は、このモジュールの無線出力を行っておりません。ユーザーによって Wi-FI, Bluetooth を実装する場合は、本CLEALINK TECHNOLOGY Co., Ltd.

7

AirChecker（C3/USB) 利用ガイド（サンプルプログラム説明書）

2024-05-01

認証番号を示した上で、ご活用ください。
（なお、本 E220-900T22S(JP) 920MHz LoRa 通信モジュー
ルは、認証番号はモジュール刻印済みです）

本サンプルプログラムで、Wi-Fi、Bluetooth を利用する場合に、認証番号の表示を行なう関数も用意しました。上記ファイル中のLCD.inoの、最下部にある Line で、#define USING_WIFI_BLUETOOTH

trueとし、適切な箇所（起動時など）で Set_SEGMENT_r(); を実行してください。”r201-220555”
３桁液晶に横スクロール表示します。

をCLEALINK TECHNOLOGY Co., Ltd.

8