Deutschland - Kennzeichen Deutschland

Incoterms:DDP
Alle Preise sind inklusive Zoll und Gebühren bei der Auswahl der Versandart.

Bitte bestätigen Sie Ihre Währungsauswahl:

Euro
Versand ist kostenfrei bei den meisten Bestellungen über 50 € (EUR)

US Dollar
Versand ist kostenfrei bei den meisten Bestellungen über $60 (USD)

Bench Talk for Design Engineers

Mouser German Blog

rss

Mouser Electronics, Inc german language blogs


Nachbarschaftshilfe Michael Parks

Aufbau redundanter Systeme mit Silicon Labs und Amazon Sidewalk

 

Bildquelle: © Crovik Media/Stock.adobe.com

Amazon Sidewalk ist eine von Amazon entwickelte Technologie für drahtlose Netzwerke mit geringer Bandbreite und großer Reichweite. Mit ihr soll die Konnektivität von smarten Bauteilen über die Grenzen eines einzelnen Hauses oder Grundstücks hinaus erweitert werden, indem ein gemeinsames Netzwerk geschaffen wird, das größere Flächen wie Nachbarschaften und Gemeinden abdecken kann. Amazon Sidewalk schafft ein Netzwerk aus verschiedenen Geräten, das dazu beitragen kann, das Betriebsverhalten und die Konnektivität von IoT-Geräten zu verbessern, insbesondere für Geräte außerhalb des Hauses, wie beispielsweise Überwachungssysteme, Außenbeleuchtung und Sprinkleranlagen. Dadurch können diese Geräte mit dem Internet verbunden werden, auch wenn sie sich außerhalb der Reichweite herkömmlicher Wi-Fi®- und anderer Heimnetzwerke befinden. Produktentwickler können somit ihre Ressourcen auf die Entwicklung ihrer Produkte konzentrieren und brauchen sich nicht um Aufbau, Sicherung und Wartung eines zuverlässigen Netzwerks zu kümmern.

Amazon Sidewalk nutzt dazu einen kleinen Teil der Wi-Fi-Bandbreite Ihres Heimnetzes, um eine Verbindung zu Amazon Sidewalk-fähigen Geräten herzustellen, und zwar auch zu Geräten außerhalb Ihres Hauses oder zu denen Ihrer Nachbarn (wenn diese ebenfalls Teil des Amazon Sidewalk-Netzwerks sind). Die sprachgesteuerten smarten Geräte wie Amazon Echo oder Ring-Kameras fungieren als „Brücken“ und stellen einen kleinen Teil der Internet-Bandbreite Ihres Heimnetzes für das Amazon-Sidewalk-Netzwerk zur Verfügung (Abbildung 1). Diese Brücken stellen dann die Verbindung zu Amazon Sidewalk-fähigen Geräten her, die wiederum Bluetooth® Low Energy (speziell das 900-MHz-Spektrum) und andere Frequenzen für die Kommunikation über große Entfernungen nutzen und damit eine größere Reichweite als Standard-WLAN-Netz ermöglichen. Dadurch kann der Einsatzbereich von smarten Geräten wie Beleuchtungen, Haustier-Trackern oder intelligenten Bewässerungssystemen auf mehr als achthundert Meter erweitert werden.

 

Abbildung 1: Digitale Assistenten dienen als Gateway zwischen Amazon Sidewalk-fähigen Geräten. (Quelle: Mickael/stock.adobe.com)

Dies kann besonders in Situationen hilfreich sein, in denen WLAN- oder Mobilfunkverbindungen eingeschränkt sind, oder bei Geräten im Außenbereich, die weit von einem Netzzugangspunkt entfernt sind, oder wenn ein Heimnetzwerk ausfällt, aber wichtige Nachrichten an den Hausbesitzer weitergeleitet werden müssen.

Dieses letzte Szenario werden wir im vorliegenden Projekt untersuchen. Wir werden ein System zur Wassererkennung erstellen, das in der Lage ist, das Vorhandensein von Wasser zu erkennen und diese Informationen über Amazon Sidewalk an den Hausbesitzer weiterzuleiten. Wenn der Wasserschaden einen Unterbrecher auslöst, der mit dem WLAN-Router des Heimnetzes verbunden ist, können die Notfallbenachrichtigungen über ein mit dem Nachbarn verbundenes Gerät, z. B. ein Echo-Gerät oder eine Ring-Türklingel, gesendet werden, wobei dann Sidewalk anstelle des Heim-WLANs verwendet wird.

Stückliste und Werkzeuge

Um ein System zur Wassererkennung mithilfe von Amazon Sidewalk zu bauen, werden wir die folgende Bauteile und Tools verwenden:

Neben der Stückliste sind die folgenden Werkzeuge entweder erforderlich oder es ist empfehlenswert, sie zur Hand zu haben:

  • Amazon Echo (vierte Generation oder neuer), das als Sidewalk Gateway dient
  • Kleine Kreuzschlitz- und Flachkopfschraubendreher
  • Drahtschneider/-abisolierer
  • Schere
  • Wärmeschrumpfschläuche
  • Kleine Spitzzange
  • Digitales Multimeter
  • PC mit Windows 10 oder einer neueren Version
  • Schnelle Internetverbindung

Ressourcen

Wichtiger Hinweis zum Amazon Sidewalk Gateway

Laut Silicon Labs und Amazon ist für das Sidewalk-Protokoll ein Gateway erforderlich, das den Endgeräten den Zugriff auf die Amazon Web Services (AWS) Cloud ermöglicht. Mehrere Amazon-Produkte können als Gateway fungieren (Abbildung 2). Diese Produkte verfügen über unterschiedliche Funktionen und bieten unterschiedliche Unterstützung für die Merkmale des Amazon Sidewalk Netzwerks. In diesem Projekt wird der Amazon Echo Smart-Lautsprecher der vierten Generation als Amazon Sidewalk-Gateway verwendet, da Silicon Labs das Amazon Sidewalk Software Development Kit für seine Produkte validiert.

 

Abbildung 2: Die Sidewalk-Technologie unterstützt mehrere drahtlose Protokolle für den Zugriff von Endgeräten. (Quelle: Allen Stoner/stock.adobe.com)

Wir empfehlen die Verwendung eines eigenen Gateways, da dies während der Entwicklungsphase die größte Kontrolle über die Bereitstellung eines konsistenten Netzwerkzugangs bietet. Vielleicht haben Sie jedoch bereits Zugang zum Amazon Sidewalk-Netzwerk an Ihrem Standort. Um den Zugang zu bestätigen, überprüfen Sie die Sidewalk Coverage Map von Amazon.

Die Konfiguration Ihres Gateways mit Sidewalk-Unterstützung hängt außerdem von einigen zusätzlichen Anforderungen ab:

  • Das Echo-Gerät muss eine IP-Adresse in den USA haben.
  • Amazon Sidewalk muss auf dem Gerät aktiviert sein.

Hardware-Aufbau

Für dieses Projekt zur Wassererkennung werden das Silicon Labs Pro Kit für Amazon Sidewalk (Abbildung 3) und ein Flüssigkeitsleckagesensor BAF147B002-00A0 von Amphenol Advanced Sensors verwendet.

Silicon Labs Pro Kit für Amazon Sidewalk

Das umfangreiche Development Kit Silicon Labs Pro Kit for Amazon Sidewalk enthält alle Hardware- und Software-Tools, die für die Evaluierung und Entwicklung von hochskalierbaren Amazon Sidewalk-Geräten erforderlich sind.

 

Abbildung 3: Silicon Labs bietet ein Pro-Kit für Amazon Sidewalk an, das die schnelle Entwicklung von Prototypen für Endpunkt-Geräte, wie beispielsweise Geräte zur Wassererkennung, ermöglicht. (Quelle: Silicon Labs)

Das Kit enthält die folgenden Bauteile:

  • KG100S Radio-Board: Ein komplettes Referenzdesign, das die in Amazon Sidewalk verwendeten Bluetooth-, FSK- und CSS-Protokolle unterstützt. Dies ist das Radio-Board, das wir für dieses Projekt verwenden werden.
  • BG24 Radio-Board: Ein reines Bluetooth-Board für Nutzer, die ein diskretes Design wünschen.
  • FSK/CSS Adapter-Board: Ein Board, mit dem das BG24 Radio-Board mit Amazon Sidewalk verwendet werden kann.
  • Wireless Pro Kit Mainboard: Eine Hauptplatine mit integriertem J-Link Debugger, Packet Trace Interface und virtuellem COM-Port, das die App-Entwicklung und das Debugging des angeschlossenen Radio-Boards und externer Hardware über eine Stiftleiste ermöglicht.
  • Amazon Sidewalk SDK: Ein Software Development Kit, das die notwendigen Bibliotheken und Tools zur Entwicklung von Amazon Sidewalk Geräten bereitstellt.

In diesem Projekt werden wir das Wireless Pro Kit Mainboard und das KG100S Radio-Board verwenden. Achten Sie darauf, dass das KG100S Radio-Board sorgfältig in die Hauptplatine eingesteckt wird, wobei die Pins mit feinem Rastermaß zwischen den beiden Schaltungen genau ausgerichtet werden müssen. Stellen Sie außerdem sicher, dass der Stromschalter der Hauptplatine auf die Position AEM gestellt ist. So können wir das Gerät über USB betreiben, während wir die Firmware programmieren. Die Hauptplatine kann auch mit einer CR2032-Knopfzelle betrieben werden, wodurch sich das Gerät bequem in realen Applikationen einsetzen lässt.

Amphenol Advanced Sensors Flüssigkeitsleckagesensor

Für dieses Projekt verwenden wir den Flüssigkeitsleckagesensor BAF147B002-00A0 von Amphenol Advanced Sensors (Abbildung 4). Der Sensor verfügt über einen festen 510-kΩ-Widerstand, der die beiden Elektroden miteinander verbindet. Wasser wirkt als variabler Widerstand zwischen den Elektroden, wodurch sich der Innenwiderstand des Sensors ändert.

 

Abbildung 4: Der Wassersensor folgt einer Spannungsteilertopologie und ist mit dem ADC-Pin der Hauptplatine verbunden. (Quelle: Mouser)

Ein zweiter fester externer 10-kΩ-Widerstand muss als Pull-up-Widerstand hinzugefügt werden. Ein Anschluss des Widerstands wird mit einem Anschluss des Wassersensors verbunden, der andere Anschluss mit der 3,3-V-Stromversorgung der Hauptplatine (Abbildung 5).

  1. Verbinden Sie den Pin der 3-V-Spannungsquelle der Hauptplatine mit einem Anschluss des externen 10-kΩ-Festwiderstandes.
  2. Verbinden Sie den anderen Draht des 10-kΩ-Festwiderstandes mit einem Draht des Wassersensors.
  3. Verbinden Sie den zweiten Draht des Wassersensors direkt mit dem GND-Pin der Hauptplatine.
  4. Verbinden Sie einen Draht mit dem ADC-Pin des Development Boards mit dem Anschluss des 10-kΩ-Widerstands, der auch mit dem Wassersensor verbunden ist. Schließen Sie ihn NICHT an den Draht an, der mit der Quelle für die Spannung verbunden ist.
  5. Bringen Sie an allen Verbindungen Schrumpfschläuche an, um zu verhindern, dass Wasser mit der Verdrahtung in Kontakt kommt.

 

Abbildung 5: Auf dieser Zeichnung ist dargestellt, wie der Wassersensor mit dem Development Board verdrahtet wird und wie der Spannungsteiler funktioniert. (Quelle: Amphenol Advanced Sensors/Mouser Electronics)

HINWEIS: Der 10-kΩ-Widerstand ist ein empfohlener Anfangswert. Wenn Sie keine zuverlässigen Sensormesswerte erhalten, versuchen Sie es mit immer größeren Widerstandswerten. Wenn Sie ein anderes Development Board mit einer 5-V-Quellenspannung verwenden, sollten Sie außerdem mit einem 100-kΩ-Festwiderstand beginnen.

Softwareentwicklung

Dieses Projekt zur Wassererkennung verwendet Simplicity Studio 5 zur Entwicklung und zum Upload der Firmware auf das Development Board. Silicon Labs Simplicity Studio 5 (SSv5) ist eine kostenlose integrierte Entwicklungsumgebung (IDE) für die Entwicklung von Embedded-Applikationen auf Bauteilen von Silicon Labs. SSv5 ist eine Eclipse-basierte IDE, die für Windows, macOS und Ubuntu Linux verfügbar ist und ein umfassendes Toolset für Softwareentwicklung, Debugging, Konfiguration und Analyse bietet. Sie ist darauf ausgelegt, den Entwicklungsprozess für Entwickler mit unterschiedlichen Vorkenntnissen zu vereinfachen. Sie bietet eine intuitive Benutzerschnittstelle und eine große Auswahl an Funktionen, darunter:

  • Bauteil-Konfiguration: Die Plattform beinhaltet Tools für die Konfiguration von Mikrocontroller-Peripherie und Einstellungen. SSv5 erkennt automatisch die Boards, die Sie einsetzen, und filtert nicht zutreffende Applikationen heraus, sodass nur die Beispiel-Applikationen angezeigt werden, die Ihrer Hardware-Auswahl entsprechen. Dies vereinfacht den Einrichtungsprozess und reduziert die Komplexität der Arbeit mit Hardware-Bauteilen.
  • Wireless-Entwicklung: SSv5 bietet umfassende Unterstützung für die Wireless-Entwicklung und eignet sich damit für Internet der Dinge (IoT)-Applikationen. Sie enthält Bibliotheken und Tools für die Entwicklung von Applikationen mit gängigen Wireless-Protokollen wie Bluetooth, Zigbee® und Thread.
  • Energy Profiler: Der energetische Wirkungsgrad ist bei batteriebetriebenen Embedded-Systemen von entscheidender Bedeutung. Der Energy Profiler in Simplicity Studio unterstützt Entwickler bei der Analyse und Optimierung des Stromverbrauchs, was für die Verlängerung der Lebensdauer von Batterien in Bauteilen unerlässlich ist.
  • Software Stacks und Bibliotheken: Die Plattform bietet eine Reihe von vorgefertigten Software-Komponenten, wie z. B. Protokollstapel, Middleware und Treiber. Diese Software-Komponenten sparen Entwicklungszeit und vereinfachen den Prozess der Erstellung von Embedded-Applikationen.
  • Integriertes Konfigurationsmanagement: Simplicity Studio ist direkt mit den privaten GitHub-Repositories verbunden.

Neben Simplicity Studio empfehlen wir Ihnen, J-Link RTT Viewer herunterzuladen und zu installieren, um Applikationen anzuzeigen. Die Software ist hier abrufbar. Um die Applikation zu konfigurieren, gehen Sie folgendermaßen vor:

  1. Wählen Sie im Fenster „Configuration“ im Abschnitt „Connection to J-Link“ die Option USB.
  2. Wählen Sie in der Dropdown-Liste „Specify Target Device“ (Zielgerät angeben) das angeschlossene Bauteil aus. Für das EFR32xG24 Radio Board BRD4187C wählen Sie EFR32MG24AxF1536.
  3. Wählen Sie in den Dropdown-Listen „Target Interface“ und „Speed“ (Zielschnittstelle und Geschwindigkeit) SWD und 4.000 kHz.
  4. Wählen Sie im Abschnitt „RTT Control Block“ die Option „Auto Detection“.
  5. Klicken Sie auf OK.

Amazon Webdienste

Da Sidewalk ein Amazon-Dienst ist, werden wir AWS (Abbildung 6) für das Backend verwenden, um Nachrichten vom Embedded-Gerät an die Cloud zu übermitteln. Nach Angaben von Silicon Labs müssen Sie wissen, ob Sie ein Root-Nutzer oder ein IAM-Nutzer (Identity and Access Management) sind. Wenn Sie ein neuer Entwickler sind, empfehlen wir Ihnen, ein Root-Benutzerkonto einzurichten. Wenn Sie ein erfahrener Entwickler sind, dann ist ein IAM-Nutzerkonto die bessere Wahl. Während des Einrichtungsvorgangs werden Sie aufgefordert, Ihre Zahlungs- und Rechnungsdaten anzugeben.

 

Abbildung 6: Der Amazon AWS IoT Core dient als Backend für Sidewalk-Geräte. (Quelle: Amazon)

Sie benötigen ein Amazon Sidewalk-fähiges Bridge-Gerät, um eine Verbindung zu AWS über Amazon Sidewalk herzustellen. Für dieses Projekt werden wir den Amazon Echo der vierten Generation verwenden. Zum Zeitpunkt der Erstellung dieses Beitrags ermöglicht Amazon die Sidewalk-Funktion nur auf Bridge-Geräten in den Vereinigten Staaten. Um Ihr Gerät in AWS einzubinden, gehen Sie wie folgt vor:

  1. Erstellen Sie ein AWS-Konto:
  2. Installieren Sie die AWS-Schnittstelle (Command Line Interface, CLI):
    • Sie können AWS CLI auf Windows, macOS oder Linux installieren. Weitere Informationen finden Sie im AWS CLI-Installationshandbuch.
    • WICHTIGER HINWEIS: Achten Sie darauf, dass Sie die Version 1 verwenden. X CLI. Die Verwendung der Version 2.X CLI wird derzeit nicht unterstützt.
  3. Konfigurieren Sie die AWS CLI durch Eingabe von aws configure und drücken Sie die Eingabetaste.
    • Sie werden aufgefordert, Ihre AWS-Kontoanmeldedaten einzugeben.
    • Amazon hat Sidewalk nur für die Region Nord-Virginia („us-east-1“) aktiviert. Zur Unterstützung der Sidewalk-Entwicklung (und des Betriebs) sollten Ihre AWS CLI und Ihre AWS-Webschnittstelle in dieser Region us-east-1 lokalisiert sein.
  4. Installieren Sie das Amazon Sidewalk SDK.
    • Sie können das Amazon Sidewalk SDK von der Silicon Labs-Website installieren.
    • Weitere Informationen finden Sie im Amazon Sidewalk SDK Getting Started Guide.
  5. Erstellen Sie ein Amazon Sidewalk-Konto.
  6. Registrieren Sie Ihr Silicon Labs Pro Kit bei Amazon Sidewalk:
    1. Gehen Sie zur Amazon Sidewalk Developer Console und klicken Sie auf die Registerkarte Manage Devices.
    2. Klicken Sie auf Register Device.
    3. Wählen Sie Silicon Labs als Gerätehersteller und Pro Kit als Gerätemodell.
    4. Klicken Sie auf Generate Registration Code (Registrierungscode generieren).
    5. Geben Sie den Registrierungscode in die Silicon Labs Simplicity Studio IDE ein.
  7. Stellen Sie Ihr Silicon Labs Pro Kit mit AWS bereit:
    1. Öffnen Sie die AWS IoT Core-Konsole.
    2. Klicken Sie auf die Registerkarte Manage.
    3. Klicken Sie auf Things.
    4. Klicken Sie auf Create Thing (Thing erstellen).
    5. Wählen Sie Custom (Benutzerdefiniert) als Thing-Typ.
    6. Geben Sie eine Bezeichnung für Ihr „Thing“ ein und klicken Sie auf Next (Weiter).
    7. Wählen Sie Connect your device directly to AWS IoT Core (Gerät mit AWS IoT Core direkt verbinden) und klicken Sie auf Next (Weiter).
    8. Klicken Sie auf Create Thing (Thing erstellen).
    9. Kopieren Sie den Amazon Resource Name (ARN) des Gerätes.

Amazon Sidewalk im Überblick

Amazon Sidewalk ist ein drahtloses Netzwerk mit geringer Bandbreite und großer Reichweite, das nicht lizenzierte Frequenzen im 900-MHz-Band nutzt. Amazon betreibt das Netz für Endkunden kostenlos. Es ist als gesichertes, gemeinsam genutztes Netzwerk konzipiert, d. h. mehrere Geräte können dieselben Netzwerkressourcen gemeinsam nutzen. Möglich wird dies durch eine Technik mit der Bezeichnung Channelization, bei der die verfügbare Bandbreite in mehrere Kanäle aufgeteilt wird. Jedes Gerät kann einem bestimmten Kanal zugewiesen werden, um Störungen zwischen den Geräten zu vermeiden.

Alle über das Netz übertragenen Daten werden verschlüsselt, und die Geräte werden mit einem sicheren Handshake-Protokoll authentifiziert. Dadurch wird das Netzwerk vor unberechtigtem Zugriff und Datendiebstahl geschützt. Die Technologie ist außerdem skalierbar und für viele Bauteile geeignet und kann leicht auf neue Bereiche erweitert werden. Daher eignet sie sich gut für Applikationen, die eine geringe Leistung, eine niedrige Datenrate und eine große Reichweite erfordern. Sidewalk unterstützt Datengeschwindigkeiten von bis zu 100 KBit/s und Reichweiten von bis zu 1,6 Kilometern. Im Folgenden sind weitere technische Details zu Amazon Sidewalk aufgeführt:

  • Modulation: Amazon Sidewalk verwendet ein Modulationsschema mit der Bezeichnung Chirp Spread Spectrum (CSS). Dabei handelt es sich um eine Modulationstechnik mit Spreizspektrum, die auf hohe Störfestigkeit ausgelegt ist.
  • Netzwerk-Topologie: Amazon Sidewalk verwendet eine Mesh-Netzwerk-Topologie. In einem Mesh-Netzwerk können Geräte sowohl direkt miteinander als auch mit dem Internet kommunizieren. Dadurch kann sich das Netzwerk selbst heilen und die Bauteile können die Reichweite des Netzwerks erweitern. Amazon Sidewalk besteht aus einem Protokollstapel, einer Anwendungsschicht und einer physikalischen Standardschicht (insbesondere Bluetooth Low Energy, FSK und CSS Wireless Technologien).
  • Registrierung der Geräte: Geräte müssen bei Amazon Sidewalk registriert werden, bevor sie das Netzwerk nutzen können. Dadurch wird sichergestellt, dass nur autorisierte Geräte das Netzwerk nutzen können.
  • Verwaltung der Geräte: Amazon Sidewalk bietet eine Plattform für die Geräteverwaltung, mit der Administratoren die mit dem Netzwerk verbundenen Geräte verwalten können. Dazu zählen das Anzeigen des Gerätestatus, das Konfigurieren von Geräteeinstellungen und das Aktualisieren der Firmware des Geräts.

Code-Übersicht

Sehen wir uns zunächst die wichtigsten Dateien des Projekts in Simplicity Studio von Silicon Labs an (Abbildung 7):

  • app_init.c verwaltet Funktionen, die mit der Konfiguration der Hardware des Boards zusammenhängen, z. B. die Netzwerkgeräte und den ADC.
  • app_cli.c bietet einen Mechanismus zur Interaktion mit dem Dev-Board von einem über USB angeschlossenen Entwicklungscomputer aus.
  • app_process.c enthält den Code zur Verarbeitung der Kommunikation und der Sensorinteraktionen.
  • main.c ist die Hauptschleife, die kontinuierlich läuft, um die Wassererkennungssensoren abzufragen und Daten an AWS IoT Core zu übertragen.

 

Abbildung 7: Simplicity Studio 5 von Silicon Labs ist eine All-in-One-Lösung für Programmierung, Debugging und Uploading. (Quelle: Silicon Labs)

initADC  aktiviert die Takte und stellt die ADC-Hardware auf die entsprechenden Einstellungen ein. Wenn nicht anders angegeben, sind die typischen Bedingungen ADCCLK=10MHz, OSR=2.

void initADC(void) {

    // Aktivieren des ADC Taktgebers

    CMU_ClockEnable(cmuClock_ADC0, true);

    // ADC-Konfiguration auf Standardeinstellungen einstellen.

    ADC_Init_TypeDef init = ADC_INIT_DEFAULT;

    ADC_InitSingle_TypeDef initSingle = ADC_INITSINGLE_DEFAULT;

    // Ändern der Standard-ADC-Einstellungen

    init.timebase = ADC_TimebaseCalc(0);

    init.prescale = ADC_PrescaleCalc(ADC_FREQ, 0);

    ADC_Init(ADC0, &init);

// Eingang auf Temperatursensor einstellen. Diesen Wert für Ihren spezifischen Sensor ändern

    initSingle.acqTime = adcAcqTime16; // Erfassungszeit

    initSingle.posSel = adcPosSelAPORT2XCH9; // Wechsel zu Ihrem ADC-Kanal

    ADC_InitSingle(ADC0, &initSingle);

}

readADC liest die am ADC-Pin anliegende Spannung.

uint32_t readADC(void) {

    ADC_Start(ADC0, adcStartSingle);

    while (ADC0->STATUS & ADC_STATUS_SINGLEACT) {}

    return ADC_DataSingleGet(ADC0);

}

Um eine Nachricht von einem Silicon Labs Pro Kit an AWS IoT Core mit Simplicity Studio zu senden, müssen Sie das Gerät einrichten, eine sichere MQTT-Verbindung herstellen und eine Nachricht an ein AWS IoT Core-Thema veröffentlichen. Falls Sie es noch nicht getan haben, erstellen Sie zunächst ein AWS-Konto.

Registrieren Sie Ihr Pro Kit in AWS IoT Core und erstellen Sie ein Thing. Erzeugen und laden Sie ein Zertifikat, einen privaten Schlüssel und ein Root-CA-Zertifikat für Ihr Gerät herunter.

Öffnen Sie anschließend Simplicity Studio und erstellen Sie ein neues Projekt für Ihr Pro Kit.

Stellen Sie sicher, dass die erforderlichen SDKs und Bibliotheken für Netzwerke und MQTT in Ihrem Projekt enthalten sind. Wir werden eine sichere MQTT-Verbindung verwenden, um Nachrichten an den AWS IoT Core-Endpunkt zu veröffentlichen (Port 8883 für sicheres MQTT). Der Code wird zwei Funktionen ausführen: Zunächst wird eine MQTT-Verbindung zwischen dem Gerät am Endpunkt über das Gateway und dem AWS IoT Core hergestellt. Veröffentlichen Sie dann eine benutzerdefinierte Nachricht zu einem bestimmten Thema in AWS IoT Core.

#include "mqtt_client.h"

void initNetwork();

// MQTT initialisieren und mit AWS IoT verbinden

void connectToAwsIot() {

    MQTTClient client;

    Network network;

    unsigned char sendbuf[512], readbuf[512];

    

    NetworkInit(&network);

    MQTTClientInit(&client, &network, 3000, sendbuf, sizeof(sendbuf), readbuf, sizeof(readbuf));

    MQTTPacket_connectData connectData = MQTTPacket_connectData_initializer;

    connectData.MQTTVersion = 4;  // MQTT v3.1.1

    connectData.clientID.cstring = "your_device_id"; // Geben Sie Ihre Geräte-ID ein

    connectData.username.cstring = "your_username_here";

    connectData.password.cstring = "your_password_here";

    // Verwenden Sie Ihren AWS IoT-Endpunkt

    char* address = "your_aws_iot_endpoint";

    int rc = NetworkConnect(&network, address, 8883);

    // Fehlerprüfung für rc (Rückgabecode)

    rc = MQTTConnect(&client, &connectData);

    // Fehlerprüfung für rc

}

// Veröffentlichen einer Nachricht zu einem Thema

void publishMessage(MQTTClient* client, char* topic, char* payload) {

    MQTTMessage message;

    message.qos = QOS1;

    message.retained = 0;

    message.payload = payload;

    message.payloadlen = strlen(payload);

    int rc = MQTTPublish(client, topic, &message);

}

main  Mit der Hauptfunktion rufen Sie all diese Unterstützungsfunktionen in einer Hauptschleife auf, die ununterbrochen läuft. Die Hauptfunktion wird etwa so aussehen:

int main(void) {

    char* topic = "/sidewalk/water/data";

    initNetwork();

    connectToAwsIot();

    CHIP_Init();

    // ADC initialisieren

    initADC();

    while (1) {

            uint32_t adcValue = readADC();

            char* payload = adcValue;

   publishMessage(&client, topic, payload);

            // Kleine Verzögerung

            for (volatile int i = 0; i < 100000; i++) {}

     }

    return 0;

}

Firmware-Upload, Endmontage und Fehlerbehebung

Da wir nun wissen, wie die Firmware aufgebaut ist und funktioniert, werden wir die Firmware vom Entwicklungscomputer auf das Zielgerät übertragen. Das folgende Verfahren sollte in den meisten Fällen funktionieren:

  1. Stecken Sie die Radio-Board EFR32xG24 auf die Hauptplatine und verbinden Sie die Baugruppen über den USB-Steckverbinder auf der Hauptplatine mit Ihrem Computer. Ein neuer Eintrag sollte in der Ansicht „Debug Adapters“ erscheinen.
  2. Wählen Sie das Board aus und stellen Sie sicher, dass Ihr Gecko SDK mit installierter Amazon Sidewalk SDK-Erweiterung im Abschnitt „Preferred SDK“ der Karte „General Information“ ausgewählt ist. Wenn die Version der Secure FW auf der Karte schlechter ist als die minimale SE FW für Ihr Zielgerät, die auf der Seite „Prerequisites“ (Voraussetzungen) angegeben ist, klicken Sie auf den nebenstehenden Link, um die SE FW zu aktualisieren, bevor Sie fortfahren.
  3. Fügen Sie das Sidewalk-Projekt (.slcp-Datei) in der Simplicity IDE-Ansicht hinzu, indem Sie auf File und dann auf Import klicken. Klicken Sie im Dialogfeld des Importassistenten auf „Browse“ (Durchsuchen) und navigieren Sie zu dem Ort, an dem Sie das Projekt-Repository von GitHub heruntergeladen haben.
  4. Stellen Sie sicher, dass Simplicity Studio das Projekt zum Arbeitsbereich-Ordner hinzufügt. Sie können nun das Projekt kompilieren und auf dem EFR32xG24 Radio-Board flashen.
  5. Klicken Sie auf Run (Ausführen), wählen Sie dann Debug, um das Projekt zu kompilieren.
  6. Warten Sie, bis der Build- und Flash-Vorgang erfolgreich abgeschlossen wurde.
  7. Klicken Sie auf Run (Ausführen) im Debug-Fenster.
  8. Wählen Sie Resume (Fortsetzen).

Wenn Sie Probleme beim Importieren der Projektdateien haben, ziehen Sie diesen Silicon Labs Amazon Sidewalk Troubleshooting Guide für den Import von Projekten in Simplicity Studio zu Rate. Öffnen Sie einen Browser und prüfen Sie, ob Sie MQTT-Nachrichten auf der AWS IoT Core MQTT-Konsole empfangen (Abbildung 8). Der Endpunkt sendet Daten über das Gateway an die AWS-Cloud-Plattform. Führen Sie die folgenden Schritte aus, um eine AWS-Regel zur Umleitung der Daten an ein MQTT-Thema einzurichten.

  1. Rufen Sie die MQTT-Konsole in AWS auf.
  2. Geben Sie # in das Topic-Filterfeld ein.
  3. Klicken Sie auf Subscribe (Abonnieren).
  4. Bringen Sie den Sensor mit Wasser in Kontakt, um den Endpunkt zum Senden einer Nachricht an den AWS IoT Core zu veranlassen.

 

Abbildung 8: Prüfung, ob das Endpunktgerät über Sidewalk mit dem AWS IoT-Kern verbunden ist. (Quelle: Green Shoe Garage)

Wenn Sie feststellen, dass Sie Probleme mit Ihrem Projekt haben, finden Sie hier einige Tipps zur Fehlerbehebung, die wir während der Entwicklung entdeckt haben:

  1. Stellen Sie sicher, dass das Radio-Board fest auf der Hauptplatine sitzt.
  2. Stellen Sie sicher, dass die Gleichstromversorgung mindestens 1 A Strom liefern kann.
  3. Stellen Sie sicher, dass die an den Wassersensor angeschlossenen Pins mit den in der Firmware definierten Pins übereinstimmen.
  4. Wenn sich der Stromschalter in der AEM-Position befindet, wird die Hardware des Kits über den USB-C-Anschluss der Hauptplatine mit Strom versorgt. Wenn Sie die Hauptplatine an eine USB-Stromquelle anschließen, wird die Demo gestartet; prüfen Sie zunächst die Verfügbarkeit des Netzwerks:
    1. Verkleinern Sie den physischen Abstand zwischen der Entwicklungsplatine und Ihrem Amazon Echo-Gateway.
    2. Wenn Sie ein anderes Gateway als einen Amazon Echo verwenden, stellen Sie sicher, dass Sidewalk aktiviert ist, und stellen Sie sicher, dass das Gateway von einer in den USA registrierten IP-Adresse aus auf das Internet zugreifen kann (fragen Sie: „Alexa, bist du online?“).
  5. Weitere Tipps zur Fehlerbehebung, insbesondere im Hinblick auf mögliche Probleme bei der Bereitstellung und Netzwerkkonfiguration, finden Sie im Amazon Sidewalk Entwicklerhandbuch von Silicon Labs.

Fazit

Amazon Sidewalk ist eine Netzwerk-Technologie für die Haus- und Gebäudeautomation, die dem dringenden Bedarf an größerer Reichweite und zuverlässiger Konnektivität von smarten Bauteilen gerecht werden soll. Durch die innovative Nutzung von Netzwerken mit geringer Bandbreite und geringem Stromverbrauch über Geräte, die viele Verbraucher wahrscheinlich bereits besitzen (z. B. Amazon Echo und Ring), ermöglicht Sidewalk die nahtlose Verbindung von Geräten wie Kameras, intelligenten Schlössern und Wassermeldern über die Grenzen des eigenen Heimbereiches hinaus. Mit der Förderung eines gemeinschaftlichen Netzwerks, das den Funktionsumfang von Geräten und die Verbindungsfähigkeit in der Nachbarschaft verbessert, könnte Sidewalk das Konzept des Smart Home und der smarten Nachbarschaft revolutionieren.

Natürlich reicht das Vorhandensein eines Netzwerks allein nicht aus, wenn die Endgeräte diese umfangreiche Verbindungsfähigkeit nicht nutzen. Mit dem Silicon Labs Pro Kit für Amazon Sidewalk und dem dazugehörigen SDK für die Simplicity Studio IDE hat Silicon Labs Entwicklern den Einstieg in Amazon Sidewalk leicht und unkompliziert gemacht (Abbildung 9). Silicon Labs ist ein führender Anbieter von Lösungen für die Entwicklung von Geräten für Amazon Sidewalk und IoT-Geräte und verfügt über ein umfassendes Angebot an Lösungen für die drahtlose Entwicklung von Amazon Sidewalk. Damit kann Silicon Labs Ihren Entwicklungsprozess vereinfachen, die Kosten senken und die Markteinführung beschleunigen.

 

Abbildung 9: Amazon Sidewalk mit Hardware von Silicon Labs macht es einfach, Sidewalk-kompatible Prototypen und IoT-Geräte zu erstellen. (Quelle: Silicon Labs)

Silicon Labs und Amazon unterstützen Sie auch beim Übergang vom Prototyping zur Massenfertigung. Auftragsfertiger können Sidewalk-fähige Produkte in Massenfertigung herstellen und dann die Steuerungsprotokolldaten an AWS IoT Core übermitteln, damit Amazon Sidewalk diese Geräte in großen Mengen bereitstellen und sie in AWS IoT einbinden kann. Sie bieten sogar einen Online-Preiskalkulator an, um die Kosten für die AWS-Services für Ihr Sidewalk-fähiges Produkt zu ermitteln. Bei der Umstellung auf eine benutzerdefinierte Board-to-Board-Lösung mit dem KG100S empfiehlt Silicon Labs jedoch, die SPI-Peripherie nicht zu verwenden, da sie bereits im Design des Multi-Chip-Moduls für die Kommunikation zwischen dem EFR32 und dem Transceiver von Semtech genutzt wird. Die gemeinsame Nutzung des SPI BUS mit zusätzlichen Geräten kann sich negativ auf zeitkritische Signale der Funksteuerung auswirken und zu Signalausfällen in Sub-GHz-Protokollen führen.



« Zurück


Michael Parks's Blog

Alle Autoren

Alle anzeigen Alle anzeigen
Blog nach Datum anzeigen