吃白菜一样用micropython玩esp32(四)—— siri远程控制点灯

  • 03/17 16:11

这节让esp32通过wifi自己建立一个web server,就是自己建立一个网站服务器,就会有一个ip地址,在手机或电脑和esp32连接同一个wifi的情况下,让手机或电脑登录那个ip地址的网站就可以给esp32发送相应信息,esp32收到不同的信息执行不同操作,本代码就是实现控制开灯与关灯。

手机有一个快捷指令的应用,通过那里的设置可以改变siri的功能,选择添加项目,选文稿→文本,输入网站地址,如http://192.168.1.7/?led=on,再添加网络→获取URL内容,就可以通过siri控制esp32上的灯的亮灭。

在这里插入图片描述
在这里插入图片描述

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 = """<html><head><meta name="viewport"
content="width=device-width, initial-scale=1"></head>
  <body><h1>Ojay Server</h1><a
href="?led=on"><button>ON</button></a>&nbsp;
  <a
href="?led=off"><button>OFF</button></a></body><html>"""
  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即可。

在这里插入图片描述

附上其他文章的链接:

《吃白菜一样用micropython玩esp32(一)—— 搭建环境》
《吃白菜一样用micropython玩esp32(二)—— 点灯大师》
《吃白菜一样用micropython玩esp32(三)—— 触摸按键、ADC》

人工客服
(售后/吐槽/合作/交友)
  • 器件型号:SFH619A-X009T
    • 数量 1
    • 建议厂商 Vishay Intertechnologies
    • 器件描述 SFH619A Optocoupler, Photodarlington Output, High Gain, 300 V BVCEO
    • 参考价格 $1.5
    • 风险等级
    • ECAD模型

      ECAD模型

      下载ECAD模型
    • 数据手册
    • 查看更多信息
  • 器件型号:DS24B33S+
    • 数量 1
    • 建议厂商 Maxim Integrated Products
    • 器件描述 EEPROM, 4KX1, Serial, CMOS, PDSO8, 0.208 INCH, ROHS COMPLIANT, SOP-8
    • 参考价格 $2.89
    • 风险等级
    • ECAD模型
    • 数据手册
    • 查看更多信息
  • 器件型号:XLH536050.000000I
    • 数量 1
    • 建议厂商 Integrated Device Technology Inc
    • 器件描述 CLCC-6, VARR
    • 参考价格 $1.2
    • 风险等级
    • ECAD模型
    • 数据手册
    • 查看更多信息

相关资讯

  1. 1.
  2. 2.
  3. 3.
  4. 4.
  5. 5.
  6. 6.
  7. 7.
  8. 8.
  9. 9.
  10. 10.
  11. 11.
  12. 12.
  13. 13.
  14. 14.
  15. 15.
  16. 16.
  17. 17.
  18. 18.
  19. 19.
  20. 20.
查看全部20条内容