Aus Raspberry Pi Geek 08/2021

Mit dem WizFi360 Projekte einfach vernetzen (Seite 2)

Abbildung 2: Bevor Sie mit dem Baustein kommunizieren, setzen Sie im seriellen Monitor die korrekten Einstellungen.

Abbildung 2: Bevor Sie mit dem Baustein kommunizieren, setzen Sie im seriellen Monitor die korrekten Einstellungen.

Listing 1 zeigt die Kommandos, die Sie jetzt nacheinander absetzen. Jedes davon quittiert WizFi360 mit einem OK in der Konsole. Das erste Kommando testet, ob die Kommunikation fehlerfrei funktioniert. Erscheinen schon hier Fehlermeldungen, sehen Sie sich am besten noch einmal die Einstellungen für das Zeilenende genau an. Das zweite und dritte Kommando dienen dazu, den GPIO PA_01 (Pin 3) in den Ausgabemodus zu versetzen. Der Befehl aus Zeile 4 schaltet die LED an, der aus Zeile 5 wieder ab.

Listing 1

LED ansteuern

AT
AT+SYSIOSETCFG=3,1,1
AT+SYSGPIODIR=3,1
AT+SYSGPIOWRITE=3,1
AT+SYSGPIOWRITE=3,0

Das nächste Beispiel ist nun schon etwas komplexer, wir verbinden uns mit einem WLAN (Listing 2). Die ersten drei Kommandos aktivieren den Station Mode, DHCP und multiple Verbindungen. Das vierte Kommando gibt eine Liste der vorhandenen Netzwerke aus. Der Befehl aus Zeile 5 verbindet das Modul schließlich mit einem konkreten Netzwerk.

Listing 2

WLAN aktivieren

AT+CWMODE_CUR=1
AT+CIPMUX=0
AT+CWDHCP_CUR=1,1
AT+CWLAP
AT+CWJAP_CUR="SSID","Passwort"
AT+CIPSTA_CUR?

Verwenden Sie hier die Zugangsdaten für Ihr lokalen WLAN. Das Kommando meldet zurück, ob alles geklappt hat. Zu guter Letzt lassen Sie sich mit dem Befehl aus der letzten Zeile von Listing 2 die aktuelle Konfiguration der Schnittstelle ausgeben. Abbildung 3 zeigt alle Kommandos mit den dazugehörigen Ausgaben.

Abbildung 3: Die Kommandos aus <a href="#artRef-l2">Listing&nbsp;2</a> mit den zugeh&ouml;rigen Ausgaben des WizFi360.

Abbildung 3: Die Kommandos aus Listing 2 mit den zugehörigen Ausgaben des WizFi360.

Einige Kommandos aus Listing 2 enden auf _CUR. Das bedeutet, dass diese Änderungen nur temporär im System abgelegt werden. Möchten Sie die Verbindungsdaten dauerhaft im Flash speichern, verwenden Sie als Endung _DEF. Eine komplette Übersicht aller AT-Kommandos finden Sie in der Dokumentation auf der Homepage des Herstellers [5].

WizFi360 plus Arduino

Nach Abschließen der Grundkonfiguration verbinden Sie das WizFi360 mit einem Arduino Mega [6]. Die Tabelle “Verbindungen” zeigt, welche Verbindungen Sie dazu herstellen müssen. An den Ausgang 13 des Arduino Mega schließen Sie für den Test über einem Vorwiderstand von 1 KOhm eine 10mm-LED [7] an.

Arduino Mega

WizFi360

5V

VIN

GND

GND

TX1

RX1

RX1

TX1

Um zu testen, ob die Verbindung zwischen den beiden Boards funktioniert, bietet sich das Beispiel SerialPassthrough (unter Datei | Beispiele | 04**Communication) aus der Arduino IDE an. Sie müssen lediglich die Geschwindigkeit der beiden Schnittstellen von 9600 auf 115200 Baud erhöhen.

Mit dem Beispielprogramm übertragen Sie erneut die AT-Kommandos aus den ersten Versuchen über den seriellen Monitor der Arduino IDE. Der einzige Unterschied besteht darin, dass Sie die Kommandos jetzt vom Arduino aus an das WizFi360-Board senden.

Für den Webserver müssen Sie zusätzlich die Bibliothek WizFi360EVB-Arduino in die IDE einbinden, die Sie in Form einer ZIP-Datei von der Github-Seite des WiFiEsp-Projekts [8] herunterladen. Ohne die Datei auszupacken, importieren Sie das Archiv danach über den Menüpunkt Sketch | Bibliothek einbinden | ZIP-Bibliothek hinzufügen in die Arduino IDE.

Nach dem Import finden Sie unter Datei | Beispiele | >WiFiEsp neue Beispiele. Im Testaufbau verwenden wir hier WebServer als Ausgangspunkt für ein eigenes Programm. Das Beispiel ist von den Entwicklern sehr gut dokumentiert, sodass der Einstieg recht leicht fällt.

Beachten Sie, dass Sie auf jeden Fall die Zugangsdaten für das WLAN anpassen müssen. Darüber hinaus gilt es, die Geschwindigkeit der Schnittstelle Serial1 auf 115 200 Baud anzupassen. Mit diesen zwei kleinen Änderungen ist das Programm schon lauffähig.

Unverändert bewirkt das Programm noch wenig. Daher passen wir es nun so an, dass sich die LED an Port 13 per Fingerzeig an- und ausschalten lässt. Neben einigen kleinen Anpassungen, die für die Funktion nötig sind, sehen Sie die größte Änderung in Listing 3.

Listing 3

Webserver

client.print("<!DOCTYPE HTML>\r\n");
client.print("<HTML>\r\n");
client.print("<BODY>\r\n");
client.print("<A HREF='/'>\r\n");
client.print("<svg width=100 height=100 xmlns='http://www.w3.org/2000/svg' version='1.1'>\r\n");
client.print("<path d='M40,30 A10,10 0 0 1 60,30 L60,45 L 64,45 L64,50 L36,50 L36,45 L40,45Z'\r\n");
if (digitalRead(13)==1){
  client.print("style='fill:grey; stroke:black; stroke-width:2px;' />\r\n");
  digitalWrite(13,0);
} else {
  client.print("style='fill:red; stroke:black; stroke-width:2px;' />\r\n");
  digitalWrite(13,1);
}
client.print("<line x1=44 y1=50 x2=44 y2=100 style='stroke:black; stroke-width:2px;' />\r\n");
client.print("<line x1=56 y1=50 x2=56 y2=90 style='stroke:black; stroke-width:2px;' />\r\n");
client.print("<svg>\r\n");
client.print("</A\r\n");
client.print("</BODY>\r\n");
client.print("</HTML>\r\n");
DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDFUmfang: 4 HeftseitenPreis €0,99
(inkl. 19% MwSt.)
RASPBERRY PI GEEK KAUFEN
EINZELNE AUSGABE Print-Ausgaben Digitale Ausgaben
ABONNEMENTS Print-Abos Digitales Abo
TABLET & SMARTPHONE APPS Raspberry Pi Geek bei Google Play Readly Logo
Nach oben