【雕爷学编程】MicroPython动手做(28)——物联网之Yeelight

news2025/1/15 17:38:22

知识点:什么是掌控板?
掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED显示屏、RGB灯、加速度计、麦克风、光线传感器、蜂鸣器、按键开关、触摸开关、金手指外部拓展接口,支持图形化及MicroPython代码编程,可实现智能机器人、创客智造作品等智能控制类应用。

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

1、物联网(Internet of Things,缩写:IoT)

是基于互联网、传统电信网等信息承载体,让所有能行使独立功能的普通物体实现互联互通的网络。其应用领域主要包括运输和物流、工业制造、健康医疗、智能环境(家庭、办公、工厂)等,具有十分广阔的市场前景。

物联网的概念最早是在1999年由Kevin Ashton在一次演讲中提出来的,当时他是一个RFID研究机构的执行主任,这家研究机构是在宝洁公司和吉列公司的赞助下成立的。而他本人也因此被称为物联网之父。随后麻省理工学院的Neil Gershenfeld教授出版了一本名为《When things Start to Think》的书。以这些为标志,正式揭开了物联网的序幕。

物联网的英文是Internet of Things,缩写为IoT。这里的“物”指的是我身边一切能与网络联通的物品。例如你带的手表、你骑的共享单车、马路上的汽车、家里的冰箱、路边的路灯、甚至是一棵树。只要一件物品能够与网络相连,它就都是物联网中的“物”。而所谓物联网,就是“物”与人,以及“物”与“物”之间,通过网络来传递和处理信息。

在这里插入图片描述

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

在这里插入图片描述

Yeelight发展历程

在这里插入图片描述
1、Yeelight智能照明设备
支持通过无线网络远程控制。当用户收到智能发光二极管设备第一次,他/她需要完成一个配置过程来向设备提供路由器的SSID和密码。这个过程通常被称为智能配置或快速连接。出于安全考虑,协议用于智能配置是专有的,这意味着没有第三方可以知道或使用它。但是,在设备连接到路由器后,它可以被下面的所有设备看到同样的网络,因此也可以由理解的第三方设备控制互操作控制协议。

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

在这里插入图片描述

2、Yeelight服务的发现过程

在这里插入图片描述

3、快递刚送到的Yeelight灯泡
准备尝试用MicroPython来控制它

在这里插入图片描述

Yeelight灯泡

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

4、使用A\B按键来开关Yeelight灯泡

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

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

from mpython import *
import network
import time
from yeelight import *

my_wifi = wifi()

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

def on_button_a_down(_):
    global i
    time.sleep_ms(10)
    if button_a.value() == 1: return
    rgb.fill((int(153), int(153), int(153)))
    rgb.write()
    time.sleep_ms(1)
    time.sleep_ms(500)
    LED.turn_on()
    time.sleep_ms(500)
    LED.set_rgb(255, 255, 255)

def on_button_b_down(_):
    global i
    time.sleep_ms(10)
    if button_b.value() == 1: return
    rgb.fill( (0, 0, 0) )
    rgb.write()
    time.sleep_ms(1)
    time.sleep_ms(500)
    LED.turn_off()

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

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


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

实验场景
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

mPyehon X 实验图形编程

在这里插入图片描述

5、AB键控制Yeelight灯泡升级版(绿色光)

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

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

from mpython import *
import network
import music
import time
from yeelight import *

my_wifi = wifi()

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

def on_button_a_down(_):
    global i
    time.sleep_ms(10)
    if button_a.value() == 1: return
    music.play('F4:1')
    time.sleep_ms(500)
    LED.turn_on()
    time.sleep_ms(500)
    LED.set_rgb(153, 255, 153)
    rgb.fill((int(0), int(102), int(0)))
    rgb.write()
    time.sleep_ms(1)
    oled.fill(0)
    oled.DispChar("打开电灯", 43, 22, 1)
    oled.show()

def on_button_b_down(_):
    global i
    time.sleep_ms(10)
    if button_b.value() == 1: return
    music.play('D4:1')
    time.sleep_ms(500)
    LED.turn_off()
    rgb.fill( (0, 0, 0) )
    rgb.write()
    time.sleep_ms(1)
    oled.fill(0)
    oled.DispChar("关闭电灯", 43, 22, 1)
    oled.show()

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

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


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

AB键控制Yeelight灯泡升级版(绿色光)

在这里插入图片描述
在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/1138f83117ee482f80de663c256bd67c.gif#pic_center
mPyehon X 实验图形编程

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/830123.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

mybatis log插件

目前idea当中已经实施收费了 最近找了一个不收费的插件安装上重启一下就行了 点我下载提取码:sjc8

blender基础认识(选项开关、工具栏、视图等)

文章目录 引言一、大纲选项开关和保存启动文件1. 大纲选项1. 禁用选中2. 视图影藏3. 视图禁用4. 渲染禁用 2. 保存启动文件 二、工具栏和侧边栏1. 左侧工具栏2. 右侧工具栏 三、视图1. 视角2. 缩放3. 拖拽4. 摄像机视角5. 切换正交视图6. 局部视图7. 显示隐藏 四、添加删除物体…

在centos7.9安装tomcat8,并配置服务启动脚本,部署jpress应用

目录 一、简述静态网页和动态网页的区别 二、简述 Webl.0 和 Web2.0 的区别 三、 安装Tomcat8,配置服务启动脚本,部署jpress应用 3.1、Tomcat简介 3.2、安装Tomcat 3.2.1、配置环境 3.2.2、安装JDK 3.2.3、安装tomcat8 3.2.4、访问主页&#xff1…

go编译文件

1.编译go文件 go build [go文件]2.执行文件编译文件 ./demo [demo为go文件名称]

自然语言处理学习笔记(三)————HanLP安装与使用

目录 1.HanLP安装 2.HanLP使用 (1)预下载 (2)测试 (3)命令行 (4)测试样例 3.pyhanlp可视化 4. HanLP词性表 1.HanLP安装 HanLP的 Python接口由 pyhanlp包提供,其安装…

【深度学习】在 MNIST实现自动编码器实践教程

一、说明 自动编码器是一种无监督学习的神经网络模型,主要用于降维或特征提取。常见的自动编码器包括基本的单层自动编码器、深度自动编码器、卷积自动编码器和变分自动编码器等。 其中,基本的单层自动编码器由一个编码器和一个解码器组成,编…

OLED透明屏安装指南:准备工作、步骤和注意事项

随着科技的不断发展,OLED透明屏作为一种新型的显示技术,逐渐得到了广泛的应用。 OLED透明屏具有高透明度、高亮度和广视角等优势,可以实现透明显示效果,为商业展示、户外广告等领域提供了更广阔的空间。 然而,正确的…

Qt实现可伸缩的侧边工具栏(鼠标悬浮控制伸缩栏)

Qt实现可伸缩的侧边工具栏 一直在网上找,发现大多的实现方案都是用一个按钮,按下控制侧边栏的伸缩,但是我想要实现鼠标悬浮在侧边栏的时候就伸出,移开就收缩的功能,也没找到好的参考,所以决定自己实现一个…

Apache Kafka Learning

一、Kafka Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以收集并处理用户在网站中的所有动作流数据以及物联网设备的采样信息。 Apache Kafka是Apache软件基金会的开源的流…

Quartz使用文档,使用Quartz实现动态任务,Spring集成Quartz,Quartz集群部署,Quartz源码分析

文章目录 一、Quartz 基本介绍二、Quartz Java 编程1、文档2、引入依赖3、入门案例4、默认配置文件 三、Quartz 重要组件1、Quartz架构体系2、JobDetail3、Trigger(1)代码实例(2)SimpleTrigger(3)CalendarI…

低代码开发工具到底是给“谁”用的?

不同的工具,受众也不一样。 你不要认为“低代码开发工具”只有一种,实际上它分 3 种。 第一种:企业级低代码开发平台 这种通常是给专业开发人员使用的,但也没有限制得很死,只要你懂编程逻辑,能写sql语句&…

[数据分析与可视化] Python绘制数据地图4-MovingPandas入门指北

MovingPandas是一个基于Python和GeoPandas的开源地理时空数据处理库,用于处理移动物体的轨迹数据。它提供了一组强大的工具,可以轻松地加载、分析和可视化移动物体的轨迹。通过使用MovingPandas,用户可以轻松地处理和分析移动对象数据&#x…

微信云开发-数据库操作

文章目录 前提初始化数据库插入数据查询数据获取一条数据获取多条数据查询指令 更新数据更新指令 删除数据总结 前提 首先有1个集合(名称:todos). 其中集合中的数据为: {// 计划描述"description": "learn mini-program cloud service",// 截止日期"…

阿里云OSS的开通+配置及其使用

云存储解决方案-阿里云OSS 文章目录 云存储解决方案-阿里云OSS1. 阿里云OSS简介2. OSS开通(1)打开https://www.aliyun.com/ ,申请阿里云账号并完成实名认证。(2)充值 (可以不用做)(3)开通OSS&am…

小程序云开发快速入门(2/4)

前言 我们对《微信小程序云开发快速入门(1/4)》的知识进行回顾一下。在上章节我们知道了云开发的优势以及能力,并且我们还完成了码仔备忘录的本地版到网络版的改造,主要学习了云数据库同时还通过在小程序使用云API直接操作了云数…

选读SQL经典实例笔记16_逻辑否定

1. 示例数据 1.1. student insert into student values (1,AARON,20) insert into student values (2,CHUCK,21) insert into student values (3,DOUG,20) insert into student values (4,MAGGIE,19) insert into student values (5,STEVE,22) insert into student values (6…

Java内存溢出的排查工具和方法

JVM内存溢出事故回顾 JVM内存溢出的排查方法个工具介绍 事故回顾 • 9:58收到报警,资讯延时1小时。 • 10:10排查出接口全部超时,超时时间2s。 • 去运维那边执行jstat发现元空间沾满了,疯狂fgc。 • 执行jmap -dump 并下载。 • 使用MAT分…

VLAN原理+配置

目录 一, 以太网二层交换机 二,三层架构: 三,VLAN配置思路 1.创建vlan 2.接口划入vlan 3.trunk干道 4.vlan间路由器 5.DHCP池塘配置 四,华为VLAN部分的接口模式讲解: 五,华为VLAN部分的…

【雕爷学编程】MicroPython动手做(30)——物联网之Blynk 2

知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…

阿里云出品—高分计算机好书推荐榜

1、云原生架构白皮书 云原生是一种构建和运行应用程序的方法,它能实现构建应用简便快捷,部署应用轻松自如,越来越多公司和个人选择使用云原生技术。《云原生架构白皮书》作为业界首本全方位构建云原生架构规划与实践全景图的白皮书&#xff…