单片机学习小组
直播中

徐生财

10年用户 848经验值
擅长:MEMS/传感技术
私信 关注

怎么通过esp32去建立一个网站服务器呢

怎么通过esp32去建立一个网站服务器呢?如何在网页上控制灯的开关?

回帖(1)

王雷

2022-2-22 10:04:07
这节让esp32通过wifi自己的一个网络服务器,就是自己建立一个网站服务器,有一个ip地址,在手机或电脑和esp32连接同一个wifi的情况下,让手机或电脑那个ip地址的网站就给esp32相应的信息,esp32选择不同的信息的操作,本代码是实现控制打开与关灯手机发送的有一个快捷指令的应用程序,通过那里的功能设置可以改变siri的,可以添加选择文档→文本,输入网站地址,再添加网页→获取URL内容,就可以通过siriesp32上的灯灭了。try




try:


  import usocket as socket


except:


  import socket


from machine import Pin


import network


'''


import esp


esp.osdebug(None)


'''


import gc


gc.collect()


ssid = '***'             #wifi名称


password = '***'         #wifi密码


station = network.WLAN(network.STA_IF)


station.active(True)


station.connect(ssid,password)


while station.isconnected() == False:


  pass


print('Connection successful')


print(station.ifconfig())


led = Pin(12,Pin.OUT)


def web_page():


  html = """

content="width=device-width, initial-scale=1">


  

Ojay Server



href="?led=on"> 


  

href="?led=off">"""


  return html


s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)


s.bind(('',80))


s.listen(5)


while True:


  conn, addr = s.accept()


  print('Got a connection from %s' % str(addr))


  request = conn.recv(1024)


  request = str(request)


  print('Content = %s' % request)


  led_on = request.find('/?led=on')


  led_off = request.find('/?led=off')


  if led_on == 6:


    print('LED ON')


    led.value(1)


  if led_off == 6:


    print('LED OFF')


    led.value(0)


  response = web_page()


  conn.send('HTTP/1.1 200 OKn')


  conn.send('Content-Type: text/htmln')


  conn.send('Connection: closenn')


  conn.send('HTTP/1.1 200 OKn')


  conn.sendall(response)


  conn.close()

修改一个wifi的名称和密码就可以用了,运行后upycraft会打印出当前的ip地址,可以帮助电脑定位到该ip地址,你会发现可以在网页上控制灯的开关,那你已经成功了!一下改siri智能。

举报

更多回帖

发帖
×
20
完善资料,
赚取积分