2017
LOGO

Bücher
aus eigener Feder
- -

Taschenbuch Herbst 2019
ESP8266: IoT mit wenig Zeilen

Messen, Steuern und Regeln mit WiFi und ESP-BASIC

Einführung - Beispiele - Anwendungen
Wie man mit einer Programmzeile eine Temperatur messen kann, oder mit zwei Händen voll Programmzeilen ein Digitalmultimeter und andere RS232 Geräte in z. B. Excel verwendet, zeigt dieses Buch.

Anhand der Sprachreferenz werden Gemeinsamkeiten und Unterschiede zu anderen BASIC-Dialekten beschrieben und mit vielen Beispielen verdeutlicht. Im Anwenderteil findet der Leser auch Beispiele zu I2C und SPI Ansteuerungen zur Aufnahme von Resonanzkurven und Kennlinien. Mit schrittweiser Annäherung wird so eine unbekannte Kapazität bestimmt.


Ergänzungen zum Buch auf dieser Seite:
19 Mikroampere mit dem SLEEP-Kommando (zu Kapitel 2.2.3)
Magnetische Messungen mit dem Hall-Sensor 49E
Wetterstation mit dem BOSCH-BME280-Sensor mit Datenblattroutinen
Messen mit ESPBASIC und OpenOffice unter Linux


Aus dem Vorwort

Mess-, Steuerungs- und Regelungstechnik hat sich in den letzten Jahren von der Drahtgebundenheit befreit. Dank preiswerter Hardware und schnellem und überall verfügbarem Internet gewinnt die Messdatenübertragung über WiFi nicht nur in der Industrie, sondern auch im Ausbildungs- und Hobbybereich immer mehr an Bedeutung.

Mit dem ESP8266 kam ein Baustein auf den Markt, der serielle Daten über WiFi weiterleiten kann und umgekehrt. Inzwischen findet man diesen Baustein in Schaltsteckdosen und anderen Gegenständen des täglichen Bedarfs, dem sogenannten Internet of Things IoT. Der Programmierer Michael Molinari (aka mmiscool) schuf einen freien und offenen BASIC-Interpreter für den ESP8266 unter dem Namen ESP8266BASIC, der einmalig in den ESP8266 übertragen werden muss, um dann über WiFi im beliebigen Browser mit dem Interpreter zu kommunizieren. Eigene Programme werden im Flashspeicher des ESP abgelegt und können als Autostart konfiguriert sein.

Dieses Buch möchte die Schwelle zum Einstieg in die Welt von IoT so herab setzen, dass mit geringstem Aufwand und einer Hand voll Programmzeilen eigene Ziele erreichbar sind. Das kürzeste Programm besteht aus einer Zeile und gibt die Temperatur eines Sensors aus. Diese Sprache eignet sich aber auch besonders zur Überprüfung der Machbarkeit von Konzepten, die sich mit Compilersprachen viel zeitaufwändiger und umständlicher gestalten würden. Auf diese Art konnten z. B. ein Multimeter und andere Interfaces dazu bewegt werden ihre Messdaten anstatt über RS232/USB mittels WiFi drahtlos an Excel weiter zu reichen.

Das Buch gliedert sich in vier Abschnitte, wobei am Anfang eine allgemeine Einführung steht, gefolgt von Spezialanweisungen für den ESP8266 und weitere unterstützte Hardware. Anhand von vielen kurzen Beispielen werden die Aufrufe und Befehle aus der Referenz verdeutlicht. Der letzte Abschnitt zeigt komplexere Anwendungen aus dem Bereich der Mess-, Steuerungs- und Regelungstechnik und greift dabei auf den ersten Teil zurück.

Es wurde meist ein Chrome-Browser auf verschiedenen mobilen Geräten benutzt. Die verwendete Hardware war ein oder mehrere ESP8266 „Witty-Cloud“-Boards, sowie Wemos D1 Mini Versionen. Als ESP8266-BASIC kam überwiegend Version 3, Branch 69 in in der 2 MB-Version, zum Einsatz. Für den ESP32 gibt es zur Zeit dieser Niederschrift kein ESPBASIC.


Inhalt in Kurzform

ESPBASIC Allgemein

Ein- und Ausgaben
Print, Input, Input im Browser

Schleifen und Wiederholungen
For Next, Do Loop

Variablen
Zahlen, Zeichenketten (Strings), Arrays

Operatoren
Vergleichsoperatoren, Logische Operatoren, Boolesche Operatoren

Funktionen
Mathematische und Numerische Funktionen, Zeichenkettenfunktionen.Zeitfunktionen

Verzweigungen und Unterprogramme
If Then Else Endif, Goto, Gosub und Return

Dateien

ESPBASIC Speziell

Serielle Kommunikation
Hardware Serial, Software Serial

Timer und Interrups
Timer, Reboot, Sleep, Interrupt

Hardware I/O Interface
Digital Ausgabe, Digital Eingabe, PWM Ausgabe, PWM-Frequenz, PWM Eingabe, Servomotor, Analoger Eingang, Statusabfrage – laststat

WiFi Funktionen
WiFiScan, SSID, RSSI, BSSID
WiFi Off, WiFi AP,WiFiAPSTA,WiFi Connect und IP

Internet
IP und Ping, WGET, JSON, OpenWeatherMap, Thingsspeak, Mail

HTTP-Server

Seriell zu WiFi
Seriell zu TCP/IP – Client, Seriell zu UDP/IP - Server

Grafikausgaben
Grafik Grundelemente, Grafische Oberfläche,

Web-Interface
Print, Wprint, Html, Dropdown und Listbox ,CSS, CSSID, CSSCLASS, CSS, HtmlID, ONLOAD, JavaScript und HtmlID, HtmlVar, JavaScript und JSCall

Debugger, Variablen

ESPBASIC Direkt unterstützte externe Hardware

Temperatursensor DS18B20, OLED-Anzeige, OLED, OLED für ESP01, LCD Display, NeoPixel - WS2812 RGB-LED, TFT Display, IR – Infrarot Sender/Empfänger, Datenübertragung mit Licht, DHT – Temperatur-/Feuchte-Sensor, I2C Verbindung, I2C-Scanner, SPI Verbindung


Anwendungen

Messen und Steuern im Browser
Einfache Messtabelle, Messdiagramm aus Grundelementen, Steuern im Browser, Analoges Steuern

Messen und Darstellen mit JavaScript
Dynamisches Messen im Diagramm, YT-Schreiber

Messen und Steuern mit Excel und Word
ESP8266 als HTTP-Server, Excel und Word VBA-Einbindung

RS232 - WiFi-Konverter für alte Hardware
Konverter – RS232 zu TTL-Serial, Digitale Ausgaben, Analoge und digitale Eingaben, ESPBASIC als HTTP-Server, Messen und Steuern in Excel über RS232 – ohne COM

Multimeter über WiFi/WLAN
Hardware des Multimeters, Software zur Dekodierung, Multimeter über WiFi in Excel, Adapter mit Optokoppler

16-Bit ADC Messungen – PGA – MUX – ADS1115
Register und Konfiguration, Eingangschalter und PGA, Einkanalmessung, Mehrkanalmessung, RC-Spannungen, Differenzmessung – negative Spannungen, Eingangsverstärkung, Thermoelement: Mikrovolt pro Kelvin, Widerstandsmessung, Messung einer Induktivität - Resonanz, Steuerbare Spannungsquelle PWM, Steuerbare Spannungsquelle RC

12-Bit-Digital-Analog-Wandler - MCP4725
Kennlinienwerte im Browser, Kennlinien in Excel über HTTP

Sinusgenerator AD9850 - 30 MHz
Messungen mit Sinusspannungen, Frequenzgang einer Passschaltung, Aufbau und Messung, Sukzessive Approximation, Ansteuerung des AD9850, Regelungstechnik

Arduino als I2C-Slave
Ultraschall über I2C, Frequenzgenerator AD9850 über I2C

Messen mit dem Smartphone
RFO-BASIC mit RS232-Analoginterface, RFO-BASIC mit I2C ADC und DAC, RFO-BASIC mit I2C DAC und eigenem 10-Bit Eingang

Frequenzgenerator AD9833 über „BitBang“

Rheinturmuhr in Neopixel am Internet
Sekundentakt, Vollzeit, Synchronisierung und Reset,
Erweiterung mit Schall und Licht

Anhang
Einrichtung/Installation, Windows, Android, Referenz bt93.js, Listings
Literaturverzeichnis, Abbildungsverzeichnis, Sachverzeichnis



.
Startseite Bücher Software Digital RTV Musik Kontakt

Für Inhalt und weitere Verzweigung externer Links sind die Betreiber der dortigen Seiten verantwortlich - H.-J. Berndt