Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Gewünschte Zustandskonfiguration für Stromkreise

Blinken einer LED unter Verwendung eines Domänenspezifischen Sprache, die über einen Module Twin auf einen Docker-Container angewendet wird, auf dem Johnny 5 auf einem Raspberry Pi ausgeführt wird.

Geschichte

Übersicht:

Azure IoT Edge ermöglicht es, dass zeitweise verbundene Geräte die gewünschten Eigenschaften durch „Modulzwillinge“ erhalten. Diese Zwillinge können als gewünschte Zustandskonfiguration verwendet werden, um spezifisches Verhalten innerhalb von Edge-Modulen zu steuern. Edge-Module werden als Container-Workloads ausgeführt, um eine Selbstreparatur und eine schnelle Bereitstellung ohne ständige Konnektivität zu ermöglichen. Wenn das Internet verfügbar ist, können Geräte Cloud-Dienste nutzen, um Methoden innerhalb von Modulen aufzurufen.

In diesem Projekt entwickeln wir ein IoT-Edge-Modul mit dem Azure IoT NodeJS SDK, das einen gewünschten Zustand aus der Cloud erhält, das die GPIO-Pins auf einem Raspberry Pi konfiguriert, um die gewünschten Operationen auf einem angeschlossenen Schaltkreis auszuführen Johnny 5.

Dies kann interessante Anwendungsfälle ermöglichen wie:* Mehrere Betriebsmodi für eine einzelne Schaltung durch Anwenden unterschiedlicher Zustandskonfigurationen zulassen* Redundantes Hardware-Failover mit zwei Geräten, die an dieselbe Schaltung angeschlossen sind, wenn sie orchestriert und richtig konfiguriert sind mit kubernetes.

Hintergrund:

Die gewünschte Zustandskonfiguration ist ein beliebtes Konzept, das häufig bei der erstmaligen Bereitstellung von Servern und zur Durchsetzung der Compliance in laufenden Systemen verwendet wird. Wir erweitern dieses Konzept auf Schaltkreise, die Dienste verwenden, die auf Ausfallsicherheit und einen fehlerfreien Betrieb in Bereichen ausgelegt sind, in denen die Netzwerkkonnektivität unterbrochen sein kann. Dieser Ansatz ermöglicht es uns, das Verhalten einer angeschlossenen Schaltung zur Laufzeit zu ändern und interessante Szenarien mit Hardware-Redundanz zu ermöglichen.

Die Azure IoT Edge Runtime von Microsoft ermöglicht es uns, eine solide Basis für das Projekt zu schaffen. Diese Laufzeit läuft als Dienst auf lokaler Hardware und ermöglicht die Orchestrierung von containerisierten „Modulen“, die pro Gerät in der Azure-Cloud konfiguriert werden. Es werden immer zwei Systemmodule verwendet, der Edge-Agent, der Konfigurationen für die Modulbereitstellung abruft und anwendet, und der Edge-Hub, der zwischengespeicherte Nachrichten an die Cloud und die Kommunikation zwischen Modulen ermöglicht.

Wir begannen mit der Erstellung eines Azure IoT Edge-Moduls mit dem Azure IoT NodeJS SDK. Dieses Modul erhält eine Zwillingskonfiguration, die gewünschte und gemeldete Eigenschaften für ein bestimmtes Gerät spezifiziert. Wir verwenden eine domänenspezifische Sprache, die in eine Johny 5-Konfiguration geparst wird. Auf diese Weise können wir definieren, wie eine Schaltung in der Cloud funktionieren soll, und sie auf unser IoT Edge-Modul anwenden.

Eine Beispielkonfiguration finden Sie unten:

„config“:„{\“peripherals\“:[{\“type\“:\“Led\“,\“name\“:\“alarm\“,\“settings\“
:{\ ”pin\”:\”GPIO18\”},\”initialState\”:{\”method\”:\”blink\”,\”period\”:500},\
”outputAlias\”:\“alias2\“},{\“Typ\“:\“Button\“,\“Name\“:\“Button\“,\“Einstellungen\“:
{\“Pin\“:\ ”GPIO20\”},\”outputAlias\”:\”alias1\”}]}”,

Dieses Beispiel definiert ein LED-Gerät auf GPIO18 mit einem Anfangszustand des Blinkens alle 500 ms. Der Zustand der LED kann über den Ausgangsalias auf andere Module übertragen werden. Auf GPIO20 wird auch eine Schaltfläche verwendet, die Zustandsänderungen an Alias1 veröffentlicht. In einer solchen Konfiguration können wir eigenständig auf Zustandsänderungen in zusätzlichen Modulen reagieren, indem wir den AusgabeAlias ​​weiterleiten.

Wir unterstützen derzeit die Konfiguration eines Thermometers, einer LED und eines Tastengeräts mit diesem Mechanismus.

Schritte zur Reproduktion:

Zu Beginn benötigen Sie ein Microsoft Azure-Abonnement mit einem bereitgestellten IoT Hub.

Als nächstes möchten wir mit der Konfiguration Ihrer Hardware beginnen, indem Sie eine LED an GPIO18 des Raspberry Pi anschließen. Eine Anleitung für diesen Vorgang finden Sie hier.

Wenn die Schaltkreise und Clouddienste vorbereitet sind, sollten Sie die Azure IoT Edge-Laufzeit auf Ihrem Raspberry Pi installieren, indem Sie dieser Anleitung folgen. Sobald die Laufzeitumgebung installiert ist, müssen Sie das Gerät manuell bereitstellen, indem Sie diese Anweisungen befolgen.

Als Nächstes erstellen wir eine spezielle Bereitstellung in Azure, die es uns ermöglicht, unsere LED zu blinken.

Erstellen Sie eine Bereitstellung wie unten gezeigt:

Die Bild-URL:

toolboc/johnny5onedge:0.0.981-arm32v7

Die Container-Erstellungsoptionen:

{"ExposedPorts":{"9229/tcp":{}},"HostConfig":{"PortBindings":{"9229/tcp":[{"HostPort":"9229"}]},"Privileged":true ,"Geräte":[{"PathOnHost":"/dev/i2c-1","PathInContainer":"/dev/i2c-1","CgroupPermissions":"rwm"},{"PathOnHost":"/dev /gpiomem“,“PathInContainer“:“/dev/gpiomem“,“CgroupPermissions“:“rwm“}],“Mounts“:[{“Typ“:“bind“,“Quelle“:“/lib/modules/“ ,"Ziel":"/lib/modules/"}]}}

Die gewünschten Eigenschaften des Modul-Zwillings:

{
„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\”}]}”
}
}

Speichern Sie, wenn Sie fertig sind. Überspringen Sie dann die Abschnitte "Routen angeben" und "Metriken angeben", bis Sie zu "Zielgeräte" gelangen.

Setzen Sie die Priorität auf 10 und fügen Sie eine Zielbedingung von tags.environment=’blinK . hinzu

Weitere Informationen lesen…..

Gewünschte Zustandskonfiguration für Schaltkreise


Herstellungsprozess

  1. Kubernetes in Azure:Tools und Tipps für den Erfolg
  2. Azure-Zertifizierungen:Experten des Cloud Institute erklären, was für Sie besser ist
  3. Ist die Azure DevOps-Zertifizierung das Richtige für mich?
  4. Wie bereite ich mich ohne Schulung auf die Azure DevOps-Zertifizierungsprüfung vor?
  5. Effizientes Kostenmanagement für AWS, GCP und Azure
  6. Steuerkreise
  7. Konfigurationen für HMIs in riskanten Situationen
  8. Abgeschirmte Kabel für Signalschaltkreise (Teil 2)
  9. Abgeschirmte Kabel für Signalschaltkreise (Teil 1)
  10. Microsoft führt Azure Edge Zones für 5G-Anwendungen ein