• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

Server/client проблемы с подключением

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()
 
Сверху Снизу