(La photo provient de la page d'introduction du produit de Softbank Selection)
Le 24 avril 2020, Softbank C & S a lancé la lampe intelligente «Yeelight» pour le marché intérieur. Cette lampe intelligente a une fonction appelée "LAN Control" (décrite plus tard), et je m'y intéresse depuis longtemps, mais depuis sa sortie au Japon, je l'ai achetée immédiatement et j'ai essayé de la contrôler depuis Python. Bien sûr, la compétence est parfaite.
"Yeelight" (page officielle japonaise) est un nom de marque de lumière intelligente et est un produit de "Xiaomi" (Komai Kagaku, Xiaomi), qui est célèbre pour les smartphones et les appareils ménagers. Il existe divers produits tels que le type d'ampoule, le type de ruban et le type de lanterne, mais nous parlerons ici des ampoules intelligentes de type ampoule.
Le modèle "YLDP13YL" acheté cette fois-ci dispose d'une connexion Wi-Fi, d'une couleur 24 bits (environ 16,77 millions de couleurs), d'une prise en charge de haut-parleurs intelligents (Google Home, Alexa, Apple HomeKit) et de fonctionnalités similaires aux lampes intelligentes générales en forme d'ampoule. Cependant, il a une fonction caractéristique appelée "Contrôle LAN".
"LAN Control" sera décrit plus tard, mais pour d'autres spécifications de Yeelight, voir Page d'introduction du produit de Softbank Selection. Se il vous plaît se référer.
En plus de la sélection SoftBank ci-dessus, vous pouvez acheter sur Amazon.co.jp, Yodobashi.com, etc.
Site th> | modèle th> | 1 th> | Ensemble de 2 th> | Ensemble de 4 th> |
---|---|---|---|---|
Amazon.co.jp | Multicolore th> | 3 300 yens td> | 5 940 yens td> | 11 880 yens td> |
Couleur de l'ampoule (gradation uniquement) th> | 2 200 ¥ td> | 3 960 yens td> | 7 920 yens td> | |
Yodobashi.com th> | Multicolore th> | 3 630 ¥ td> | - | - |
Comme son nom l'indique, la fonction caractéristique de Yeelight "LAN Control" est une fonction de contrôle des lumières via LAN (Local Area Network), et son API est ouverte au public. Comme il est effectué dans le LAN sans passer par le cloud, un contrôle avec moins de retard peut être effectué. De plus, puisque l'API est ouverte au public, vous pouvez la contrôler librement depuis votre propre application.
Pour plus d'informations, veuillez consulter la [page développeur] de Yeelight (https://www.yeelight.com/en_US/developer). (La page se charge très lentement, alors soyez patient)
yeelight
Sans avoir à lire la spécification de l'API ci-dessus, Python a un package volontaire yeelight que vous pouvez facilement contrôler. Au moment de la rédaction de cet article, il était "0.5.1".
mac$ pip install yeelight==0.5.1
L'API est largement divisée en découverte légère et contrôle. Jetons un coup d'œil à chacun.
Après avoir configuré Yeelight et activé "LAN Control", vous pouvez détecter la lumière avec yeelight.discover_bulbs ()
.
Puisqu'il utilise la multidiffusion UDP en interne, il doit être implémenté à sa portée. (En général, je pense que ce n'est pas grave si vous êtes connecté au même réseau Wi-Fi)
Un exemple spécifique est présenté ci-dessous.
mac$ python
Python 3.7.0 (default, Jun 28 2018, 07:39:16)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import yeelight
>>> yeelight.discover_bulbs()
[{'ip': '192.168.1.81', 'port': 55443, 'capabilities': {'id': '0x0000000012429e65', 'model': 'color4', 'fw_ver': '27', 'support': 'get_prop set_default set_power toggle set_bright set_scene cron_add cron_get cron_del start_cf stop_cf set_ct_abx adjust_ct set_name set_adjust adjust_bright adjust_color set_rgb set_hsv set_music', 'power': 'on', 'bright': '100', 'color_mode': '2', 'ct': '2000', 'rgb': '9109504', 'hue': '0', 'sat': '100', 'name': ''}}]
Si vous connaissez déjà l'adresse IP de l'écriture, cette étape n'est pas nécessaire. Vous pouvez également vérifier l'adresse IP de la lumière depuis l'application Yeelight.
Si vous connaissez l'adresse IP de l'écriture, vous pouvez contrôler l'écriture. Il n'y a pas d'authentification. Veuillez faire attention à la configuration du réseau.
Un exemple spécifique est présenté ci-dessous. Ceci est un exemple d'éclairage ON, OFF, ON / OFF, réglage de la luminosité, réglage de la couleur par valeur RVB, réglage de la couleur par valeur HSV, réglage de la couleur par température de couleur et acquisition des propriétés dans l'ordre du haut.
mac$ python
Python 3.7.0 (default, Jun 28 2018, 07:39:16)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import yeelight
>>> bulb = yeelight.Bulb("192.168.1.81")
>>> bulb.turn_on()
'ok'
>>> bulb.turn_off()
'ok'
>>> bulb.toggle()
'ok'
>>> bulb.set_brightness(50)
'ok'
>>> bulb.set_rgb(255, 0, 0)
'ok'
>>> bulb.set_hsv(320, 100, 50)
'ok'
>>> bulb.set_color_temp(3000)
'ok'
>>> bulb.get_properties()
{'power': 'on', 'bright': '100', 'ct': '3000', 'rgb': '8432127', 'hue': '221', 'sat': '49', 'color_mode': '2', 'flowing': '0', 'delayoff': '0', 'music_on': '0', 'name': None, 'bg_power': None, 'bg_flowing': None, 'bg_ct': None, 'bg_bright': None, 'bg_hue': None, 'bg_sat': None, 'bg_rgb': None, 'nl_br': None, 'active_mode': None, 'current_brightness': '100'}
Il existe de nombreuses autres fonctions, veuillez donc vous référer aux spécifications API pour les développeurs et à la référence API du package yeelight
.
Alors faites un bon hack de maison!