Python で UDP ブロードキャストを使用して、移動ノードから静止ノードにパケットを送信しています。私が望むのは、移動ノードが静的ノードに近づいている間はデータ レートを上げ、ノードが離れるとデータ レートを下げて、より多くのパケットを受信ノードに転送できるようにすることです。
実際、静的ノードに対する距離とともに信号強度を測定したい論文の実験を行っています。したがって、受信信号強度の値に基づいて、距離をブロードキャスト レートを調整したいと考えています。
どんな助けや提案も非常に役に立ちます。
ここにコードがあります
from socket import *
import os
import time
# A dummy string that I want to send
a = os.urandom(1400)
s = socket(AF_INET, SOCK_DGRAM)
s.bind(('', 0))
s.setsockopt(SOL_SOCKET, SO_BROADCAST, 1)
# Send data along with the sequence number and current time
i=0
while 1:
if os.system("iwconfig wlan0 | awk '/Signal level/ {print $4}'|cut -c 7-9") >= -90: #-90 dbm is set as threshold
data = (str(i)+"###"+str(time.time())+"@@@"+ a.encode('hex'))[:1400] # only send 1400bytes of data
s.sendto(data, ('192.168.169.255', 5000))
i+=1
else sleep('<broadcast interval>') # sleep until the next broadcast interval
ブロードキャストレートを調整する方法がよくわからないので、コードがありません。
前もって感謝します