In der Schweiz geibt es verschiedene Netzwerktechnologien, die für IoT angeboten werden. Am bekanntesten und momentan noch beliebtesten ist LoRaWAN. Dies kommt wohl daher, dass es die einzige Technologie ist, welche Lizenzfrei verfügbar ist. Pionier in der Schweiz ist wie in vielen anderen Ländern das Community betriebene Netzwerk “The Things Network” meistens nur kurz “TTN” genannt. Jeder kann mitmachen, indem er ein Gateway für weniger als CHF 250.- kauft und es ans Netz hängt. In der Zwischenzeit hat sich auch die Swisscom ein flächendeckendes Netz aufgebaut. Ab 50.-/Monat kann man ein Abo abschliessen, und je nach Abo-Modell beliebig viele Geräte ins Netz einbinden. Die SwisscomRead More →

Wenn man mit dem ESP32 die RX/TX Pins für HardwareSerial benutzt, tritt bei einigen Modulen das Problem auf, dass man nach erfolgreichem installieren des neuen Programms via Arduino IDE die serielle Schnittstelle nicht mehr benutzen kann. Beim Upload des Programmes erscheint eine Fehlermeldung, dass das ESP Modul nicht mehr gefunden werden kann. Dies ist zum Beispiel der Fall, wenn man an das TTGO Lora32 Modul ein GPS anhängen möchte, und die RX/TX Pins auf GPIO1 und GPIO3 wählt. Man kann das Programm noch flashen und es funktioniert läuft wie gewünscht. Wenn man nun das Modul erneut flashen will, dann findet Arduino IDE das Modul nichtRead More →

Raspberry Pi, die Plattform für vernetzte Elektronikprojekte, kam 2012 zum ersten Mal auf den Markt. Raspberry Pi bot dem Maker eine komplett neue Welt für seine Projekte. Zu dieser Zeit war in unseren Gegenden vor allem die 2006 entwickelte Plattform von Lego genannt Mindstorms NXT “in”. Mit Raspberry Pi kam eine günstigere Alternative, die offen war und durch die Unterstützung von fast allen Betriebssystemen flexibilität wie nie zuvor bot. Seither ist Raspberry Pi nicht mehr wegzudenken. Seit 2012 wurden insgesamt an drei verschiedenen Typen gearbeitet. Das war der Klassische Raspberry Pi, der Raspberry Pi Zero und die Raspberry Pi Compute Modules (CM). Seither hat sichRead More →

Der ESP32 SOC bietet eine enorme Anzahl an GPIO Pins, welche je nach Modul mehr oder weniger zur Verfügung gestellt werden. Vielleicht hast Du aber auch schon die Erfahrung gemacht, dass insbesondere beim Booten des Modules unvorhersehbare Dinge geschehen. Der Grund dafür liegt oft darin, dass nicht alle GPIO Pins frei sind. Einige sind intern bereits belegt und wenn Du nun noch ein Aktor oder Sensor dran hängst, hat dies teils unerwünschte folgen. Nachfolgend eine Tabelle, die Dir die Vorbelegung von PINS zeigt. Auf dem Modul sind die GPIO Pins übrigens oft mit Dxy bezeichnet, also GPIO4 = D4. IN Arduino IDE wiederum kannst DuRead More →

Serve complex websites or webapps from a ESP32 module, is that even possible? With the ESP32 module you can quickly and easily Encode and decode Base64 strings (what is Base64?). This can be achieved by integrating the external C-class base64.h. Anyone who has ever programmed a web server in Arduino IDE, knows the pain and how ugly the whole thing gets quickly. Let’s look at the following example. This is the HTML-Code to display two buttons. There has to be some solution to program whole webpage stuff outside of Arduino IDE and in the end copy it somehow to the ESP module. The idea isRead More →

Folgendes Tutorial zeigt Dir, wie du mit ESP8266 und einem Drehregler deine Philips Hue Lampe dimmen und ein-/ausschalten kannst. Die Auswahl von  Lichtschalter, die es von Philipps Hue gibt ist recht überschaubar. Dank der relativ vielseitigen API von Philips Hue kann man dem aber Abhilfe schaffen. Mit ESP8266 ist das ganze für uns natürlich kein Problem! Einkaufsliste Was Du brauchst für das Testgerät (alles in unserem Shop erhältlich): 1 x ESP8266-12E Entwicklungsboard in der V2 (Breadboardkompatibel)1 x Breadboard1x KY-040 Rotary Encoder (Drehgeber)5x Jumper Kabel (Male-Female)1x Drehreglerknopf Verkabelung Der Drehregler hat insgesamt 5 Pins. Diese verbindest Du mit den Jumperkabel wie folgt: CLK D1 DT D2 SWRead More →

Letzte Aktualisierung: 04.03.2019 Die SOC der Firma Espressif gibt es nun schon seit einigen Jahren. Eigentlich wurden aber bis anhin nur zwei Typen ESP-SOCs hergestellt. Was genau ESP ist, findest Du in diesem Artikel https://shopofthings.ch/was-ist-eigentlich-esp8266/. Die zwei Chips sind ESP8266 und ESP32 wobei es vom Chip ESP32 in der Zwischenzeit zwei Varianten, Dual-Core und Single-Core, gibt. Verschiedene Hersteller, darunter auch Espressif selber, vertreiben Module, welche einer dieser beiden SOCs benutzen. War die Auswahl bei ESP8266 noch relativ übersichtlich, scheint diese bei den neunen ESP32 schier unbegrenzt. Wir werden versuchen, hier eine Entscheidungshilfe zu geben, damit Du das richtige Modul auswählen kannst. Entscheidungskriterien Im nachfolgenden die verschiedenenRead More →

Früher war es recht aufwändig, Dein ESP32 Modul in der Arduino IDE zu installieren. Seit dem neusten Update funktioniert es gleich wie beim ESP8266 via Board Manager. Achtung: Solltest Du noch einen alten ESP32 Treiber installiert haben, muss dieser vorher gelöscht werden!Read More →

Einigen von euch ist vielleicht schon aufgefallen, dass es eine Version 2 und 3 des ESP8266-12E Boards gibt. Es gab auch mal eine V1, die wird aber nicht mehr hergestellt. Warum gibt es denn eigentlich noch zwei Versionen? Scheinbar gab es Probleme mit dem Seriellen Chip bei Version 2. Deshalb hat man in der Version 3 einen verbesserten Chip aufgelötet, den CH340G. Version 2 hatte den CP2102 verbaut. Zusätzlich hat man einem der Pins (VU) eine 5V Speisung verpasst. Leider hat man wohl bei der Moduloptimierung gespart und das Modul ist in der Grösse um einiges grösser ausgefallen. Die Folgen davon sind nur unschwer zu erkennen,Read More →

Die meisten Programme die wohl auf dem ESP-Modul laufen, verbinden sich mit dem Internet über einen zentralen W-Lan Access-Point. In fast allen Beispielen, werden dabei W-Lan Zugangspunkt und Passwort im Code eingegeben. Dies hat folgende Nachteile: Dabei gibt es eine elegante Lösung. Die Library WifiManager. Der WifiManager braucht gerade mal zwei Zeilen um Dein ganzen Wifi-Code zu ersetzen. Und das geht so. Zuerst musst du die Library über den Library Manager einbinden. Suche nach wifimanager und installiere die von tzapu. Als nächstes muss Du die Library in Deinem Programm einbinden: Als nächstes muss Du in Deiner setup() Routine die Library initialisieren: Der Zugangspunkt und dasRead More →

Wer kein Programmierexperte ist, wird Mühe haben, in C++ den Zeichenstrings Herr zu werden. Spätestens wenn man eine API ansteuern will und Zeichen aus verschiedensten Orten im Programm zusammensetzen will, dann bricht das Chaos aus und bis die IDE keine Fehlermeldungen mehr meldet, können Stunden vor dem Bildschirm und der Tastatur verloren vergehen. Hier ein Versuch, eine Übersicht darüber zu erstellen. Arten von Strings Folgende nicht abschliessende Möglichkeiten hast Du, um Strings in einer Variable zu speichern: Erklärung der einzelnen Varianten String – dasWort1 Hierbei handelt es sich nicht um ein Variablentyp sondern um eine komplette Klasse. Das heisst, dasWort1 hat auch Methoden und FunktionenRead More →

Wenn man am täglichen, bzw. minutlichen Bitcoin Preis interessiert ist, will man nicht immer auf das Handy schauen müssen. Vor allem in der Nacht nicht. ESP8266 schafft Dir Abhilfe. Hier ist er, der live ESP8266 BItcointracker mit OLED Bildschirm. Material Verbindungen Die Kabel des OLED-Bildschirmes werden wie folgt miteinander Verbunden: GND > GND VCC >3V3 SCL > D5 SDA >D3 Funktion der Software Die Software findest Du gleich unten. Sie kann mit OTA aktualisiert werden. Sie holt sich den aktuellen Bitcoin-Preis von Bitstamp.net und zeigt sie auf dem Bildschirm an. Beim Start versucht sie sich, mit dem WLAN zu verbinden. Dazu musst Du noch SSIDRead More →

Nach einiger Zeit in Deinem ESP8266 Projekt wirst Du bemerken, dass die serielle Schnittstelle zeitens Mühsam und langsam und fehleranfällig ist. Zum Glück gibt’s dafür eine Lösung. Das Schlüsselwort heist OTA oder ausgeschrieben Over-The-Air. OTA bezeichnet ganze generell eine Luftschnittstelle. In der Praxis werden Updates an Dein Endgerät geschickt und das Endgerät kann sich dann selber Updaten. Du kennst das, wenn Du z.B. ein Android Telefon hast. Der Handy-Hersteller macht Dich darauf aufmerksam, dass es ein neues Update gibt, welches Du dann übers Internet herunterladen und installieren kannst. In unseren Fall wird dem ESP8266 das neue Programm zugeschickt, und dieses ersetzt das Alte durch dasRead More →

Allgemein ESP2866 wird im Zusammenhang mit vielen Produkten genannt. ESP01, ESP8266-12E, NodeMCU, WeMos, SparkFun, ESP8266EX und Huzzah um nur einige zu nennen. Wenn man aber von ESP8266 spricht, meint man eigentlich den Mikrochip der Firma Espressif. Das andere sind Module von diversen Firmen, welchen diesen Mikrochip verwenden. Der ESP8266 MIkrochip ist in etwa so gross wie der Fingernagel des kleinsten Finger, er misst gerade mal 5 mm x 5 mm. Eine gute Übersicht über verschiedene Datenblätter zu ESP8266 und ESP32 findet man auf der Webseite von Espressif: https://www.espressif.com/en/support/download/documents Das Datenblatt selber zum SOC (System on a chip) findest Du hier: https://cdn-shop.adafruit.com/product-files/2471/0A-ESP8266__Datasheet__EN_v4.3.pdf Wenn man kein Profi istRead More →

Für viele Deiner ESP Projekte ist es notwendig, eine Web-Abfrage zu machen. Z.b. Abrufen des Wetters von einer Wetterseite aber auch API-Aufrufe innerhalb deines eigenen Netzwerkes um z.B. Deine Philipps Hue Lampen zu steuern. Wichtig ist zuerst zu entscheiden, ob es sich bei der Abfrage um eine verschlüsselte oder nichtverschlüsselte Abfrage handelt. ESP8266 kann mit beiden umgehen, erfordert aber unterschiedliche Libraries. Antworten von APIs werden oft als JSON-Objekt zurück gegeben. Um diesen interpretieren zu können, brauchst Du eine JSON-Library. Dies wird in diesem Beispiel nicht eingebunden. Ein Beispiel wie Du Deine Abfrage weiterverarbeitest findest Du im Tutorial Bitcointracker. Wenn Du übrigens grössere Abfragen machen willst,Read More →