Iot.Device.Myo.TMyo
Sommaire
- 1 Projets exemple de la démo
- 2 Services pris en charge
- 3 Types de données personnalisés
- 3.1 Données EMG du brassard Myo
- 3.2 Pose HW du brassard Myo
- 3.3 Type Classificateur actif du brassard Myo
- 3.4 Flux du brassard Myo indiquant la source
- 3.5 Valeur SKU du brassard Myo
- 3.6 Service Info du brassard Myo
- 3.7 Version microprogramme du brassard Myo
- 3.8 Type de commande du brassard Myo
- 3.9 Mode EMG du brassard Myo
- 3.10 Mode IMU du brassard Myo
- 3.11 Mode de classificateur du brassard Myo
- 3.12 Commande du brassard Myo
- 3.13 Service IMU Data du brassard Myo
- 3.14 Type de l'événement classificateur du brassard Myo
- 3.15 Bras du brassard Myo
- 3.16 Direction X du brassard Myo
- 3.17 Résultat de la synchronisation du brassard Myo
- 3.18 Evénement classificateur du brassard Myo
- 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
Le Myo Armband est un brassard de contrôle gestuel Bluetooth qui lit l'activité des muscles de votre avant-bras, et offre un contrôle de technologie, sans toucher, avec des gestes de la main.
Utilisez le composant TMyo
pour communiquer avec le brassard Myo.
Projets exemple de la démo
Après l'installation du composant, les projets exemple associés au composant Myo Armband 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\MyoArmband
- C++ :
Internet of Things\CPP\Thing Connect\MyoArmband
- Delphi :
Services pris en charge
Le composant Myo Armband prend en charge les services et les caractéristiques Bluetooth LE suivants :
Service | Caractéristique | Propriété | Evénement | Lecture | Abonnement | Ecriture |
---|---|---|---|---|---|---|
Battery Service | Battery Level | BatteryLevel
|
OnBatteryLevelUpdate
|
|||
Device Information | Manufacturer Name String | ManufacturerName
|
OnManufacturerNameUpdate
|
Le composant Myo Armband prend en charge les services personnalisés suivants :
Service | Propriété | Evénement | Lecture | Abonnement | Ecriture | Description |
---|---|---|---|---|---|---|
Myo Classifier Service | OnClassifierEventDataUpdate
|
Données d'événement IClassifier avec le type TMyoClassifierEvent. | ||||
Myo EMG Data Service | OnEMGData0Update
|
EMG Data0 avec le type TMyoEMGData. | ||||
OnEMGData0Update
|
EMG Data1 avec le type TMyoEMGData. | |||||
OnEMGData2Update
|
EMG Data2 avec le type TMyoEMGData. | |||||
OnEMGData3Update
|
EMG Data3 avec le type TMyoEMGData. | |||||
Myo IMU Data Service | OnIMUDataUpdate
|
Données IMU avec le type TIMUDataService. | ||||
Myo Info Service | Command
|
Ecrit une commande avec le type TMyoCommand. | ||||
FirmwareVersion
|
OnFirmwareVersionUpdate
|
Lit la version du microprogramme avec le type TMyoFirmwareVersion. | ||||
Info
|
OnInfoUpdate
|
Lit les informations Myo avec le type TMyoInfoService. |
Types de données personnalisés
Le brassard Myo définit ses types de données personnalisés dans l'unité suivante :
- Iot.Device.MyoTypes
Données EMG du brassard Myo
L'enregistrement TMyoEMGData
contient le tableau d'octets de la caractéristique EMG Data.
Create
: Initialise une instance deTMyoEMGData
avec un tableau d'octets reçu du périphérique.Value
: Tableau d'octets brut reçu du périphérique.
Pose HW du brassard Myo
TMyoHWPose
énumère les poses prises en charge : Rest
, Fist
, WaveIn
, WaveOut
, FingersSpread
, DoubleTap
et Unknown = $FFFF
.
Type Classificateur actif du brassard Myo
TMyoActiveClassifierType
énumère les types possibles de modèle de classificateur MyoBuiltin
et Custom
.
Flux du brassard Myo indiquant la source
TMyoStreamIndicatingSource
énumère les sources Myo possibles du flux de données BLE
et OtherSource
.
Valeur SKU du brassard Myo
TMyoSKUValue
énumère les SKU Myo connus BlackMyo
, WhiteMyo
et Unknown
. Unknown
est la valeur par défaut des anciens microprogrammes.
Service Info du brassard Myo
L'enregistrement TMyoInfoService
contient divers paramètres qui peuvent affecter le comportement de ce brassard Myo lorsqu'une connexion est établie.
Create
: Initialise une instance deTMyoInfoService
avec un tableau d'octets reçu du périphérique.Value
: Tableau d'octets brut reçu du périphérique.SerialNumber
: Renvoie un UInt64 avec le numéro de série unique du Myo.HWPose
: Renvoie la pose qui doit être interprétée comme pose de déverrouillage.ActiveClassifierType
: Renvoie un TMyoActiveClassifierType indiquant si Myo utilise actuellement un classificateur personnalisé ou intégré.ActiveClassifierIndex
: Renvoie un UInt8 indiquant l'index du classificateur actuellement actif.HasCustomClassifier
: Indique si Myo contient un classificateur personnalisé valide.1
si c'est le cas,0
sinon.StreamIndicatingSource
: Renvoie un TMyoStreamIndicatingSource indiquant si le Myo utilise le flux de données BLE pour la fiabilité de la capture.SKUValue
: Renvoie la valeur SKU du périphérique.
Version microprogramme du brassard Myo
L'enregistrement TMyoFirmwareVersion
contient les informations de version du microprogramme Myo.
Create
: Initialise une instance deTMyoFirmwareVersion
avec un tableau d'octets reçu du périphérique.Value
: Tableau d'octets brut reçu du périphérique.MajorVersion
: Renvoie un UInt16 avec la version majeure du microprogramme.MinorVersion
: Renvoie un UInt16 avec la version mineure. La version mineure est incrémentée pour les changements d'interface.PatchVersion
: Renvoie un UInt16 avec la version patch. La version patch est incrémentée pour les changements du microprogramme n'introduisant pas de changement d'interface.HardwareRevision
: Renvoie un UInt8 avec la révision matérielle de Myo.
Type de commande du brassard Myo
TMyoCommandType
énumère les types de commandes possibles :
SetMode = $01
: Définir les modes EMG et IMU.Vibration = $03
: Définir la vibration.DeepSleep = $04
: Placer Myo en veille profonde.Vibrate2 = $07
: Vibration étendue.SetSleepMode = $09
: Définir en mode mise en veille.Unlock = $0A
: Déverrouiller Myo.UserAction = $0B
: Notifier l'utilisateur qu'une action a été reconnue ou confirmée.
Mode EMG du brassard Myo
TMyoEMGMode
énumère les modes EMG possibles.
None = $00
: Ne pas envoyer de données EMG.SendEMG = $02
: Envoyer les données EMG filtrées.SendEMGRaw = $03
: Envoyer les données EMG brutes (non filtrées).
Mode IMU du brassard Myo
TMyoIMUMode
énumère les modes IMU possibles.
None
: Ne pas envoyer des événements ou données IMU.SendData
: Envoyer les flux de données IMU accéléromètre, gyroscope et orientation.SendEvents
: Envoyer les événements de mouvement détectés par le IMU.SendAll
: Envoyer les événements de mouvement et les flux de données IMU.SendRaw
: Envoyer les flux de données IMU.
Mode de classificateur du brassard Myo
TMyoClassifierMode
énumère les modes de classificateur possibles.
Disabled
: Désactiver et réinitialiser l'état interne du classificateur de bord.Enabled
: Envoyer les événements classificateur (événements poses et bras).
Commande du brassard Myo
L'enregistrement TMyoCommand
contient le tableau d'octets des commandes Myo.
Create
: Le constructeur comporte cinq 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 : Constructeur de commande Myo utilisant un paramètre.
- Paramètres :
ACommand
avec le type de commande.
- Paramètres :
- Troisième méthode surchargée : Constructeur de la commande Myo de définition du mode.
- Paramètres :
ACommand
avec le type de commande,AEMGMode
avec le mode EMG,AIMUMode
avec le mode IMU etAClassifierMode
avec le mode de classificateur.
- Paramètres :
- Quatrième méthode surchargée : Constructeur des commandes Myo utilisant deux paramètres.
- Paramètres :
ACommand
avec le type de commande etAData
avec le type integer.
- Paramètres :
- Cinquième méthode surchargée : Constructeur de la commande Myo de vibration étendue.
- Paramètres :
ACommand
avec le type de commande,
- Paramètres :
- Première méthode surchargée : Initialise une instance de
ADuration
avec la durée sous la forme d'un UInt16 et AStrength
avec la force sous la forme d'un UInt8.
Value
: Tableau d'octets brut reçu du périphérique.CommandType
: Renvoie le type de commande.PayloadSize
: Renvoie la taille de la charge utile de la commande (UInt8) qui exclut le type de commande et l'octet taille.EMGMode
: Renvoie le mode EMG.IMUMode
: Renvoie le mode IMU.ClassifierMode
: Renvoie le mode de classificateur.Duration
: Renvoie le tableau de type UInt16, contenant les durées de vibration.Strength
: Renvoie le tableau de type UInt8, contenant les forces de vibration.
Service IMU Data du brassard Myo
L'enregistrement TIMUDataService
contient le tableau d'octets des données d'orientation.
Create
: Initialise une instance deTIMUDataService
avec un tableau d'octets reçu du périphérique.Value
: Tableau d'octets brut reçu du périphérique.WOrientation
: Renvoie une valeur Int16 indiquant l'orientation W.XOrientation
: Renvoie une valeur Int16 indiquant l'orientation X.YOrientation
: Renvoie une valeur Int16 indiquant l'orientation Y.ZOrientation
: Renvoie une valeur Int16 indiquant l'orientation Z.Accelerometer
: Renvoie une valeur Int64 indiquant les données de l'accéléromètre. En unités de g. La plage est +/-16. Les valeurs sont multipliées par MyoHwAccelerometerScale (2048).Gyroscope
: Renvoie une valeur Int64 indiquant les données du gyroscope. En unités de deg/s. La plage est +/-2000. Les valeurs sont multipliées par MyoHwGyroscopeScale (16).
Type de l'événement classificateur du brassard Myo
TMyoClassifierEventType
énumère les types de l'événement classificateur possibles ArmSynced = 1
, ArmUnsynced
, Pose
, Unlocked
, Locked
et SyncFailed
.
Bras du brassard Myo
TMyoArm
énumère les valeurs possibles pour identifier le bras Right = 1
, Left
et Unknown = $FF
.
Direction X du brassard Myo
TMyoXDirection
énumère les directions possibles pour l'axe x de Myo relativement au bras de l'utilisateur, TowardsWrist = 1
, TowardsElbow
et Unknown = $FF
.
Résultat de la synchronisation du brassard Myo
TMyoSyncResult
énumère les résultats possibles lorsque l'utilisateur tente un geste de synchronisation Unknown
et SyncFailedTooHard
.
Evénement classificateur du brassard Myo
L'enregistrement TMyoClassifierEvent
contient le tableau d'octets des données de l'événement classificateur.
Create
: Initialise une instance deTMyoClassifierEvent
avec un tableau d'octets reçu du périphérique.Value
: Tableau d'octets brut reçu du périphérique.EventType
: Renvoie le type de l'événement classificateur.Arm
: Renvoie le bras de l'utilisateur.XDirection
: Renvoie la direction X Myo avec l'axe x des directions possibles de Myo relativement au bras de l'utilisateur.Pose
: Renvoie la pose déverrouillage.SyncResult
: Renvoie le résultat de la synchronisation indiquant le résultat possible lorsque l'utilisateur tente un geste de synchronisation.
Informations sur le périphérique
- Périphérique :
Myo Armband
- Modèle :
MYO
- Technologie : Bluetooth LE
Problèmes connus
- Le périphérique Myo Armband 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 peut pas être appairée au brassard Myo.
Informations spécifiques au périphérique
Le brassard Myo requiert l'activation/désactivation des caractéristiques en lecture à chaque fois qu'il est connecté ou qu'il se reconnecte (ce comportement est provoqué par le mode économie d'énergie). Ce périphérique prend en charge les trois principales caractéristiques suivantes :
- IMUData pour les données de mouvement.
- ClassiffierEvent pour les données de pose (gestes de la main et du poignet).
- EMGData : données d'électromyographie (EN).
- Remarque : les données EMG sont rarement utilisées. Toutefois, si vous comptez les utiliser, assurez-vous que le firmware a été mis à jour. Cette caractéristique est disponible depuis décembre 2014.
Pour activer/désactiver ces caractéristiques, vous devez envoyer une commande. Par exemple, pour activer l'ensemble de ces caractéristiques, procédez comme suit :
Myo1.Command := TMyoCommand.Create(TMyoCommandType.SetMode, TMyoEMGMode.SendEMG, TMyoIMUMode.SendAll, TMyoClassifierMode.Enabled);
Vous devez aussi vous assurer que le brassard Myo est déverrouillé. Pour qu'il soit configuré en permanence en mode déverrouillé (jusqu'à la réception d'une nouvelle commande de verrouillage), utilisez la commande suivante :
Myo1.Command := TMyoCommand.Create(TMyoCommandType.Unlock, Integer(TMyoUnlockType.Hold));