Witam, piszę w Pythonie kod, który odczytuje dane z modułu ESP8266. ESP wysyła dane co 15 minut, a następnie przechodzi w stan głębokiego uśpienia. Po wybudzeniu program już mi nie jest w stanie odebrać kolejnej porcji danych. Mój problem polega na tym, że nie wiem jak zrobić ciągłe nasłuchiwanie i odczyt danych z portu. Jestem w stanie odebrać je tylko raz. Jak to wykonać? Mój kod:
import sys
import socket
TCP_IP = '192.168.42.1'
TCP_PORT = 8888
BUFFER_SIZE = 1024
param = []
i=0
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((TCP_IP,TCP_PORT))
s.listen(1)
print 'Listening for client...'
conn, addr = s.accept()
print 'Connection address:', addr
while 1:
data = conn.recv(BUFFER_SIZE)
if data == ";" :
#conn.close()
print "Received all the data"
i=0
for x in param:
print x
#break
elif data:
print "received data: ", data
param.insert(i,data)
i+=1
#print "koniec transmisji"