【发布时间】:2022-01-15 16:08:41
【问题描述】:
我实际上正在做一个 IOT 项目,在该项目中我使用 ESP8266 将数据发送到服务器。该代码似乎没有任何问题,但没有任何内容发送到服务器,因为客户端应用程序没有收到任何更新。但是,使用邮递员或浏览器发送数据可以正常工作。代码是用 micropython 编写的。 非常感谢您抽出宝贵时间提供帮助。
代码:
boot.py:
try:
import usocket as socket
except:
import socket
from machine import Pin
import network
import esp
esp.osdebug(None)
import gc
gc.collect()
ssid = 'iottollgate'
password = 'iot2017/2018'
station = network.WLAN(network.STA_IF)
station.active(True)
station.connect(ssid, password)
main.py:
def http_get(url):
import socket
_, _, host, path = url.split('/', 3)
addr = socket.getaddrinfo(host, 80)[0][-1]
s = socket.socket()
s.connect(addr)
print(addr)
full_path = 'POST /%s HTTP/1.1\r\nHost: %s\r\n%s' % ('api/post_data.php', 'www.desopadec.org', 'l=3&t=4&v=2&c=2&l2=27&t2=2&v2=180&c2=9')
s.send(bytes(full_path, 'utf8'))
while True:
data = s.recv(100)
if data:
print(str(data, 'utf8'), end='')
else:
break
s.close()
http_get()
【问题讨论】:
标签: http sockets iot esp8266 micropython