Ampoule Yeelight Blue
Sommaire
- 1 Projets exemple de la démo
- 2 Services pris en charge
- 3 Types de données personnalisés
- 3.1 Commandes Yeelight Blue Light Bulb
- 3.2 Caractère de contrôle Yeelight Blue Light Bulb
- 3.3 Délai d'activation/désactivation Yeelight Blue Light Bulb
- 3.4 Requête générique Yeelight Blue Light Bulb
- 3.5 Réponse d'état de délai d'activation/désactivation Yeelight Blue Light Bulb
- 3.6 Réponse de requête d'état Yeelight Blue Light Bulb
- 3.7 Flux de couleurs Yeelight Blue Light
- 3.8 Nom de LED Yeelight Blue Light Bulb
- 3.9 Réponse de nom de LED Yeelight Blue Light Bulb
- 3.10 Caractéristiques personnalisées Yeelight Blue Light Bulb
- 4 Informations sur le périphérique
- 5 Problèmes connus
- 6 Informations spécifiques au périphérique
- 7 Voir aussi
Aller au parent Périphériques ThingConnect
L'ampoule Yeelight Blue, Yeelight Blue Light Bulb, est une ampoule Bluetooth LED avec 16 millions de couleurs offrant des nuances de lumière blanche chaudes et lumineuses.
Utilisez le composant TVeraAeotecLEDBulb TYeelightBlue pour communiquer avec l'ampoule Yeelight Blue Light.
Projets exemple de la démo
Après l'installation du composant, les projets exemple associés au composant Yeelight Blue Light Bulb se trouvent dans les répertoires démo IoT suivants :
- Démarrer | Programmes | Embarcadero RAD Studio Berlin | Exemples puis naviguez jusqu'à :
- Delphi :
Internet of Things\Object Pascal\Thing Connect\Yeelight Bulb - C++ :
Internet of Things\CPP\Thing Connect\Yeelight Bulb
- Delphi :
Services pris en charge
Le composant Yeelight Blue Light Bulb prend en charge les services et les caractéristiques Bluetooth LE suivants :
| Service | Caractéristique | Propriété | Evénement | Lecture | Abonnement | Ecriture |
|---|---|---|---|---|---|---|
| Device Information | Firmware Revision String | FirmwareRevision
|
OnFirmwareRevisionUpdate
|
|||
| Hardware Revision String | HardwareRevision
|
OnHardwareRevisionUpdate
|
||||
| IEEE 11073-20601 Regulatory Certification Data List | IEEERegulatory
|
OnIEEERegulatoryUpdate
|
||||
| Manufacturer Name String | ManufacturerName
|
OnManufacturerNameUpdate
|
||||
| Model Number String | ModelNumber
|
OnModelNumberUpdate
|
||||
| PnP ID | PnPID
|
OnPnPIDUpdate
|
||||
| Serial Number String | SerialNumber
|
OnSerialNumberUpdate
|
||||
| Software Revision String | SoftwareRevision
|
OnSoftwareRevisionUpdate
|
||||
| System ID | SystemID
|
OnSystemIDUpdate
|
Le composant Yeelight Blue Light Bulb prend en charge les services personnalisés suivants :
| Service | Propriété | Evénement | Lecture | Abonnement | Ecriture | Description |
|---|---|---|---|---|---|---|
| Custom Service | ControlCharacter
|
OnControlCharacterUpdate
|
Caractéristique 1 du service personnalisé Yeelight Blue : ControlCharacter Renvoie un TControlCharacter. | |||
DelayOnOff
|
OnDelayOnOffUpdate
|
Caractéristique 2 du service personnalisé Yeelight Blue : DelayOnOff Renvoie un TDelayOnOff. | ||||
DelayOnOffStatusQuery
|
OnDelayOnOffStatusQueryUpdate
|
Caractéristique 3 du service personnalisé Yeelight Blue : DelayOnOffStatusQuery Renvoie un TGenericQuery. | ||||
OnDelayOnOffStatusResponseUpdate
|
Caractéristique 4 du service personnalisé Yeelight Blue : DelayOnOffStatusResponse Renvoie un TDelayOnOffStatusResponse. | |||||
StatusQuery
|
OnStatusQueryUpdate
|
Caractéristique 5 du service personnalisé Yeelight Blue : StatusQuery Renvoie un TGenericQuery. | ||||
OnStatusQueryResponseUpdate
|
Caractéristique 6 du service personnalisé Yeelight Blue : StatusQueryResponse Renvoie un TStatusQueryResponse. | |||||
ColorFlow
|
OnColorFlowUpdate
|
Caractéristique 7 du service personnalisé Yeelight Blue : ColorFlow Renvoie un TColorFlow. | ||||
LEDName
|
OnLEDNameUpdate
|
Caractéristique 8 du service personnalisé Yeelight Blue : LEDName Renvoie un TLEDName. | ||||
OnLEDNameResponseUpdate
|
Caractéristique 9 du service personnalisé Yeelight Blue : LEDNameResponse Renvoie un TLEDNameResponse. | |||||
YeeLightCustomChar10
|
OnYeeLightCustomChar10Update
|
Caractéristique 10 du service personnalisé Yeelight Blue Renvoie un TYeeLightBlueCustomChar. | ||||
OnYeeLightCustomChar11Update
|
Caractéristique 11 du service personnalisé Yeelight Blue Renvoie un TYeeLightBlueCustomChar. | |||||
EffectSetting
|
OnEffectSettingUpdate
|
Caractéristique 12 du service personnalisé Yeelight Blue : EffectSetting Renvoie un TGenericQuery. | ||||
YeeLightCustomChar13
|
OnYeeLightCustomChar13Update
|
Caractéristique 13 du service personnalisé Yeelight Blue Renvoie un TYeeLightBlueCustomChar. | ||||
YeeLightCustomChar14
|
OnYeeLightCustomChar14Update
|
Caractéristique 14 du service personnalisé Yeelight Blue Renvoie un TYeeLightBlueCustomChar. | ||||
YeeLightCustomChar15
|
OnYeeLightCustomChar15Update
|
Caractéristique 15 du service personnalisé Yeelight Blue Renvoie un TYeeLightBlueCustomChar. | ||||
YeeLightCustomChar16
|
OnYeeLightCustomChar16Update
|
Caractéristique 16 du service personnalisé Yeelight Blue Renvoie un TYeeLightBlueCustomChar. |
Types de données personnalisés
Le composant Yeelight Blue Light Bulb définit ses types de données personnalisés dans l'unité suivante :
- Iot.Device.YeeLightBlueTypes
Commandes Yeelight Blue Light Bulb
Le type TLEDCommand énumère les différentes commandes contrôlant les fonctionnalités disponibles de l'ampoule Yeelight. Il s'agit des commandes suivantes :
ControlCharacterOn- Allume l'ampoule.ControlCharacterOff- Eteint l'ampoule.DelayOnOffStatusQuery- Demande l'état deDelayOnOff.StatusQuery- Demande l'état de l'ampoule (couleur, luminosité, flux de couleurs).ColorFlowStart- Démarre le flux de couleurs prédéfini.ColorFlowStop- Arrête le flux de couleurs.LEDName- Cette commande est renvoyée avec le numéro de la séquence et les caractères du nom de chaqueLEDNameQuery. Pour plus d'informations, voir Définition du nom de l'ampoule.LEDNameEnd- Lors de la définition du nom de l'ampoule, utilisez cette commande pour indiquer la fin du nom. Ce code est également renvoyé à chaqueLEDNameQuerypour indiquer la fin du nom renvoyé. Pour plus d'informations, voir Définition du nom de l'ampoule.LEDNameQuery- Demande le nom de l'ampoule. Pour plus d'informations, voir Interrogation du nom de l'ampoule.DefaultColor- Définit la couleur en cours comme couleur par défaut lorsque la LED est allumée.Gradual- Définit la couleur du mode graduel. Ainsi, lorsque vous changez la couleur de la LED, cette dernière effectue une transition en douceur d'une couleur à l'autre.NonGradual- Définit la couleur du mode non graduel. Ainsi, lorsque vous changez la couleur de la LED, cette dernière effectue une transition immédiate d'une couleur à l'autre.
Caractère de contrôle Yeelight Blue Light Bulb
Le type TControlCharacter contient le champ de bits de la caractéristique caractère de contrôle YeeLight de la LED (UUID: FFF1). TControlCharacter est utilisé pour définir le paramétrage de la LED (activée/désactivée/couleur/luminosité).
Create: Le constructeur comporte trois méthodes surchargées.- Première méthode surchargée : Initialise une instance de
TControlCharacteravec un tableau d'octets reçu du périphérique.- Paramètres :
AValueavec le type TBytes.
- Paramètres :
- Deuxième méthode surchargée : Ecrit les valeurs du composant couleur sur le périphérique.
- Paramètres :
Coloravec le type TAlphaColor etIntensityavec le type Integer.
- Paramètres :
- Troisième méthode surchargée : Ecrit la valeur On/Off du composant couleur pour la LED.
- Paramètres :
Commandavec le typeTLEDCommand. Le paramètreCommandadmet uniquement les commandesControlCharacterOnetControlCharacterOff.
- Paramètres :
- Première méthode surchargée : Initialise une instance de
Value: Tableau d'octets brut reçu du périphérique.ColorValue: Renvoie un TAlphaColor indiquant le contrôle de la couleur.Brightness: Renvoie un Int8 indiquant le contrôle de la luminosité.
Délai d'activation/désactivation Yeelight Blue Light Bulb
Le type TDelayOnOff contient le champ de bits de la caractéristique délai d'activation/désactivation YeeLight de la LED (UUID: FFF2). TDelayOnOff est utilisé pour définir le délai d'activation/désactivation de la LED.
Create: Le constructeur comporte deux méthodes surchargées.- Première méthode surchargée : Initialise une instance de
TDelayOnOffavec un tableau d'octets reçu du périphérique.- Paramètres :
AValueavec le type TBytes.
- Paramètres :
- Deuxième méthode surchargée : Ecrit le délai d'activation/désactivation du périphérique.
- Paramètres :
TimeetStatusavec le type Integer.
- Paramètres :
- Première méthode surchargée : Initialise une instance de
Value: Tableau d'octets brut reçu du périphérique.DelayTime: Renvoie un Int32 avec le délai en minutes.DelayOnOff: Renvoie un Int8 avec l'état du délai d'activation/désactivation.
Requête générique Yeelight Blue Light Bulb
Le type TGenericQuery contient le champ de bits des trois caractéristiques YeeLight (UUID: FFF3, UUID: FFF5 et UUID:FFFC). TGenericQuery est utilisé pour interroger les états de la LED et du délai d'activation/désactivation et pour définir les paramètres d'effet.
Create: Le constructeur comporte deux méthodes surchargées.- Première méthode surchargée : Initialise une instance de
TGenericQueryavec un tableau d'octets reçu du périphérique.- Paramètres :
AValueavec le type TBytes.
- Paramètres :
- Deuxième méthode surchargée : En tant que requête générique, sa fonction dépend de la propriété du propriétaire. Les propriétés du propriétaire peuvent être :
DelayOnOffStatusQuery,StatusQueryetEffectSetting, qui sont respectivement utilisées pour interroger l'état de la LED et l'état du délai, et pour définir les paramètres d'effet.- Paramètres :
Commandavec le typeTLEDCommand. Le paramètreCommandadmet différentes commandes, selon la propriété du propriétaire :DelayOnOffStatusQuery- Admet la commandeDelayOnOffStatusQuery.StatusQuery- Admet la commandeStatusQuery.EffectSetting- Admet les commandesDefaultColor,GradualetNonGradual.
- Paramètres :
- Première méthode surchargée : Initialise une instance de
CommandValue: Renvoie un typeTLEDCommandavec la valeur de commande correspondante de la propriété du propriétaire.Value: Tableau d'octets brut reçu du périphérique.
Réponse d'état de délai d'activation/désactivation Yeelight Blue Light Bulb
Le type TDelayOnOffStatusResponse contient le champ de bits de la caractéristique réponse d'état du délai d'activation/désactivation YeeLight de la LED (UUID: FFF4). TDelayOnOffStatusResponse est utilisé pour notifier l'état du délai d'activation/désactivation.
Create: Initialise une instance deTDelayOnOffStatusResponseavec un tableau d'octets reçu du périphérique.Value: Tableau d'octets brut reçu du périphérique.DelayStatusQueryResponse: Renvoie une chaîne avec l'état de la notification.DelayStatusResponseTime: Notifie les minutes du délai d'activation/désactivation sous la forme d'un Int32.DelayStatusResponseOnOff: Notifie l'état du délai d'activation/désactivation sous la forme d'un Int8.
Réponse de requête d'état Yeelight Blue Light Bulb
Le type TStatusQueryResponse contient le champ de bits de la caractéristique réponse de requête d'état YeeLight (UUID: FFF6). TStatusQueryResponse est utilisé pour notifier l'état de la LED.
Create: Initialise une instance deTStatusQueryResponseavec un tableau d'octets reçu du périphérique.Value: Tableau d'octets brut reçu du périphérique.Color: Notifie le composant couleur de la LED sous la forme d'un TAlphaColor.Brightness: Notifie la luminosité de la LED sous la forme d'un Int8.ColorFlow: Notifie le flux de couleurs de la LED sous la forme d'un Int8.Delay: Notifie le délai de la LED sous la forme d'un Int8.
Flux de couleurs Yeelight Blue Light
Le type TColorFlow contient le champ de bits de la caractéristique flux de couleurs YeeLight (UUID: FFF7). TColorFlow est utilisé pour définir le flux de couleurs de la LED (définir/démarrer/arrêter).
Create: Le constructeur comporte trois méthodes surchargées.- Première méthode surchargée : Initialise une instance de
TColorFlowavec un tableau d'octets reçu du périphérique.- Paramètres :
AValueavec le type TBytes.
- Paramètres :
- Deuxième méthode surchargée : Ecrit les valeurs du flux de couleurs sur le périphérique.
- Paramètres :
Sequenceavec le type Integer,AColoravec le type TAlphaColor,Intensityavec le type Integer etTimeavec le type Integer.
- Paramètres :
- Troisième méthode surchargée : Ecrit la valeur On/Off pour le flux de couleurs.
- Paramètres :
Commandavec le typeTLEDCommand. Le paramètreCommandadmet uniquement les commandesColorFlowStartetColorFlowStop
- Paramètres :
- Première méthode surchargée : Initialise une instance de
Value: Tableau d'octets brut reçu du périphérique.ColorSequence: Renvoie la séquence du flux de couleurs de la LED sous la forme d'un Int8.ColorValue: Renvoie la couleur de la LED.ColorBrightness: Renvoie un Int8 avec la luminosité de la LED.ColorTime: Renvoie le délai de changement du flux de couleurs en secondes pour la LED sous la forme d'un Int8.
Nom de LED Yeelight Blue Light Bulb
Le type TLEDName contient le champ de bits de la caractéristique du nom de LED YeeLight (UUID: FFF8). TLEDName est utilisé pour définir/interroger le nom de la LED.
Create: Le constructeur comporte trois méthodes surchargées.- Première méthode surchargée : Initialise une instance de
TLEDNameavec un tableau d'octets reçu du périphérique.- Paramètres :
AValueavec le type TBytes.
- Paramètres :
- Deuxième méthode surchargée : Ecrit le nom de LED sur le périphérique. Voir Définition du nom de l'ampoule.
- Paramètres :
Sequencede type Integer (plage de valeurs : 0 à 5) etNamede type Chaîne (jusqu'à 11 caractères).
- Paramètres :
- Troisième méthode surchargée : Elle peut être utilisée pour indiquer la fin de l'insertion du nom ou pour demander le nom du périphérique. Voir Définition du nom de l'ampoule et Interrogation du nom de l'ampoule.
- Paramètres :
Commandde typeTLEDCommand. Le paramètreCommandadmet uniquement les commandesLEDNameEndetLEDNameQuery.
- Paramètres :
- Première méthode surchargée : Initialise une instance de
Value: Tableau d'octets brut reçu du périphérique.QueryType: Renvoie le type de requête sous la forme d'unTLEDCommand.QueryTypepeut avoir l'une des trois valeurs possibles :LEDName,LEDNameEndetLEDNameQuery.LEDNameSequence: Renvoie le numéro de séquence du nom de LED sous la forme d'un Int8 au cas où le nom de LED est supérieur à 11 caractères.LEDName: Renvoie une chaîne avec le nom de la LED.
Réponse de nom de LED Yeelight Blue Light Bulb
L'enregistrement TLEDNameResponse contient le champ de bits de la caractéristique du nom de LED YeeLight (UUID: FFF9).
Create: Initialise une instance deTLEDNameResponseavec un tableau d'octets reçu du périphérique.Value: Tableau d'octets brut reçu du périphérique.QueryType: Renvoie le type de requête sous la forme d'unTLEDCommand.QueryTypepeut avoir l'une des trois valeurs possibles :LEDName,LEDNameEndetLEDNameQuery.LEDNameSequence: Notifie le numéro de séquence du nom de LED sous la forme d'un Int8 au cas où le nom de LED est supérieur à 11 caractères.LEDName: Renvoie une chaîne avec le nom de la LED.
Caractéristiques personnalisées Yeelight Blue Light Bulb
Le type TYeeLightBlueCustomChar contient le champ de bits des autres caractéristiques personnalisées YeeLight.
Create: Initialise une instance de {{code|TYeeLightBlueCustomChar} avec un tableau d'octets reçu du périphérique.Value: Tableau d'octets brut reçu du périphérique.
Informations sur le périphérique
- Périphérique :
Yeelight Blue II - Modèle :
BUL22BL0101 - Microprogramme :
1.0
Problèmes connus
- Le périphérique Yeelight Blue Light Bulb ne peut pas être appairé à une machine Windows. Si la plate-forme cible de votre application est Windows 32 bits ou Windows 64 bits, elle ne pourra pas être appairée à l'ampoule Yeelight Blue Light.
Informations spécifiques au périphérique
Définition du nom de l'ampoule
Pour définir le nom de l'ampoule, utilisez la propriété LEDName et deux commandes :
- La première commande permet de spécifier les caractères composant le nom de l'ampoule.
- La commande
LEDNameEndpermet de spécifier la fin du nom.
Cette ampoule vous permet d'utiliser des noms longs en définissant le nom sous différentes séquences de caractères. A cet égard, vous pouvez utiliser jusqu'à six séquences de 11 caractères maximum. Chaque séquence de caractères contient un entier qui définit le numéro de la séquence et la chaîne qui compose les caractères du nom (voir la seconde méthode Create surchargée de la propriété TLEDName). L'extrait de code suivant définit le nom de l'ampoule avec quatre séquences de caractères.
YeelightBlue1.LEDName := TLEDName.Create(0, 'MyPretty');
YeelightBlue1.LEDName := TLEDName.Create(1, 'AndColorful');
YeelightBlue1.LEDName := TLEDName.Create(2, 'LightBulb');
YeelightBlue1.LEDName := TLEDName.Create(TLEDCommand.LEDNameEnd);
YeelightBlue1->LEDName = TLEDName(0, "MyPretty");
YeelightBlue1->LEDName = TLEDName(1, "AndColorful");
YeelightBlue1->LEDName = TLEDName(2, "LightBulb");
YeelightBlue1->LEDName = TLEDName(TLEDCommand::LEDNameEnd);
Interrogation du nom de l'ampoule
Utilisez l'instruction suivante pour interroger le nom de l'ampoule :
YeelightBlue1.LEDName := TLEDName.Create(TLEDCommand.LEDNameQuery);
YeelightBlue1->LEDName = TLEDName(TLEDCommand::LEDNameQuery);
Utilisation de la caractéristique flux de couleurs
Pour employer la caractéristique flux de couleurs, utilisez le constructeur TColorFlow afin de définir un flux de couleurs spécifique. Les commandes ColorFlowStart et ColorFlowStop permettent ensuite de démarrer et d'arrêter le flux de couleurs.
L'extrait de code suivant utilise le deuxième constructeur de TColorFlow pour définir un flux de couleurs avec les trois couleurs suivantes : rouge, jaune et vert. Le rouge est la première couleur du flux ; elle est définie avec une intensité de 50 % et dure 1 seconde. Le jaune est la deuxième couleur du flux ; elle est définie avec une intensité de 70% et dure 3 secondes. Pour finir, le vert est la dernière couleur du flux ; elle est définie avec une intensité de 90% et dure 2 secondes.
YeelightBlue1.ColorFlow := TColorFlow.Create(0, TAlphaColorRec.Red, 50, 1);
YeelightBlue1.ColorFlow := TColorFlow.Create(1, TAlphaColorRec.Yellow, 70, 3);
YeelightBlue1.ColorFlow := TColorFlow.Create(2, TAlphaColorRec.Green, 90, 2);
YeelightBlue1->ColorFlow = TColorFlow(0, TAlphaColorRec::Red, 50, 1);
YeelightBlue1->ColorFlow = TColorFlow(1, TAlphaColorRec::Yellow, 70, 3);
YeelightBlue1->ColorFlow = TColorFlow(2, TAlphaColorRec::Green, 90, 2);
Une fois le flux de couleurs défini, utilisez respectivement les commandes ColorFlowStart et ColorFlowStop pour démarrer et arrêter le flux de couleurs. Voir les extraits de code suivants :
YeelightBlue1.ColorFlow := TColorFlow.Create(TLEDCommand.ColorFlowStart);
// ...
YeelightBlue1.ColorFlow := TColorFlow.Create(TLEDCommand.ColorFlowStop);
YeelightBlue1->ColorFlow = TColorFlow(TLEDCommand::ColorFlowStart);
// ...
YeelightBlue1->ColorFlow = TColorFlow(TLEDCommand::ColorFlowStop);