私はPythonには新しく、ややこしいことをしようとしています。だから本質的に私は光の上にデータを送信しようとしています。ほんの少量のテキスト。だから私は、バイナリにASCIIをエンコードするためのコードの行を持って、それは正常に動作し、その上データ送信と受信コードのタイミングの問題
n=['0','b','1','0','1']
のような文字列やバイナリなどでリストを私に残します。私は1つのラズベリーpi
を以下のコードで送信するように設定し、もう1つはさらにコードを受信するように設定しました。それはすべて動作するようですが、私はタイミングが2つの間にオフであり、受信側のリストがシフトされていると思うし、ときどきランダムな0があるはずはありません。 (私はそれが送信よりも速く読んでいると思う)。これを修正する方法はありますか?簡単に確認できますか? forループは、押しボタンで同時に開始します。
送信:
For x in range(2,130):
If myList[x] != '1':
Led.off()
Sleep(.5)
Led.off()
Elif myList == '1':
Led.on()
Sleep(.5)
Led.off()
受信:
For x in range(2,130):
If gpio.input(14) == True:
myList[x] = '1'
Sleep(.5)
Elif gpio.input(14) ==False:
myList[x] = '0'
Sleep(.5)
gpio.input(14)
は、LEDからの信号を受信しているphotodiode
に接続されています。私は受信コードが送信コードよりも速く実行され、タイミングがオフであると仮定していますが、修正方法はわかりません。