雕爷学编程

  • 38 主题
  • 1080 帖子
  • 2150 积分
  • 身份:LV5 资深技术员
  • 论坛新秀
  • E币:1957

MicroPython动手做(28)——物联网之Yeelight

Yeelight
是全球领先的智能照明品牌,2014年加入小米智能家居生态链,在物联网、智能交互、工业设计和灯光体验等方面不断打磨,持续定义照明行业的最高标准。Yeelight拥有完整的智能家居照明产品线,产品系列辐射家装照明、台上照明、氛围照明以及智能照明控制,全球累计出货1100余万件,用户辐射100多个国家和地区,致力于通过高品质光环境的打造,让更多人享受到智能照明的便捷和乐趣。



00.png


最新评论

楼层直达:

雕爷学编程

  • 38 主题
  • 1080 帖子
  • 2150 积分
  • 身份:LV5 资深技术员
  • 论坛新秀
  • E币:1957

雕爷学编程

  • 38 主题
  • 1080 帖子
  • 2150 积分
  • 身份:LV5 资深技术员
  • 论坛新秀
  • E币:1957
1、Yeelight智能照明设备
支持通过无线网络远程控制。当用户收到智能发光二极管设备第一次,他/她需要完成一个配置过程来向设备提供路由器的SSID和密码。这个过程通常被称为智能配置或快速连接。出于安全考虑,协议用于智能配置是专有的,这意味着没有第三方可以知道或使用它。但是,在设备连接到路由器后,它可以被下面的所有设备看到同样的网络,因此也可以由理解的第三方设备控制互操作控制协议。

Yeelight智能设备是通过云来控制的。该命令将被发送到云,然后转发到设备。如图所示,所有的无线指示灯都与云服务器保持联系。如果云服务器关闭或广域网出现问题,用户将失去对的控制设备。因此,我们认为本地控制是非常必要的,并开始在本地工作控制机制。本地控制可以进一步分为两部分:发现过程和控制程序。对于本地发现,我们使用了类似SSDP的协议,但它被大大简化了。

01.png

雕爷学编程

  • 38 主题
  • 1080 帖子
  • 2150 积分
  • 身份:LV5 资深技术员
  • 论坛新秀
  • E币:1957
广告

雕爷学编程

  • 38 主题
  • 1080 帖子
  • 2150 积分
  • 身份:LV5 资深技术员
  • 论坛新秀
  • E币:1957
3、快递刚送到的Yeelight灯泡
准备尝试用MicroPython来控制它

03.jpg

雕爷学编程

  • 38 主题
  • 1080 帖子
  • 2150 积分
  • 身份:LV5 资深技术员
  • 论坛新秀
  • E币:1957

雕爷学编程

  • 38 主题
  • 1080 帖子
  • 2150 积分
  • 身份:LV5 资深技术员
  • 论坛新秀
  • E币:1957

雕爷学编程

  • 38 主题
  • 1080 帖子
  • 2150 积分
  • 身份:LV5 资深技术员
  • 论坛新秀
  • E币:1957
4、使用A\B按键来开关Yeelight灯泡


  1. # MicroPython动手做(28)——物联网之Yeelight
  2. #使用A\B按键来开关Yeelight灯泡

  3. from mpython import *
  4. import network
  5. import time
  6. from yeelight import *

  7. my_wifi = wifi()

  8. my_wifi.connectWiFi("zh", "zy1567")

  9. def on_button_a_down(_):
  10.     global i
  11.     time.sleep_ms(10)
  12.     if button_a.value() == 1: return
  13.     rgb.fill((int(153), int(153), int(153)))
  14.     rgb.write()
  15.     time.sleep_ms(1)
  16.     time.sleep_ms(500)
  17.     LED.turn_on()
  18.     time.sleep_ms(500)
  19.     LED.set_rgb(255, 255, 255)

  20. def on_button_b_down(_):
  21.     global i
  22.     time.sleep_ms(10)
  23.     if button_b.value() == 1: return
  24.     rgb.fill( (0, 0, 0) )
  25.     rgb.write()
  26.     time.sleep_ms(1)
  27.     time.sleep_ms(500)
  28.     LED.turn_off()

  29. button_a.irq(trigger=Pin.IRQ_FALLING, handler=on_button_a_down)

  30. button_b.irq(trigger=Pin.IRQ_FALLING, handler=on_button_b_down)


  31. rgb[1] = (int(51), int(51), int(255))
  32. rgb.write()
  33. time.sleep_ms(1)
  34. if len(discover_bulbs()) > 0:
  35.     LED = Bulb(discover_bulbs()[0]["ip"])


广告

雕爷学编程

  • 38 主题
  • 1080 帖子
  • 2150 积分
  • 身份:LV5 资深技术员
  • 论坛新秀
  • E币:1957

雕爷学编程

  • 38 主题
  • 1080 帖子
  • 2150 积分
  • 身份:LV5 资深技术员
  • 论坛新秀
  • E币:1957

雕爷学编程

  • 38 主题
  • 1080 帖子
  • 2150 积分
  • 身份:LV5 资深技术员
  • 论坛新秀
  • E币:1957
5、AB键控制Yeelight灯泡升级版(绿色光)


  1. # MicroPython动手做(28)——物联网之Yeelight
  2. #AB键控制Yeelight灯泡升级版

  3. from mpython import *
  4. import network
  5. import music
  6. import time
  7. from yeelight import *

  8. my_wifi = wifi()

  9. my_wifi.connectWiFi("zh", "zy1567")

  10. def on_button_a_down(_):
  11.     global i
  12.     time.sleep_ms(10)
  13.     if button_a.value() == 1: return
  14.     music.play('F4:1')
  15.     time.sleep_ms(500)
  16.     LED.turn_on()
  17.     time.sleep_ms(500)
  18.     LED.set_rgb(153, 255, 153)
  19.     rgb.fill((int(0), int(102), int(0)))
  20.     rgb.write()
  21.     time.sleep_ms(1)
  22.     oled.fill(0)
  23.     oled.DispChar("打开电灯", 43, 22, 1)
  24.     oled.show()

  25. def on_button_b_down(_):
  26.     global i
  27.     time.sleep_ms(10)
  28.     if button_b.value() == 1: return
  29.     music.play('D4:1')
  30.     time.sleep_ms(500)
  31.     LED.turn_off()
  32.     rgb.fill( (0, 0, 0) )
  33.     rgb.write()
  34.     time.sleep_ms(1)
  35.     oled.fill(0)
  36.     oled.DispChar("关闭电灯", 43, 22, 1)
  37.     oled.show()

  38. button_a.irq(trigger=Pin.IRQ_FALLING, handler=on_button_a_down)

  39. button_b.irq(trigger=Pin.IRQ_FALLING, handler=on_button_b_down)


  40. music.play('A4:1')
  41. rgb[1] = (int(51), int(51), int(255))
  42. rgb.write()
  43. time.sleep_ms(1)
  44. if len(discover_bulbs()) > 0:
  45.     LED = Bulb(discover_bulbs()[0]["ip"])


雕爷学编程

  • 38 主题
  • 1080 帖子
  • 2150 积分
  • 身份:LV5 资深技术员
  • 论坛新秀
  • E币:1957
广告

雕爷学编程

  • 38 主题
  • 1080 帖子
  • 2150 积分
  • 身份:LV5 资深技术员
  • 论坛新秀
  • E币:1957

雕爷学编程

  • 38 主题
  • 1080 帖子
  • 2150 积分
  • 身份:LV5 资深技术员
  • 论坛新秀
  • E币:1957
6、自动变色循环流光灯

  1. # MicroPython动手做(28)——物联网之Yeelight
  2. #自动变色循环流光灯

  3. from mpython import *
  4. import network
  5. import time
  6. from yeelight import *

  7. my_wifi = wifi()

  8. my_wifi.connectWiFi("zh", "zy1567")


  9. rgb[1] = (int(0), int(102), int(0))
  10. rgb.write()
  11. time.sleep_ms(1)
  12. while True:
  13.     if len(discover_bulbs()) > 0:
  14.         D = Bulb(discover_bulbs()[0]["ip"])
  15.         time.sleep_ms(500)
  16.         D.turn_on()
  17.         time.sleep_ms(500)
  18.         D.set_rgb(32, 178, 170)
  19.         for i in range(10, 101, 5):
  20.             time.sleep_ms(500)
  21.             D.set_brightness(i)
  22.             time.sleep_ms(500)
  23.             D.set_hsv(359, i)
  24.         time.sleep_ms(500)
  25.         D.turn_off()


雕爷学编程

  • 38 主题
  • 1080 帖子
  • 2150 积分
  • 身份:LV5 资深技术员
  • 论坛新秀
  • E币:1957
123下一页
我要评论
39
217
广告
关闭 热点推荐上一条 /5 下一条
快速回复 返回列表