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

知识点:什么是掌控板?
掌控板是一块普及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多个国家和地区,致力于通过高品质光环境的打造,让更多人享受到智能照明的便捷和乐趣。

在这里插入图片描述

11、随机颜色的RGB模型彩虹灯
命令消息配额限制为line 243(到限额会自动停止运行)

#MicroPython动手做(28)——物联网之Yeelight
#随机颜色的RGB模型彩虹灯

# MicroPython动手做(28)——物联网之Yeelight
#随机颜色的RGB模型彩虹灯

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

my_wifi = wifi()

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

random.seed(time.ticks_cpu())


bulb = Bulb(discover_bulbs()[0]["ip"])
time.sleep_ms(500)
bulb.turn_on()
oled.fill(0)
oled.DispChar("RGB彩虹灯", 33, 16, 1)
oled.DispChar(discover_bulbs()[0]['ip'], 15, 28, 1)
oled.show()
music.play('G5:1')
time.sleep_ms(500)
bulb.set_rgb(0, 153, 0)
rgb.fill((int(0), int(102), int(0)))
rgb.write()
time.sleep_ms(1)
while True:
    time.sleep_ms(500)
    bulb.set_rgb(0, (random.randint(1, 255)),(random.randint(1, 255)))
    time.sleep_ms(500)
    bulb.set_rgb((random.randint(1, 255)), 0,(random.randint(1, 255)))
    time.sleep_ms(500)
    bulb.set_rgb((random.randint(1, 255)), (random.randint(1, 255)),0)

mPython X 实验图形编程

【雕爷学编程】MicroPython动手做(28)——物联网之Yeelight 4_第1张图片

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

随机颜色的RGB模型彩虹灯(实验视频)

https://v.youku.com/v_show/id_XNDcwMTgxOTQwOA==.html?spm=a2h0c.8166622.PhoneSokuUgc_1.dtitle

【雕爷学编程】MicroPython动手做(28)——物联网之Yeelight 4_第2张图片

12、HSV颜色模型
HSV(Hue, Saturation, Value)是根据颜色的直观特性由A. R. Smith在1978年创建的一种颜色空间, 也称六角锥体模型(Hexcone Model)。这个模型中颜色的参数分别是:色调(H),饱和度(S),明度(V)。

色调H
用角度度量,取值范围为0°~360°,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。它们的补色是:黄色为60°,青色为180°,紫色为300°。

饱和度S
饱和度S表示颜色接近光谱色的程度。一种颜色,可以看成是某种光谱色与白色混合的结果。其中光谱色所占的比例愈大,颜色接近光谱色的程度就愈高,颜色的饱和度也就愈高。饱和度高,颜色则深而艳。光谱色的白光成分为0,饱和度达到最高。通常取值范围为0%~100%,值越大,颜色越饱和。

明度V
明度表示颜色明亮的程度,对于光源色,明度值与发光体的光亮度有关;对于物体色,此值和物体的透射比或反射比有关。通常取值范围为0%(黑)到100%(白)。

RGB和CMY颜色模型都是面向硬件的,而HSV(Hue Saturation Value)颜色模型是面向用户的。HSV模型的三维表示从RGB立方体演化而来。设想从RGB沿立方体对角线的白色顶点向黑色顶点观察,就可以看到立方体的六边形外形。六边形边界表示色彩,水平轴表示纯度,明度沿垂直轴测量。

【雕爷学编程】MicroPython动手做(28)——物联网之Yeelight 4_第3张图片

HSV的六棱锥
H参数表示色彩信息,即所处的光谱颜色的位置。该参数用一角度量来表示,红、绿、蓝分别相隔120度。互补色分别相差180度。

纯度S为一比例值,范围从0到1,它表示成所选颜色的纯度和该颜色最大的纯度之间的比率。S=0时,只有灰度。

V表示色彩的明亮程度,范围从0到1。有一点要注意:它和光强度之间并没有直接的联系。

HSV对用户来说是一种直观的颜色模型。我们可以从一种纯色彩开始,即指定色彩角H,并让V=S=1,然后我们可以通过向其中加入黑色和白色来得到我们需要的颜色。增加黑色可以减小V而S不变,同样增加白色可以减小S而V不变。例如,要得到深蓝色,V=0.4 S=1 H=210度。要得到淡蓝色,V=1 S=0.4 H=210度。一般说来,人眼最大能区分128种不同的色彩,130种色饱和度,23种明暗度。如果我们用16Bit表示HSV的话,可以用7位存放H,4位存放S,5位存放V,即745或者655就可以满足我们的需要了。由于HSV是一种比较直观的颜色模型,所以在许多图像编辑工具中应用比较广泛,如Photoshop(在Photoshop中叫HSB)等等,但这也决定了它不适合使用在光照模型中,许多光线混合运算、光强运算等都无法直接使用HSV来实现。顺便提一下,另外一种直观颜色模型是HSL模型,该模型中前两个参数和HSV一样,而L表示亮度。它的三维表示为一双棱锥。

【雕爷学编程】MicroPython动手做(28)——物联网之Yeelight 4_第4张图片
13、测试HSV颜色模型的hue色调变动(饱和度设为100)

Yeelight灯泡的HSV(Hue Saturation Value)颜色模型:
hue 色调,用角度度量,取值范围为0~359,从红色开始按逆时针方向计算,红色为0°,绿色为120°,蓝色为240°。

saturation 饱和度,表示颜色接近光谱色的程度。颜色的饱和度也就愈高。饱和度高,颜色则深而艳。范围0~100。

Value亮度参数,未提供支持。只需设置 hue 、saturation 参数即可。在做些彩虹效果,颜色过渡时,HSV更为自然。

【雕爷学编程】MicroPython动手做(28)——物联网之Yeelight 4_第5张图片

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

测试HSV颜色模型的hue 色调(饱和度设为100)

# MicroPython动手做(28)——物联网之Yeelight
#测试HSV颜色模型的hue 色调(饱和度设为100)

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

my_wifi = wifi()

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


music.play('G5:1')
oled.fill(0)
oled.DispChar("测试HSV色调", 35, 18, 1)
oled.DispChar("0-359", 55, 29, 1)
oled.show()
bulb = Bulb(discover_bulbs()[0]["ip"])
time.sleep_ms(500)
bulb.turn_on()
time.sleep_ms(500)
bulb.set_brightness(100)
time.sleep_ms(500)
bulb.set_rgb(51, 0, 0)
rgb[1] = (int(0), int(102), int(0))
rgb.write()
time.sleep_ms(1)
while True:
    for i in range(0, 360, 22):
        time.sleep_ms(500)
        bulb.set_hsv(i, 100)

mPython X 实验图形编程

【雕爷学编程】MicroPython动手做(28)——物联网之Yeelight 4_第6张图片

MicroPython动手做(28)——物联网之Yeelight
测试HSV颜色模型的hue色调变动(实验视频)

https://v.youku.com/v_show/id_XNDcwMTk1MDgyOA==.html?spm=a1z3jc.11711052.0.0&isextonly=1

【雕爷学编程】MicroPython动手做(28)——物联网之Yeelight 4_第7张图片

你可能感兴趣的:(MicroPython动手做,物联网,单片机,嵌入式硬件,python,Yeelight,智能灯)