Inhaltsverzeichnis:

MKR1000 IoT Client/Server-Kommunikation - Gunook
MKR1000 IoT Client/Server-Kommunikation - Gunook

Video: MKR1000 IoT Client/Server-Kommunikation - Gunook

Video: MKR1000 IoT Client/Server-Kommunikation - Gunook
Video: Teleduino ile Uzaktan Kontrol | Arduino'yu İnternete Bağlamak | Arduino Ethernet Shield 2024, November
Anonim
MKR1000 IoT-Client/Server-Kommunikation
MKR1000 IoT-Client/Server-Kommunikation
MKR1000 IoT-Client/Server-Kommunikation
MKR1000 IoT-Client/Server-Kommunikation

Dieses Projekt beschreibt, wie Sie zwei Arduino/Genuino MKR1000-Geräte als Server und Client einrichten.

Der Client MKR1000 verbindet sich mit Ihrem lokalen WLAN und hört auf zwei Eingänge, die physisch mit dem Client verbunden sind. einer von einem Knopf und der andere von einem Vibrationssensor.

Beim Erfassen einer Eingabe sendet der Client MKR eine GET-Anforderung an den Server MKR. Beim Empfang einer GET-Anfrage ist der Server MKR so eingestellt, dass er die eingebaute LED (ausgelöst durch Client-Taste) ein- und ausschaltet und eine angeschlossene LED auf- und abblendet (ausgelöst durch Vibrationssensor).

Schritt 1: Erstellen eines Servers auf dem MKR

Erstellen eines Servers auf dem MKR
Erstellen eines Servers auf dem MKR
Erstellen eines Servers auf dem MKR
Erstellen eines Servers auf dem MKR

Richten Sie den MKR und das Steckbrett wie im Bild ein.

Die rote LED ist über einen 1K Ohm Widerstand mit Pin #5 verbunden. Beim MKR ist dies ein digitaler Pin mit Pulsweitenmodulation (PWM), mit dem wir eine Variable für die Helligkeit der roten LED einstellen können. Die andere Seite der LED ist mit Masse verbunden.

Die andere in diesem Projekt verwendete LED ist die Onboard-LED des MKR. Dies ist mit "L" gekennzeichnet und ist eine grüne LED, die in der Nähe des VCC-Pins positioniert ist.

Laden Sie nun den Code für den MKR-Server von hier herunter (oder kopieren Sie ihn einfach):

github.com/TonyCanning/MKR1000-IoT - der Arduino-Skizzenname ist "MKRServerLED.ino"

Bearbeiten Sie dies, um Ihre WLAN-Netzwerk-Anmeldeinformationen einzuschließen, und laden Sie diese auf Ihren MKR1000 hoch.

Öffnen Sie nach dem Hochladen Ihren seriellen Monitor. (Siehe Bild für Beschreibungen der Ausgabe) Zunächst wird Ihnen nur die IP-Adresse des Servers angezeigt. Notieren Sie sich diese Adresse, da Sie sie auch im Kundencode angeben müssen.

An diesem Punkt ist der Server in Betrieb - wir richten den anderen MKR1000 als Client für diesen Server ein. Da es sich jedoch um einen Server handelt, können Sie sich von jedem Gerät in Ihrem Netzwerk mit ihm verbinden, indem Sie die bereitgestellte https://192.168.*.*-Adresse in einen beliebigen Browser eingeben.

Probieren Sie dies aus und beachten Sie, dass die bereitgestellte Seite über anklickbare Adressen verfügt, um den Status der LEDs auf Ihrem MKR10000-Server zu ändern. Beachten Sie auch, dass die Details des seriellen Monitors aktualisiert werden, um diese vom Server empfangenen GET-Anforderungen zu bestätigen.

Hinweis: Es gibt Bibliotheken, die Sie möglicherweise installieren müssen. Ich bin mir ziemlich sicher, dass Sie mindestens die Wifi101-Bibliothek installieren müssen. Nachdem ich lange gebastelt habe, bin ich mir nicht sicher, was Sie von einer Neuinstallation benötigen oder nicht benötigen. Bitte beachten Sie die zahlreichen verfügbaren Informationen zum Installieren von Bibliotheken oder zu anderen Problemen, die Sie möglicherweise beim Verbinden/Hochladen usw. haben.

Schritt 2: Erstellen eines Clients zum Senden von Anfragen an den Server

Erstellen eines Clients zum Senden von Anfragen an den Server
Erstellen eines Clients zum Senden von Anfragen an den Server
Erstellen eines Clients zum Senden von Anfragen an den Server
Erstellen eines Clients zum Senden von Anfragen an den Server

Stellen Sie das Steckbrett wieder wie im Bild gezeigt ein.

In diesem Fall wird der Taster an Pin 9 und der Vibrationssensor an Pin 8 angeschlossen. Bot-Pins sind digitale Pins, da die Zustände für diese beiden Eingänge binär sind.

Sobald Sie fertig sind, können Sie den Client-Code hier herunterladen (oder kopieren und einfügen):

github.com/TonyCanning/MKR1000-IoT - der Dateiname ist "MKRClientGET.ino"

An dieser Stelle empfehle ich, den Server MKR von Ihrem PC zu trennen, da Sie bei der Auswahl des COM-Ports keinen Unterschied in der Namensgebung feststellen werden.

Bearbeiten Sie den Code, um Ihre WLAN-Netzwerkanmeldeinformationen und die IP-Adresse des MKR-Servers anzugeben. Stellen Sie sicher, dass Sie nach jedem Vorkommen von "192" suchen und zu Ihrer Server-IP-Adresse wechseln. Laden Sie den Code auf den Client MKR hoch und öffnen Sie den seriellen Monitor.

Sehen Sie sich das Bild des seriellen Monitorausgangs an und versuchen Sie, die Taste zu drücken und den Vibrationssensor auszulösen.

Schritt 3: Testen Sie es

Du solltest fertig sein….

An dieser Stelle können Sie jeden MKR1000 mit Strom versorgen (wie auch immer Sie dies wünschen). Geben Sie ihnen etwa 10 Sekunden Zeit und versuchen Sie, die Client-Eingaben auszulösen, um die Ausgaben auf dem Server-MKR zu sehen.

Schritt 4: Fehlerbehebung

Bevor Sie mit der Fehlerbehebung beginnen, überprüfen Sie die Grundlagen. Versorgen Sie beide MKRs mit Strom? Sind Sie sicher, dass sich der Servercode auf dem Server-MKR und der Clientcode für den Client-MKR befindet?

Mögliche Probleme und Lösungen:

1. C:\Users\tony\Documents\Arduino\MKRClientGET\MKRClientGET.ino:11:18: schwerwiegender Fehler: 1234.h: No such file or directory #include

^

Kompilierung beendet.

Dies ist ein Problem mit einer Bibliothek, die Sie nicht installiert haben. Wie in den vorherigen Schritten erwähnt, gibt es eine Fülle von Informationen dazu.

2. Server oder Client stellen keine Verbindung zu Ihrem WLAN her; wahrscheinlich haben Sie Ihre WLAN-Zugangsdaten nicht angegeben.

3. Serieller Client-Monitor, der Statusänderungen anzeigt, aber keine Reaktion auf dem Server; Dies ist wahrscheinlich darauf zurückzuführen, dass in Ihrem Clientcode keine Server-IP-Adresse angegeben wurde.

4. Schaltfläche zeigt keinen Änderungsstatus im seriellen Monitor an; Überprüfen Sie Ihre Steckbrettkontakte.

Empfohlen: