Iot.Device.YeelightBlue.TYeelightBlue
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é à chaqueLEDNameQuery
pour 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
TControlCharacter
avec un tableau d'octets reçu du périphérique.- Paramètres :
AValue
avec le type TBytes.
- Paramètres :
- Deuxième méthode surchargée : Ecrit les valeurs du composant couleur sur le périphérique.
- Paramètres :
Color
avec le type TAlphaColor etIntensity
avec le type Integer.
- Paramètres :
- Troisième méthode surchargée : Ecrit la valeur On/Off du composant couleur pour la LED.
- Paramètres :
Command
avec le typeTLEDCommand
. Le paramètreCommand
admet uniquement les commandesControlCharacterOn
etControlCharacterOff
.
- 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
TDelayOnOff
avec un tableau d'octets reçu du périphérique.- Paramètres :
AValue
avec 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 :
Time
etStatus
avec 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
TGenericQuery
avec un tableau d'octets reçu du périphérique.- Paramètres :
AValue
avec 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
,StatusQuery
etEffectSetting
, 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 :
Command
avec le typeTLEDCommand
. Le paramètreCommand
admet différentes commandes, selon la propriété du propriétaire :DelayOnOffStatusQuery
- Admet la commandeDelayOnOffStatusQuery
.StatusQuery
- Admet la commandeStatusQuery
.EffectSetting
- Admet les commandesDefaultColor
,Gradual
etNonGradual
.
- Paramètres :
- Première méthode surchargée : Initialise une instance de
CommandValue
: Renvoie un typeTLEDCommand
avec 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 deTDelayOnOffStatusResponse
avec 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 deTStatusQueryResponse
avec 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
TColorFlow
avec un tableau d'octets reçu du périphérique.- Paramètres :
AValue
avec 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 :
Sequence
avec le type Integer,AColor
avec le type TAlphaColor,Intensity
avec le type Integer etTime
avec le type Integer.
- Paramètres :
- Troisième méthode surchargée : Ecrit la valeur On/Off pour le flux de couleurs.
- Paramètres :
Command
avec le typeTLEDCommand
. Le paramètreCommand
admet uniquement les commandesColorFlowStart
etColorFlowStop
- 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
TLEDName
avec un tableau d'octets reçu du périphérique.- Paramètres :
AValue
avec 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 :
Sequence
de type Integer (plage de valeurs : 0 à 5) etName
de 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 :
Command
de typeTLEDCommand
. Le paramètreCommand
admet uniquement les commandesLEDNameEnd
etLEDNameQuery
.
- 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
.QueryType
peut avoir l'une des trois valeurs possibles :LEDName
,LEDNameEnd
etLEDNameQuery
.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 deTLEDNameResponse
avec 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
.QueryType
peut avoir l'une des trois valeurs possibles :LEDName
,LEDNameEnd
etLEDNameQuery
.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
LEDNameEnd
permet 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);