#author("2023-07-03T14:12:32+09:00","","") #author("2023-07-03T14:16:04+09:00","","") [[TPSGW9ページへ戻る>TPSGW9]] * LPWAの通信について [#vf071dde] ここでは、実際の通信の設定と送受信の方法について説明します。~ #contents **プライベート通信の場合 [#v9530d47] import lpwa #lpwaの通信モジュールです。~ import rfn #lpwaの通信モジュールを使い安くする為のファイルです。~ > import lpwa #lpwaの通信モジュールです。 import rfn #lpwaの通信モジュールを使いやすくする為のファイルです。 ファイルシステムの中に"rfn.py"として準備されている必要があります。 各通信モードOPENを行います。 **使用例 [#m684f87f] > >>> lpwa.reg(rfn.Open,rfn.SF7) #回線をLoRa変調SF12でOPENします。 >>> lpwa.reg(rfn.Open,rfn.SF7) #回線をLoRa変調SF12でOPENします。 データの送信について >>> spkt="123456" #送信データを変数に作成します。 >>> lpwa.reg(rfn.Post,spkt) #ポストレジスタに送信したいデータを置くと 送信されます。 >>> spkt="123456" #送信データを変数に作成します。 >>> lpwa.reg(rfn.Post,spkt) #ポストレジスタに送信したいデータを置くと送信されます。 データの受信について >>> rpkt=lpwa.reg(rfn.Get,rfn.Post) #ポストレジスタから読み込むと受信したデータを受け取れます。 >>>rpkt -3 #受信できなかった時、エラーコードを返しますが、この時に受信モードに切り替わります。 -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 **送信データの作成について [#i91e7cfc] PYTHONではASCII文字列を扱うには便利ですが、バイナリバイト配列を作るには不便です。~ そのような場合には~ bytearray()~ 関数が便利です。~ bytearrayで作った配列は書き換えが可能ですので、通信構造を作った後に中身だけ数値が変わるような場合、便利に使えます。 #br