このページでは、LoRa、Wifi等の通信環境に関する覚書をメモしています。
Omada, Outdoor Wifi
LoRaWAN
(基本用語)
アップリンクとは、無線通信で端末から基地局に向けて発射される電波や、その通信速度や周波数、それに乗せて送られる信号やデータなどのこと。
ダウンリンクとは、無線通信で基地局から端末に向けて発射される電波や、その通信速度や周波数、それに乗せて送られる信号やデータなどのこと。
ペイロードとは、送受信されるデータの伝送単位(パケットやデータグラムなど)のうち、宛先などの制御情報を除いた、相手に送り届けようとしている正味のデータ本体のこと。
TLSとは、インターネットなどのTCP/IPネットワークでデータを暗号化して送受信するプロトコル(通信手順)の一つ。データを送受信する一対の機器間で通信を暗号化し、中継装置などネットワーク上の他の機器による成りすましやデータの盗み見、改竄などを防ぐことができる。SSLの後継規格。
LSP8v2
(古いバージョン)
Dragino気象センサー
ステップ1:ファームウエアアップデートは、以下にある情報などを参考にしてSt-Link/V2経由でWindowsマシンからアップデートする。
St-Link Utilityをインストールし、地球マークの左隣のアイコンをクリックして、表示される画面でOKかなにかクリックして、ファームが焼き込まれるようなプロセスバーがあらわれれば、問題なく焼きこめているはず。
ステップ2:TeraTermなどを使ってUSBシリアル変換アダプタなどを介してDraginoとPCをシリアル接臆する。配線は、以下の通り。通信速度は9600bps。
DX <--> RX
RX <--> DX
GND <--> GND
AT+リターン でOKと出ればOK.
AT+ADR=0
AT+DR=3
で正しく届くようになるはず。
ATコマンドの例:
AT+ADR? (現時点の設定値の確認)
AT+VER?(バージョンの確認)
AT+CFG(設定の一覧を表示)
Dragino WSC1-L(公式サイト)
TTN Mapper
LoRaのシグナルの強さを測る指標
RSSI (received signal strength indication) -120 dBm ~ -80 dBm (デシベルミリワット)⇒ 数値が大きいほどシグナルが強い(ゲートウェイとデバイスの距離が近い)
SNR (Signal to Noise Ratio) -10dB~10dB (デシベル)⇒ 通常はゼロ付近。プラスは良くて、マイナスは悪い。
シグナルの強さ =(およそ) RSSI - SNRの絶対値
デバイスがゲートウェイに近いとき: RSSI 高 SNR 高
デバイスがゲートウェイから遠いとき: RSSI 低 SNR 平均
デバイスがゲートウェイからとても遠いとき: RSSI 低 SNR 低
ゲートウェイがノイジーな場所にあるとき: RSSI 高 SNR 低
スプレディングファクター(拡散係数)SF7~12 ⇒ 拡散係数が大きいほうが同じデータを時間をかけてゆっくり送出する(遠くまで届く)
Dragino LA66 USB
Dragino
SEEED SENSECAP
SenseCraft データ プラットフォーム
SenseCAP Sensor Builder
https://github.com/Seeed-Studio/Seeed_Arduino_S2110 に飛ぶ
GitHubで Code → Download ZIP で保存
Arduino IDEで [スケッチ] → [ライブラリをインクルード] → [.ZIP形式のライブラリをインストール...]
さきほどの ZIP を指定 → 完了
IDEを再起動 → [ファイル] → [スケッチ例] に Seeed_Arduino_S2110 が出ればOK
Seeed_Arduino_S2110 GitHub
XIAOの使い方
XIAO RP2040をArduiono IDEで使う上で初期設定
一番最初にファームウエアのアップデート(以下参考ページ)
Arduino環境でSeeed XIAO RP2040を使う
ファームはここからダウンロードします → https://circuitpython.org/board/raspberry_pi_pico/
それ以降は、次の手順にしたがう
Seeed Studio XIAO RP2040とArduino <公式>
各プログラの役割
SensorBuilderClass: センサーたちを管理する「まとめ役」
sensorClass: 全てのセンサーが守るべき「共通ルール(名札のテンプレート)」
sensorBMP280.h は、その「共通ルールに従って、具体的な情報を書き込んだBMP280センサー専用の名札」にあたるプログラム
Sensecapデータロガー関連
RS485 750cm 超音波レベルセンサーの接続方法 (周波数がEUから変更できない場合には、一度Restore Factory Settings を行うと良い)
S2100と12V RS485センサーの使い方 気象ステーションセンサー接続の例
Build Your Own LoRaWAN Sensor With SenseCAP S2110 XIAO LoRaWAN SensorBuilder
転倒ます型雨量計の接続方法
結線方法:片方の線をGNDに片方の線をNo.4 IOに接続する
SenseCRAFTでの設定:
Frequency PlanでAS923-LTB-Japanを選択する
Power Voltage (センサーへの供給電圧):3V,
Sensor Warm-up Time (センサーウォームアップ時間): 0 ms,
GPIO Input (GPIO入力タイプ): 「Counter Mode」を選択
Digital input (デジタル入力タイプ): Pull Highを選択(Pull Highにしてもなぜか自動的にPull Lowになってしまっていることがある)
Digital Filter (デジタルフィルター): 有効
Reboot to clear the count (再起動でカウント値をクリア): データを一度リセットする場合にはオンにするが、基本はオフ
Y = Ax + B (スケーリングファクター): 1パルスあたり0.5mmの雨量(mm)の値をAに入れる(MJ-AMEの場合0.5、MISOLは0.3、RG-15は0.2)
Unit time collection (単位時間ごとの積算): オンにすると1時間あたりの雨量を合計してから送信する(オンにしない)
InformationのMeasurementで計測できているかを確認する
以上の設定してもオフラインになってしまう場合には”Restore basic setting"`ボタンを押して、Frequency PlanでAS923-LTB-Japanを選択しなおす
電磁弁
【水の自動化】DC12Vで動く電磁弁の活用方法、使い方を解説します[組み立て/仕組み/解説]
【真似するだけ】水耕栽培の水やり・液肥を自動で投入する方法 [簡易自動化]
WIO Tracker 1110
WIO Tracker 1110+Meshtastic
Seed studio Wio Tracker 1110 - meshtastic Dev kit FULL INSTALL 動画
Flashing Meshtastic on the WIO Tracker 1110 from Seeed Studio 動画
Wio-E5 mini
Vision AI Module V2
[Tutorial] Training Custom Vision AI Model using SenseCraft AI 動画
Type of training - Object Detection Seeed Wiki
[DIY Project] Gesture Controlled Appliances using SenseCraft AI 動画
モデルアシスタント GitHub
Seeed_Arduino_SSCMA GitHub
SenseCAP Watcher
余談:C++
参考:Modbus-RTU
Modbus RTUは、産業用電子機器間で情報をやり取りするための通信ルール(プロトコル)の一種です。特に工場などで、センサーやモーター、コントローラーといった機器同士を接続するのによく使われます。
Modbus RTU通信は、主にマスターとスレーブという2種類の役割の機器間で成り立ちます。
Modbus RTUの通信は、シリアル通信(RS-485という規格がよく使われます)を介して行われます。データはバイナリ形式(0と1の組み合わせ)で送受信されるため、効率が良いのが特徴です。
Modbus RTUのメッセージフレームは、主に以下の要素で構成されています。
スレーブアドレス (1バイト): 通信相手のスレーブを特定するための番号です。0から247までの値が使えます(0はブロードキャスト用)。
ファンクションコード (1バイト): スレーブに実行させたい処理の種類を指定します。例えば、「コイルの状態を読み取る」「保持レジスターに書き込む」など、様々なコードがあります。
データ (Nバイト): ファンクションコードに応じて、具体的なデータ(読み書きするレジスターのアドレス、書き込む値、データの数など)が含まれます。データの長さは可変です。
エラーチェック (CRC: 2バイト): 送信されたデータが途中で壊れていないかを確認するための符号です。受信側は、受け取ったデータからCRCを計算し、フレームに含まれるCRCと比較することで、通信エラーを検出します。
RS-485
データを送るのに2本の電線を使います。片方の線にプラスの信号を送るとき、もう片方の線にはマイナスの信号(ちょうど逆の形の信号)を送ります。受信側は、この**2本の線の信号の「差」**を見ます。
差動伝送のおかげで、信号が弱まりにくく、ノイズにも強いため、数百メートルから1キロメートル以上の長距離でもデータを送ることができます。
1本の通信ライン(2本の電線)に、複数の機器を数珠つなぎのように接続できます(これをバス型接続と言います)。通常、1台のマスター(指示を出す機器)に対して、最大32台(リピーターを使えばもっと多く)のスレーブ(指示を受ける機器)を繋ぐことができます。
RS-485の基本的な仕組みでは、2本の線を使って「送る」か「受け取る」かのどちらか一方しか同時にできません(半二重通信)。
RS-232
古いシリアル通信規格
SDI-12
環境センサー用の通信標準。低電力が特徴。
UART
TTL
iBeacon
LoRA Relay
Remote.it
LTE Wio
Arduiono
Arduino MKR WAN 1310
RS485
ESP NOW
LPWA一般
LPWAメッシュ
CAT-M
StarLink
HOT NEW SpaceX Starlink Mesh Network Step by Step Setup 動画 TP-Link屋外Meshシステムの構築
Wifi屋外メッシュシステム
【IoT】長距離Wi-Fi① tp-link CPE510からCPE710に置き換え◇営農型太陽光発電(ソーラーシェアリング) - 2022年12月19日
【IoT】長距離Wi-Fi② tp-link CPE510でスループットが頭打ち◇営農型太陽光発電(ソーラーシェアリング) - 2022年12月21日
【IoT】長距離Wi-Fi③ tp-link CPE710の取り付け◇営農型太陽光発電(ソーラーシェアリング) - 2022年12月24日
【IoT】長距離Wi-Fi④ 2台のCPE710で中継所◇営農型太陽光発電(ソーラーシェアリング) - 2022年12月25日
TP-Link CPE710 TX and RX step by step setup for a building-to-building connection
TP-Link Outdoor CPE610 Point TO Point Configuration - TP-Link CPE610 Setup
CPE710 V2 のコンテンツ 公式HP
IoT用通信サービス
farmo
河川監視
https://www.necplatforms.co.jp/solution/waterlevel/index.html
M5Stack CAT-M UNIT をSORACOMで使う - Qiita