1.0.7
11.03.2016
Add a watchdog which resets the WLAN module when it hangs.
1.0.6
10.03.2016
Add system clock initialization code for Xmega controllers.
1.0.5
09.03.2016
Improved timing and source code structure.
1.0.4
08.03.2016
The correct line-feed format for the WLAN module is now auto-detected.
Debugging via SERIAL_ECHO option is now disabled by default.
1.0.3
07.03.2016
Reduced RAM usage a lot and improved stability.
Ich empfehle den ATmega168, ATmega328 (Arduino Nano und Uno), Atmega644, ATmega1284, ATmega2560 oder Xmega128D3, sowie ein ESP-01 Modul.
Der Zugriff auf die I/O Ports erfolgt über einfache Textbefehle, so daß keine speziellen Treiber oder Libraries erforderlich sind. Es funktioniert daher mit jeder beliebigen Programmiersprache und jedem Betriebsystem, wie PC, Smartphones, Tablets, Raspberry Pi, usw.
Downloads:
Beispiel-Programm:
Zum Beispiel setzt man so den Pin PC3 auf High:
Sende: oPC3,1
Antwort: Ok
So fragt man Port D als Hexadezimalzahl ab:
Sende: iPD
Antwort: PD=3F
Den vollständigen Befehlssatz findest du weiter unten. Du kannst ungefähr 4 Befehle pro Sekunde ausführen.
Die Befehle d, p, o und i können sich wahlweise auf einen einzelnen Pin, einen ganzen Port oder alle Ports gleichzeitig beziehen. Pin-Nummern werden immer als Dezimal-Zahl angegeben, und die Daten sind entweder binär (0/1) oder Hexadezimal.
Beispiel für das Lesen eines einzelnen Eingangs mit aktiviertem Pull-Up Widerstand:
Befehl: pPB7,1
Antwort: Ok
Befehl: iPB7
Antwort: PB7=1
Beispiel für einen ganzen Port am Stück (8 Pins):
Befehl: iPA
Antwort: PA=FF
Beispiel für alle Ports auf einmal:
Befehl: i
Antwort: i=000001FF
Die Hexadezimalzahl bezieht sich auf die Ports DD CC BB AA. Bei größeren Mikrocontrollern ist sie doppelt so lang und bezieht sich auf die Ports HH GG FF EE DD CC BB AA.
Beispiel für einen einzelnen I/O Pin:
Befehl: dPB4,1
Antwort: Ok
Befehl: oPB4,1
Antwort: Ok
Befehl: oPB4,0
Antwort: Ok
Beispiel für einen ganzen Port am Stück (8 Pins):
Befehl: dPB,FF
Antwort: Ok
Befehl: oPB,FF
Antwort: Ok
Befehl: oPB,00
Antwort: Ok
Beispiel für alle Ports auf einmal:
Befehl: d,FFFFFFFF
Antwort: Ok
Befehl: o,FFFFFFFF
Antwort: Ok
Befehl: o,00000000
Antwort: Ok
Die größeren Mikrocontroller mit mehr Ports erwarten längere Hexadezimalzahlen für die Ports HH GG FF EE DD CC BB AA, aber ohne Leerzeichen dazwischen.
Befehl: rVCC
Antwort: Ok
Befehl: a3
Antwort: ADC3=01A3
Das Ergebnis ist eine hexadezimale Zahl, entsprechend dem Messwert der analogen Spannung.
Befehl: iPX
Antwort: PX=FFFF
Beispiel zur Abfrage eines einzelnen Pins:
Befehl: iPX9
Antwort: PX9=1
Die Befehle d und p stehen bei erweiterten Eingängen und Ausgängen nicht zur Verfügung!
Befehl: oPY,FFFF
Antwort: Ok
Beispiel zum Ändern eines einzelnen Pins:
Befehl: oPY12,1
Antwort: Ok
Die Befehle d und p stehen bei erweiterten Eingängen und Ausgängen nicht zur Verfügung!
Darüber hinaus kannst du alle AT-Befehle verwenden, die das WLAN Modul versteht (außer AT+CIPSEND). Wobei deren Antworten auf eine Zeile beschränkt sind. Die folgende Befehlsfolge richtet die WLAN Verbindung des ESP Moduls ein: