下記のデバイスにて LAN 側の接続台数が増えた場合の対策として、複数の nRF9160 を ESP32 に UART 接続して通信帯域が拡大するか検証してみた。
テスト構成
nRF9160評価ボード 2枚
https://ssci.to/8999
https://www.actinius.com/icarus-som-dk
ESP32-POE-ISO 1枚
https://www.olimex.com/Products/IoT/ESP32/ESP32-POE-ISO/open-source-hardware
ESP32 の UART に nRF9160 を2台接続する。
LAN側 には、LinuxPCを接続してUDPでデータを分割受信するPython3のスクリプトを作成。
(ソケットを複数つかって帯域を埋めるように実装した)
Internet 側には、nodered サーバーを用意して、要求されたオフセット位置のデータをUDPで分割送信するフローを作成。
ESP32 は、LAN 側から受信したパケットを交互に2台のnRF9160へ送信するように実装した。
データサイズは200KB程度。
SIMは、SORACOM の PLAN-D を 2枚使用。
テスト結果
電波状況などいろいろな要因で転送速度が変化するので実測値は出さないが、同一時間帯にて、複数回試行して平均値をとったところ、nRF9160が1台構成と、2台構成とで、概ね2倍程度の速度差が出ることを確認できた。
テストプロブラムは、ESP32に最大3台までnRF9160を UART 接続できるように実装してあるので、SIMが調達できたら、3台構成でテストしてみようと思っている。
ーー> 追記: 3台で動作確認しました。帯域も3倍まで拡がっていました。