ボクにもわかる CSVxUDP方式
by bokunimo.net

CSVxUDPについて

 「CSVxUDP」は、主にセンサ値のCSVデータを Wi-Fi 上でUDP送信するセンサ用データ伝送フォーマットです。
 このデータ形式は、筆者がLAN上でのIoT機器の学習用に定義し、CQ出版社のトランジスタ技術2016年9月号で公開し、以降、筆者が製作する様々な機器で使用しています。また、2022年からは「CSVxUDP」と表記しています(CSV Cross UDP Beacon 送信機&受信機)。

 具体的な説明については、書籍「ラズパイ/M5Stack用サンプルで学ぶ IPネットワーク通信プログラム入門」の第1章と第2章で解説しています。
 本ページでは、CSVxUDP方式の概要と補足情報を掲載しています。また、GitHub Pagesの「udp:センサーデータ伝送フォーマット「CSVxUDP」(CSV Cross UDP)」にも同様の情報を公開しています。

CSVxUDP方式の概要

 CSVxUDPは、下表の一例のように、 5 バイトのデバイス名、1 バイトの区切り文字「_」、1 バイトの識別番号、区切りコードの 1 バイトのカンマ、CSV ペイロード、および LF コードで構成されています。

トラブルシューティング

CSVxUDP パケットの受信に関する問題

 CSVxUDPのパケットが受信できない場合は、以下の原因が考えられます。

ネットワーク接続エラー

 ネットワークケーブルやWi-FiのSSIDとパスワードの設定を確認してください。

IPアドレス設定エラー

 ルーターでDHCPサーバー機能が有効になっていることを確認してください。

AP Isolation(隔離)機能

 AP Isolation(隔離)機能を備えたルーターで構築されたWi-Fi LAN上に機器がある場合、ルーターを経由してパケットが届かない場合があります。Wi-Fi LANを他のユーザーと共有しない場合は機能をオフにしてください。(AP アイソレーション機能は、ルーター内の端末デバイス間のパケット転送を分離する機能です。)

ブロードキャストの問題

 Wi-Fiルータによっては、端末間でブロードキャストされたパケットを破棄します。その場合は作成した送信のブロードキャストIPアドレス「255.255.255.255」を「192.168.1.XX」などのユニキャストに切り替えてください。ルーターのフィルターをオフにする方法もありますが、セキュリティ対策が不十分になる場合があります。

パケット廃棄機能

 ネットワーク機器のセキュリティ機能、隔離機能、ループ防止機能の誤動作、またはパケット廃棄機能の誤動作によって、CSVxUDPのパケットが破棄される場合があります。

 パケット廃棄機能は、本来、不要な通信パケットを破棄する機能です。CSVxUDPは片方向の UDP 通信のため、ネットワーク機器のブリッジ機能が不要なパケットと誤認識し、破棄してしまう可能性があります。
 この場合は、片方向の通信に加えて、双方向通信を併用することで修復や回復することができます。
 Pingを利用するのも解決策の一つです。PCやLX Terminal上で「ping 192.168.1.XX⏎」のようなPingコマンドを入力してください。Pingを繰り返すうちに、CSVxUDPの送信が可能になると思います。
 または、ゲートウェイ、ワイヤレス アクセス ポイント、またはスイッチング ハブを再起動します。DHCPサーバーを搭載していない機器のみを再起動する場合は、再起動後にpingなどの双方向通信を行う必要があります。
 修復後も片方向通信のみが続くと、ブリッジ機能により再度パケットが破棄されてしまいます。この場合、定期的に双方向通信を使用する何らかのアプリが必要です。

参考文献・関連サイト

by bokunimo.net


書籍「IPネットワーク通信プログラム入門」

下記の書籍の第1章と第2章でサンプル・プログラムを用いて「CSVxUDP」を解説し、後の6章~10章、14章の各章の一部で応用方法を紹介しています。

IoTマイコンの入出力をワイヤレス通信で自由自在
ラズパイ/M5Stack用サンプルで学ぶ
IPネットワーク通信
プログラム入門
CQ出版社の販売ページ(クレジットカードで送料無料):
https://shop.cqpub.co.jp/hanbai/books/42/42241.html

Amazonの販売ページ:
https://www.amazon.co.jp/dp/478984224X
B5変型判 256ページ
定価3,300円(税込)
JANコード:JAN9784789842242
2023年5月1日発行
2023年4月21日発売

ご注意

当サイト等で紹介したプログラムや製作品のご利用は自己責任でお願いします。


by bokunimo.net