ws1.py 855 B

123456789101112131415161718192021222324252627282930313233343536
  1. import machine
  2. pins = [machine.Pin(i, machine.Pin.IN) for i in (0, 2, 4, 5, 12, 13, 14, 15)]
  3. html = """<!DOCTYPE html>
  4. <html>
  5. <head> <title>ESP8266 Pins</title> </head>
  6. <body> <h1>ESP8266 Pins</h1>
  7. <table border="1"> <tr><th>Pin</th><th>Value</th></tr> %s </table>
  8. </body>
  9. </html>
  10. """
  11. import socket
  12. addr = socket.getaddrinfo('0.0.0.0', 7180)[0][-1]
  13. s = socket.socket()
  14. s.bind(addr)
  15. s.listen(1)
  16. print('listening on', addr)
  17. cnt = 10
  18. while cnt > 0:
  19. cl, addr = s.accept()
  20. print('client connected from', addr)
  21. cl_file = cl.makefile('rwb', 0)
  22. while True:
  23. line = cl_file.readline()
  24. if not line or line == b'\r\n':
  25. break
  26. rows = ['<tr><td>%s</td><td>%d</td></tr>' % (str(p), p.value()) for p in pins]
  27. response = html % '\n'.join(rows)
  28. cl.send(response)
  29. cl.close()
  30. cnt -= 1