簡體   English   中英

解碼二進制信號

[英]Decoding a binary signal

我正在從我的Raspberry Pi上的gpio引腳讀取以下二進制信號(這是氣象站的輸出)。

第一列是二進制高或二進制低。 第二列是它在該州花費的時間(秒)。

如何將此信號轉換為十六進制?!

...
0 14.929292
1 0.002127
0 0.006867
1 0.001393
0 0.005303
1 0.001274
0 0.006126
1 0.001361
0 0.007541
1 0.001417
0 0.005062
1 0.001474
0 0.005119
1 0.001565
0 0.004906
1 0.001587
0 0.004916
1 0.002031
0 0.006007
1 0.001479
0 0.003678
1 0.001485
0 0.000994
1 0.004142
0 0.000865
1 0.006277
0 0.003858
1 0.001288
0 0.001028
1 0.001468
0 0.000945
1 0.004138
0 0.003327
1 0.001303
0 0.001174
1 0.001318
0 0.001017
1 0.001510
0 0.001485
1 0.001080
0 0.001907
1 0.002782
0 0.001083
1 0.002012
0 0.000712
1 0.003984
0 0.001785
1 0.001291
0 0.003149
1 0.001185
0 0.001020
1 0.001719
0 0.000993
1 0.003965
0 0.001157
1 0.001346
0 0.001762
1 0.001353
0 0.003219
1 0.001090
0 0.001106
1 0.001475
0 0.001160
1 0.001079
0 0.003874
1 0.001387
0 0.001015
1 0.001168
0 0.001092
1 0.001336
0 0.002504
1 0.001466
0 0.006063
1 0.001391
0 0.001196
1 0.001460
0 0.001082
1 0.001237
0 0.005049
1 0.001654
0 0.004914
1 0.001410
0 0.002722
1 0.001601
0 47.818081
1 0.001452
0 0.007532
1 0.001438
0 0.007975
1 0.001494
0 0.003077
1 0.002131
0 0.003056
1 0.001254
0 0.002685
1 0.001372
0 0.005003
1 0.002051
0 0.006997
1 0.001608
0 0.004868
1 0.001524
0 0.002524
1 0.001397
0 0.003103
1 0.001211
0 0.002434
1 0.001328
0 0.003475
1 0.001469
0 0.003672
1 0.001384
0 0.003847
1 0.001101
0 0.001133
1 0.001352
0 0.003504
1 0.002133
0 0.003257
1 0.001070
0 0.001182
1 0.001511
0 0.003301
1 0.001482
0 0.003779
1 0.001210
0 0.001099
1 0.001396
0 0.001127
1 0.001433
0 0.001697
1 0.001434
0 0.003132
1 0.001175
0 0.001754
1 0.001520
0 0.002905
1 0.001425
0 0.003625
1 0.001155
0 0.001036
1 0.001469
0 0.001041
1 0.001422
0 0.001251
1 0.001275
0 0.003414
1 0.001446
0 0.001734
1 0.001653
0 0.000435
1 0.002349
0 0.000974
1 0.005346
0 0.003247
1 0.001265
0 0.001192
1 0.001213
0 0.001404
1 0.001349
0 0.000963
1 0.003732
0 0.001186
1 0.001220
0 0.002529
1 0.001357
0 0.002573
1 0.001700
0 0.001158
1 0.001058
0 0.002571
1 0.001314
0 0.001164
1 0.001364
0 0.124659
1 0.001485
0 0.007492
1 0.002176
0 0.006881
1 0.002083
0 0.005526
1 0.001351
0 0.005029
1 0.001528
0 0.001726
1 0.001366
0 0.002089
1 0.001258
0 0.002579
1 0.001463
0 0.001262
1 0.001487
0 0.000975
1 0.003736
0 0.002321
1 0.002073
0 0.004412
1 0.001433
0 0.002619
1 0.001390
0 0.002817
1 0.001201
0 0.003475
1 0.001512
0 0.000906
1 0.003958
0 0.003492
1 0.001581
0 0.000985
1 0.004103
0 0.001370
1 0.001046
0 0.001162
1 0.001534
0 0.001080
1 0.001510
0 0.003077
1 0.002124
0 0.003046
1 0.001293
0 0.003908
1 0.001406
0 0.001002
1 0.001109
0 0.001524
1 0.001009
0 0.001347
1 0.001448
0 0.000950
1 0.003651
0 0.001133
1 0.002038
0 0.002838
1 0.001991
0 0.002866
1 0.001291
0 0.003824
1 0.001191
0 0.001163
1 0.001447
0 0.000970
1 0.004059
0 0.000972
1 0.006388
0 0.001252
1 0.001262
0 0.001345
1 0.001329
0 0.004930
1 0.001273
0 0.003556
1 0.001570
0 0.003431
1 0.001550
0 0.001256
1 0.001461
0 0.001098
1 0.001005
0 0.002555
1 0.001503
0 0.005044
1 0.002070
0 0.004427
1 0.001499
...

正如你所看到的,它在大約48秒內為零,然后激發1和0的負載並再次回到零。

我需要弄清楚協議。 我不知道它是什么。 我所掌握的唯一信息是當前溫度為21攝氏度,風速為零,風向為零。 任何見解都非常感謝,

二進制數據圖

以上是兩個不同傳輸的一些二進制數據的圖。

正如@NikolaiNFetissov所說,繪制你測量的時期。 但是在48秒休息之后的第一個間隔開始時,從幾個開始,一個在另一個之上。

所以你將擁有:

A (21C) _____|----------|_____|-----|_____|-----

B (24C) ______|---------|_____|-----------|__________

Clock   _____|-----|_____|-----|_____|-----|_____|-----

etc

我將測量具有不同條件的幾個循環(例如,不同的溫度但相同的風/方向),繪制它們然后看看是否可以看到模式的哪些部分發生變化。 如果您知道采樣率並將其繪制出來也會有所幫助。 你說它是盡可能最快的,但我想你在計算時鍾滴答或其他什么 - 或者你還有其他的確定秒數?

編輯:

如何策划? 我想象的是一張方形紙和一支鉛筆:-)至於一個程序,我唯一的(簡短的)經驗是使用gnuplot。 為此,您必須從您的間隔創建坐標列表,因此:

1 0.006
0 0.002
1 0.005
0 0.001

可能會變成:

x,     y
0.0,   1
0.006, 1
0.006, 0
0.008, 0
0.008, 1
0.013, 1
0.013, 0
0.014, 0

etc

我的猜測是,在安裝和學習使用gnuplot並創建坐標所需的時間內,您可以在紙上繪制數據並找出代碼。 但對我來說,時鍾頻率是關鍵......(抱歉繼續下去;-)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM