複数子機からのデータ受信

ホーム フォーラム Lazurite Pi Gateway関連のソフトウエア 複数子機からのデータ受信

このトピックには 5 返信 、 2 ボイス が含まれます。 最終更新 by  Lazuriteの開発者 1号 1 年、 4 月 前.

表示中の投稿 1 (合計 6 中)
  • 著者
    投稿
  • #11481 返信

    testtest

    Lazurite920j 2台からPi Gatewayにデータをデータを送信するテストを実施しています.
    Rasberry Pi側の受信ソフトはgateway.pyを使用しています.
    920jを1台づつ電源を入れてデータ送信したところ,Rasberry Pi側で問題なく受信出来ました.
    2台の920jの電源を入れてデータを送信したところ,最初に電源を入れた920jのデータしか受信
    出来なくなってしまいました.
    複数台の子機のデータはどのようにすれば受信出来ますでしょう

    #11500 返信

    Lazuriteの開発者 1号
    キーマスター

    こちらで改めて動作確認をしましたところ、2台の920Jから送信したデータを正しく受け取ることが出来ました。

    result

    まず、問題点の切り分けとして、LEDの点灯状況から、
    ①920Jから無線が出ていない、
    ②Gatewayで受信が出来ていない
    のどちらか、切り分けをして頂きたくお願い致します。

    送信機側 (Welcome SubGHzを使用):
     青いLEDが長い時間点灯していると、それは受信機が動作していないという事になります。
     送信時に青いLEDが点灯しないと、送信していないという事になります。

    受信機側:
     受信したらオレンジのLEDが点灯します。

    #11520 返信

    testtest

    ご回答ありがとうございます.

    確認致しました.
    現在は0x41d3と0x4250のアドレスのデバイスを使用しています.
    920jからGatewayへの送信のタイミングはシリアル経由でコマンドを受信した時で,以下のコードをLoop中に記述しています.
    L\a\dを受信したらGatewayにデータ送信しています.下記の処理以外は記述していません.

    
    while(Serial.available()>0){
    
    		receivedUART[uart_count] = Serial.read(); // UART受信データを読み込む
    
    		if((receivedUART[uart_count-1] == 10) && (receivedUART[uart_count] == 13)){
    
          if(receivedUART[0] == 76){
    
              Serial.print("Send to Gateway");//受信確認用
              msg=SubGHz.send(0xabcd,0xc447, &send_data, sizeof(send_data),NULL);// Gatewayに送信
    
    			}
    
          //カウントのクリア
          uart_count  = 0;
          ///////////////////////////////////
    
    		}else{
    			uart_count++;
    		}
    	}
    

    最初に0x41d3にコマンドを送信したところ,920j上のpwrが点滅したと同時にGateway上のオレンジLEDが点灯し,データが正常に受信出来ていることが確認できました.
    次に0x4250にコマンドを送信したところ,920j上のpwrは点滅しましたが,Gateway上のオレンジLEDは点灯せず,データも受信出来ていませんでした.
    再度0x4250にコマンドを送信したところ,920j上のpwrが点滅したと同時にGateway上のオレンジLEDが点灯し,データが正常に受信出来ていることが確認できました.
    次に0x41d3にコマンドを送信したところ,920j上のpwrは点滅しましたが,Gateway上のオレンジLEDは点灯せず,データも受信出来ていませんでした.
    再度0x41d3にコマンドを送信したところ,920j上のpwrが点滅したと同時にGateway上のオレンジLEDが点灯し,データが正常に受信出来ていることが確認できました.
    上記より,デバイスが変わった最初の1回目は受信動作が失敗しているようです.
    また,受信が成功しているときは920jのpwrの点滅時間は1sec以下ですが,失敗した時は2sec程度消灯してから再点灯しておりました.

    上記より,何か受信失敗についてお分かりになられましたら,何卒ご教授宜しくお願い致します.

    #11528 返信

    Lazuriteの開発者 1号
    キーマスター

    ソフトウエアは最新のモノをご使用になられていますでしょうか?

    – 送信機が同じアドレスであること
    – シーケンス番号が同じであること(SubGHz.init()時に0に初期化し、後はインクリメントされる)

    の条件を見たした時、ゲートウェイ側は送信機が再送してきたデータであるとみなしてデータを無視するプログラムが働きます。

    最初だけ受信出来ないというのは、このプログラムが働いしている可能性があります。
    当方にて最新版のプログラムで動作確認をする限りは問題なく動作しております。

    Pythonでは表示が無いので、LazGem/sample/sample_rx.rbをご使用頂き、seq_numのパラメータをご確認頂きたく、お願い致します。

    #11529 返信

    testtest

    ご回答ありがとうございます.

    pythonのgateway.pyは先週位にダウンロードしたものですので,多分最新版であると思います.

    一度Rubyでテストしようと思っていたのですが,
    /driver/sub-ghz/DRV_802154.ko
    上記ファイルが見つからないため,断念しておりました.

    上記にも似たようなトピックがありますが,同様の理由でしょうか?

    お手数をお掛けして申し訳ありませんが,何卒ご回答宜しくお願い致します.

    #11530 返信

    Lazuriteの開発者 1号
    キーマスター

    ~/driver/sub-ghz/DRV_802154.koで動作するソフトウエアは古いバージョンとなります。
    最新版のドライバは、~/driver/LazDriver/lazdriver.koになります。

    [こちら](http://www.lapis-semi.com/lazurite-jp/contents/gateway/setup/RasPiInstall.html)をご参照頂き、ドライバやアプリケーションの再インストールをお願い致します。

表示中の投稿 1 (合計 6 中)
返信先: 複数子機からのデータ受信
あなたの情報:




× 6 = 42