Fabrication industrielle
Internet des objets industriel | Matériaux industriels | Entretien et réparation d'équipement | Programmation industrielle |
home  MfgRobots >> Fabrication industrielle >  >> Manufacturing Technology >> Processus de fabrication

Configuration de l'état souhaité pour les circuits

Clignotement d'un voyant à l'aide d'un domaine spécifique Langage appliqué via un Module Twin à un conteneur Docker exécutant Johnny 5 sur un Raspberry Pi.

Histoire

Présentation :

Azure IoT Edge permet aux appareils connectés par intermittence d'obtenir les propriétés souhaitées via « Module Twins ». Ces jumeaux peuvent être utilisés comme configuration d'état souhaitée pour piloter un comportement spécifique au sein des modules Edge. Les modules Edge s'exécutent en tant que charges de travail de conteneur pour permettre une auto-réparation et un déploiement rapide sans avoir besoin d'une connectivité constante. Lorsqu'Internet est disponible, les appareils peuvent tirer parti des services cloud pour appeler des méthodes au sein des modules.

Dans ce projet, nous développons un module IoT Edge à l'aide du SDK Azure IoT NodeJS qui obtient un état souhaité du cloud qui configure les broches GPIO sur un Raspberry Pi pour effectuer les opérations souhaitées sur un circuit connecté en utilisant Johnny 5.

Cela peut permettre des cas d'utilisation intéressants tels que :* Autoriser plusieurs modes de fonctionnement pour un seul circuit en appliquant différentes configurations d'état* Basculement matériel redondant avec deux périphériques connectés au même circuit lorsqu'il est orchestré et correctement configuré avec kubernetes.

Contexte :

La configuration de l'état souhaité est un concept populaire qui est souvent utilisé lors du premier provisionnement des serveurs et pour assurer la conformité des systèmes en cours d'exécution. Nous étendons ce concept aux circuits en utilisant des services conçus pour la résilience et un fonctionnement sain dans les zones où la connectivité réseau peut être intermittente. Cette approche nous permet de modifier le comportement d'un circuit connecté au moment de l'exécution et permet des scénarios intéressants impliquant une redondance matérielle.

Le runtime Azure IoT Edge de Microsoft nous permet de former une base solide pour le projet. Ce runtime s'exécute en tant que service sur le matériel local et permet l'orchestration de « modules » conteneurisés qui sont configurés par appareil dans le cloud Azure. Deux modules système sont toujours utilisés, l'agent de périphérie qui obtient et applique les configurations de déploiement de module et le hub de périphérie qui permet la messagerie en cache vers le cloud et la communication inter-module.

Nous avons commencé par créer un module Azure IoT Edge à l'aide du SDK Azure IoT NodeJS. Ce module reçoit une configuration jumelle qui spécifie les propriétés souhaitées et signalées pour un périphérique donné. Nous utilisons un langage spécifique au domaine qui est analysé dans une configuration Johny 5. Cela nous permet de définir comment un circuit doit fonctionner dans le cloud et de l'appliquer à notre module IoT Edge.

Un exemple de configuration est fourni ci-dessous :

« config » : "{\"périphériques\" :[{\"type\":\"Led\",\"nom\":\"alarme\",\"paramètres\"
 :{\ ”pin\”:\”GPIO18\”},\”initialState\”:{\”method\”:\”blink\”,\”period\”:500},\
“outputAlias\”:\”alias2\”},{\”type\”:\”Bouton\”,\”nom\”:\”bouton\”,\”paramètres\”:
{\”pin\”:\ "GPIO20\"},\"outputAlias\":\"alias1\"}]}",

Cet exemple définit un périphérique LED sur GPIO18 avec un état initial de clignotement marche/arrêt toutes les 500 ms. L'état de la LED est capable de se propager à d'autres modules à l'aide de outputAlias. Un bouton est également utilisé sur GPIO20 qui publie les changements d'état sur alias1. Dans une telle configuration, nous pouvons répondre indépendamment aux changements d'état dans des modules supplémentaires en routant le outputAlias.

Nous prenons actuellement en charge la configuration d'un thermomètre, d'une LED et d'un bouton à l'aide de ce mécanisme.

Étapes à reproduire :

Pour commencer, vous aurez besoin d'un abonnement Microsoft Azure avec un IoT Hub déployé.

Ensuite, vous souhaiterez commencer la configuration de votre matériel en connectant une LED au GPIO18 du Raspberry Pi. Les instructions pour ce processus sont disponibles ici.

Avec les circuits et les services cloud préparés, vous souhaiterez installer le runtime Azure IoT Edge sur votre Raspberry Pi en suivant ce guide. Une fois l'environnement d'exécution installé, vous devrez provisionner manuellement l'appareil en suivant ces instructions.

Ensuite, nous allons créer un déploiement spécial dans Azure qui nous permettra de faire clignoter notre LED.

Créez un déploiement comme indiqué ci-dessous :

L'URL de l'image :

toolboc/johnny5onedge:0.0.981-arm32v7

Les options de création du conteneur :

{"ExposedPorts":{"9229/tcp":{}},"HostConfig":{"PortBindings":{"9229/tcp":[{"HostPort":"9229"}]},"Privileged":true ,« Périphériques » :[{« PathOnHost » :« /dev/i2c-1 »,« PathInContainer » :« /dev/i2c-1»,« CgroupPermissions » :« rwm »},{« PathOnHost » :« /dev /gpiomem”,“PathInContainer”:“/dev/gpiomem”,“CgroupPermissions”:“rwm”}],“Mounts”:[{“Type”:“bind”,“Source”:“/lib/modules/” ,« Cible » :« /lib/modules/ »}]}}

Les propriétés souhaitées du Module Twin :

{
"properties.desired" :{
"config" :"{\"peripherals\":[{\"type\":\"Led\",\"name\":\" alarm\”,\”settings\”:{\”pin\”:\”GPIO18\”},\”initialState\”:{\”method\”:\”blink\”,\”period\”:500 },\”outputAlias\”:\”alias2\”},{\”type\”:\”Button\”,\”name\”:\”on\”,\”settings\”:{\”pin \”:\”GPIO20\”},\”outputAlias\”:\”alias1\”}]}”
}
}

Enregistrez lorsque vous avez terminé. Passez ensuite les sections « Spécifier les itinéraires » et « Spécifier les métriques » jusqu'à ce que vous arriviez à « Appareils cibles ».

Définissez la priorité sur 10 et ajoutez une condition cible de tags.environment=’blinK

Lire plus d'informations…..

Configuration d'état souhaitée pour les circuits


Processus de fabrication

  1. Kubernetes dans Azure :outils et astuces pour réussir
  2. Certifications Azure :les experts du Cloud Institute expliquent ce qui vous convient le mieux
  3. La certification Azure DevOps me convient-elle ?
  4. Comment se préparer à l'examen de certification Azure DevOps sans formation ?
  5. Comment faire une gestion efficace des coûts pour AWS, GCP et Azure
  6. Circuits de contrôle
  7. Configurations pour IHM dans des situations à risque
  8. Câbles blindés pour circuits de signaux (Partie 2)
  9. Câbles blindés pour circuits de signaux (Partie 1)