リモート局LRA1はスタンドアロンで動くのでラズパイや外部マイコンからの時刻設定は出来ない
GPSも無い、RTCバックアップも無い
という状況で基地局LRA1から時刻をLora通信で受け取って自身にセットしてみた
という状況で基地局LRA1から時刻をLora通信で受け取って自身にセットしてみた
最初に決めごととして通信先頭が"002" だったら時刻設定コマンド、その場合続いて Clock値が入ってくるとした場合
■基地局LRA1
10 Send "002";Clock
20 End
20 End
■リモート局LRA1
10 Recv 5000
20 If Stat=10 Then
30 If ToInt(Rxd(8))=48&&ToInt(Rxd(9))=48&&ToInt(Rxd(10))=50 Then
40 Gosub _calc_clock:Clock=B
50 Endif
60 Endif
70 Stat=0
80 Print "20";DATETIME(Clock)
999 End
30000 _calc_clock
30010 B=((Chr(ToInt(Rxd(11))))*100000000)
30020 B=B+((Chr(ToInt(Rxd(12))))*10000000)
30030 B=B+((Chr(ToInt(Rxd(13))))*1000000)
30040 B=B+((Chr(ToInt(Rxd(14))))*100000)
30050 B=B+((Chr(ToInt(Rxd(15))))*10000)
30060 B=B+((Chr(ToInt(Rxd(16))))*1000)
30070 B=B+((Chr(ToInt(Rxd(17))))*100)
30080 B=B+((Chr(ToInt(Rxd(18))))*10)
30090 B=B+(Chr(ToInt(Rxd(19))))
39999 Return
こんな感じで基地局LRA1から貰ったClock値をリモート局LRA1でセットする
これで Clock値がズレていく件は優先度が低くなって一旦保留にできそう
基地局LRA1でラズパイからClock値をセットするのはこちら
以上
0 件のコメント:
コメントを投稿