TPSGW9ページへ戻る

LPWAの通信について

ここでは、実際の通信の設定と送受信の方法について説明します。

プライベート通信の場合

import lpwa	#lpwaの通信モジュールです。
import rfn	#lpwaの通信モジュールを使いやすくする為のファイルです。

ファイルシステムの中に"rfn.py"として準備されている必要があります。

各通信モードOPENを行います。

使用例

>>> lpwa.reg(rfn.Open,rfn.SF7)          #回線をLoRa変調SF12でOPENします。 
データの送信について
>>> spkt="123456"		        #送信データを変数に作成します。
>>> lpwa.reg(rfn.Post,spkt)	        #ポストレジスタに送信したいデータを置くと送信されます。
データの受信について
>>> rpkt=lpwa.reg(rfn.Get,rfn.Post)	#ポストレジスタから読み込むと受信したデータを受け取れます。
>>>rpkt
-3				        #受信できなかった時、エラーコードを返しますが、この時に受信モードに切り替わります。
>>> rpkt=lpwa.reg(rfn.Get,rfn.Post)
>>>rpkt
(b'Telepower Tst', b'\x00\x14\x8eC\x00\x00\x00\x9a', -78, 7)	#受信ができると受信情報がタプルとなって返ります。
>>>rpkt[0]							#タプルの一つ目は受信データです。
b'Telepower Tst'						# bytearray形式で取得できます。
>>>rpkt[1]							#タプルの二つ目は送信元アドレスです。
b'\x00\x14\x8eC\x00\x00\x00\x9a'
>>>rpkt[3]							#タプルの三つ目は受信時のRSSI値です。
-78
>>>rpkt[3]							#タプルの四つ目は受信時の信号ノイズ比(SNR)です。
7

送信データの作成について

PYTHONではASCII文字列を扱うには便利ですが、バイナリバイト配列を作るには不便です。
そのような場合には

bytearray()

関数が便利です。
bytearrayで作った配列は書き換えが可能ですので、通信構造を作った後に中身だけ数値が変わるような場合、便利に使えます。

 

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2023-07-03 (月) 14:16:04