收藏

micropython esp32 wifi socket方式获取http链接

分类: 基础知识篇 >> ESP32网络相关 发布于 2024-05-16 357次阅读0点赞0收藏
#import start
# This file is executed on every boot (including wake-boot from deepsleep)
#import esp
#esp.osdebug(None)
#import webrepl
#webrepl.start()
import socket
import network
from machine import Pin, I2C
import time

led1=Pin(12,Pin.OUT)
led2=Pin(13,Pin.OUT)

def led_random():
   led1.on()
   time.sleep(0.1)
   led1.off()
   led2.on()
   time.sleep(0.1)
   led2.off()

def http_get(url):
   _, _, host, path = url.split('/', 3)
   addr = socket.getaddrinfo(host, 80)[0][-1]
   s = socket.socket()
   s.connect(addr)
   s.send(bytes('GET /%s HTTP/1.0\r\nHost: %s\r\n\r\n' % (path, host), 'utf8'))
   while True:
       data = s.recv(200)
       if data:
           print(data.decode('utf-8'), end='')
       else:
           led_random()
           break
   s.close()
   led1.on()
   led2.on()


def do_connect():
   sta_if = network.WLAN(network.STA_IF)
   if not sta_if.isconnected():
       print('connecting to network...')
       sta_if.active(True)
       sta_if.connect('NBWIFI', 'z7758521')
       while not sta_if.isconnected():
           led_random()
           pass
   print('network config:', sta_if.ifconfig())
   # 注意替换成自己的接口信息
   http_get("http://www.tianqiapi.com/api?version=v9&appid=YourAppId&appsecret=YourSecret&city=%E5%8C%97%E4%BA%AC")

try:
   do_connect()
except Exception as e:
   print(e)
VIP
购买
建议
意见
联系
客服
在线咨询

您可以与在线客服进行沟通获得帮助

工作日:8:00~22:00节假日:9:00~20:00

微信号: mpyos01

Q Q号: 1401211620

免费
福利
0.025455s