Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Gewenste statusconfiguratie voor circuits

Knipperen van een LED met een domeinspecifieke Taal toegepast via een Module Twin op een Docker-container met Johnny 5 op een Raspberry Pi.

Verhaal

Overzicht:

Azure IoT Edge zorgt ervoor dat intermitterende verbonden apparaten de gewenste eigenschappen kunnen verkrijgen via "Module Twins". Deze tweelingen kunnen worden gebruikt als een gewenste statusconfiguratie om specifiek gedrag binnen Edge-modules aan te sturen. Edge-modules worden uitgevoerd als containerworkloads om zelfherstel en snelle implementatie mogelijk te maken zonder constante connectiviteit. Wanneer internet beschikbaar is, kunnen apparaten gebruikmaken van cloudservices om methoden binnen modules te bellen.

In dit project ontwikkelen we een IoT Edge-module met behulp van de Azure IoT NodeJS SDK die een gewenste status verkrijgt uit de cloud die de GPIO-pinnen op een Raspberry Pi configureert om gewenste bewerkingen uit te voeren op een aangesloten circuit met Johnny 5.

Dit kan interessante gebruikssituaties mogelijk maken, zoals:* Meerdere werkingsmodi toestaan ​​voor een enkel circuit door verschillende statusconfiguraties toe te passen* Redundante hardware-failover met twee apparaten aangesloten op hetzelfde circuit wanneer georkestreerd en correct geconfigureerd met kubernetes.

Achtergrond:

Gewenste statusconfiguratie is een populair concept dat vaak wordt gebruikt bij het voor de eerste keer inrichten van servers en om naleving van actieve systemen af ​​te dwingen. We breiden dit concept uit naar circuits die gebruikmaken van services die zijn ontworpen voor veerkracht en een gezonde werking in gebieden waar de netwerkconnectiviteit af en toe kan zijn. Deze benadering stelt ons in staat om het gedrag van een aangesloten circuit tijdens runtime te veranderen en interessante scenario's met hardwareredundantie mogelijk te maken.

De Azure IoT Edge runtime van Microsoft stelt ons in staat om een ​​solide basis voor het project te vormen. Deze runtime draait als een service op lokale hardware en zorgt voor orkestratie van gecontaineriseerde "modules" die per apparaat in de Azure-cloud worden geconfigureerd. Er worden altijd twee systeemmodules gebruikt, de edge-agent die configuraties voor module-implementatie verkrijgt en toepast en de edge-hub die berichten in de cache naar de cloud en communicatie tussen modules mogelijk maakt.

We zijn begonnen met het maken van een Azure IoT Edge-module met behulp van de Azure IoT NodeJS SDK. Deze module krijgt een dubbele configuratie die de gewenste en gerapporteerde eigenschappen voor een bepaald apparaat specificeert. We gebruiken een domeinspecifieke taal die wordt geparseerd in een Johny 5-configuratie. Dit stelt ons in staat om te definiëren hoe een circuit in de cloud moet functioneren en dit toe te passen op onze IoT Edge-module.

Een voorbeeldconfiguratie wordt hieronder gegeven:

“config”:“{\”randapparatuur\”:[{\”type\”:\”Led\”,\”name\”:\”alarm\”,\”settings\”
:{\ ”pin\”:\”GPIO18\”},\”initialState\”:{\”method\”:\”blink\”,\”period\”:500},\
“outputAlias\”:\”alias2\”},{\”type\”:\”Button\”,\”name\”:\”button\”,\”settings\”:
{\”pin\”:\ ”GPIO20\”},\”outputAlias\”:\”alias1\”}]}”,

Dit voorbeeld definieert een LED-apparaat op GPIO18 met een aanvankelijke toestand van knipperend aan/uit elke 500 ms. De status van de LED kan zich verspreiden naar andere modules met behulp van de outputAlias. Er wordt ook een knop gebruikt op GPIO20 die statuswijzigingen naar alias1 publiceert. In een dergelijke configuratie kunnen we onafhankelijk reageren op statuswijzigingen in aanvullende modules door de outputAlias ​​te routeren.

We ondersteunen momenteel de configuratie van een thermometer, LED en knopapparaat met behulp van dit mechanisme.

Stappen om te reproduceren:

Om te beginnen heb je een Microsoft Azure-abonnement nodig met een geïmplementeerde IoT Hub.

Vervolgens wil je beginnen met de configuratie van je hardware door een LED aan te sluiten op GPIO18 van de Raspberry Pi. Instructies voor dit proces vindt u hier.

Nu de circuits en cloudservices zijn voorbereid, wilt u de Azure IoT Edge-runtime op uw Raspberry Pi installeren door deze handleiding te volgen. Nadat de runtime is geïnstalleerd, moet u het apparaat handmatig registreren door deze instructies te volgen.

Vervolgens zullen we een speciale implementatie maken binnen Azure waarmee we onze LED kunnen laten knipperen.

Maak een implementatie zoals hieronder weergegeven:

De afbeeldings-URL:

toolboc/johnny5onedge:0.0.981-arm32v7

De opties voor het maken van containers:

{“ExposedPorts”:{“9229/tcp”:{}},“HostConfig”:{“PortBindings”:{“9229/tcp”:[{“HostPort”:“9229”}]},“Privileged”:true ,“Apparaten”:[{“PathOnHost”:“/dev/i2c-1”,“PathInContainer”:“/dev/i2c-1”,“CgroupPermissions”:“rwm”},{“PathOnHost”:“/dev /gpiomem”,“PathInContainer”:“/dev/gpiomem”,“CgroupPermissions”:“rwm”}],“Mounts”:[{“Type”:“bind”,“Bron”:“/lib/modules/” ,“Doel”:“/lib/modules/”}]}}

De gewenste eigenschappen van de Module Twin:

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

Opslaan als je klaar bent. Sla vervolgens de secties "Specificeer routes" en "Specificeer statistieken" door totdat u bij "Doelapparaten" komt.

Stel de prioriteit in op 10 en voeg een doelvoorwaarde toe van tags.environment=’blinK

Lees meer informatie…..

Gewenste statusconfiguratie voor circuits


Productieproces

  1. Kubernetes in Azure:hulpprogramma's en tips voor succes
  2. Azure-certificeringen:experts van Cloud Institute leggen uit wat beter voor u is
  3. Is Azure DevOps-certificering geschikt voor mij?
  4. Hoe bereid je je voor op het Azure DevOps-certificeringsexamen zonder training?
  5. Effectief kostenbeheer voor AWS, GCP en Azure
  6. Besturingscircuits
  7. Configuraties voor HMI's in risicovolle situaties
  8. Afgeschermde kabels voor signaalcircuits (deel 2)
  9. Afgeschermde kabels voor signaalcircuits (deel 1)
  10. Microsoft lanceert Azure Edge Zones voor 5G-toepassingen
  11. State-of-the-art CAD/CAM-technologie:een gunstige productiebenadering voor technische materialen