Purrrnisher
New member
Здравствуйте, пытаюсь сделать простой узел TCP связи на двух ESP8266, на Micropythne, но по какой-то причине нет связи клиента с сервером. Причем клиент подключается к серверу, но когда доходит до подключению к сокету, ничего не происходит и сервер висит на этом моменте ожидая данных. Буду признателен за советы.
код клиента
код сервера
код клиента
Код:
try:
import usocket as socket
except:
import socket
import network, ds18x20, machine, onewire, time
import esp
esp.osdebug(None)
ssid = 'Smart'
password = '147852369'
station = network.WLAN(network.STA_IF)
station.active(True)
station.connect(ssid, password)
while station.isconnected() == False:
pass
print('Connection successful')
print(station.ifconfig())
def deep_sleep(msecs):
#configure RTC.ALARM0 to be able to wake the device
rtc = machine.RTC()
rtc.irq(trigger=rtc.ALARM0, wake=machine.DEEPSLEEP)
# set RTC.ALARM0 to fire after Xmilliseconds, waking the device
rtc.alarm(rtc.ALARM0, msecs)
#put the device to sleep
machine.deepsleep()
ds_pin = machine.Pin(4)
ds_sensor = ds18x20.DS18X20(onewire.OneWire(ds_pin))
roms = ds_sensor.scan()
print('Found DS devices: ', roms)
while True:
ds_sensor.convert_temp()
time.sleep_ms(750)
for rom in roms:
x = round(ds_sensor.read_temp(rom), 1)
print(x)
time.sleep(5)
try:
clientSocket = socket.socket()
clientSocket.connect(('192.168.4.1',90))
time.sleep(5)
clientSocket.sendall('hi')
clientSocket.close()
time.sleep(5)
print('OK')
# deep_sleep(100000)
except:
clientSocket.close()
time.sleep(5)
print('Not ok1')
# deep_sleep(100000)
Код:
try:
import usocket as socket
except:
import socket
import network, machine
ap = network.WLAN(network.AP_IF)
ap.active(True)
ap.config(essid='Smart', password='147852369')
print(ap.ifconfig())
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind(('', 90))
s.listen(2)
print('server starts')
while True:
client. addr = s.accept()
print('Connected by: %s' % str(addr))
client.settimeout(5)
while True:
content = client.recv(1024)
if len(content) ==0:
break
if str(content,'utf-8') == '\r\n':
continue
else:
print(str(content,'utf-8'))
client.close()