Archiv der Kategorie: ESP 32

WeMos D1 R32 ESP32

Der WeMos D1 R32 ESP32 ist ein Arduino Board nachbau und besitzt kompatible Anschlüsse zum Arduino Uno.
Die IOs  arbeitet jedoch nur mit 3V anstatt mit den gewohnten 5V, was zu Inkompatibilitäten zu manchen Erweiterungsplatinen (Shields) führen kann. Der Preis liegt bei AliExpress unter 5 Euro.

Das schöne an diesem Board ist der ESP32 Prozessor, wecher über WLan und Bluetooth und noch über ein paar weitere Features verfügt.

In diesem Beitrag wird nur die Inbetriebnahme des Boards behandelt, andere Aspekte wie Funktionsumfang des ESP32 usw. können den ensprechenden Artikeln entnommen werden.

Ansichten

Überblick

Name WeMos D1 R32
ESP32
Anzahl/CPU
1/ESP 32
Takt (MHz)240
Kerne2
Digital IOs / Pins36/28
Analog inputs18
PWM16
SPI4
Flash Speicher
SRam (KB)520
EEPROM (KB)4 KB
WiFi802,11 b/g/N
Bluetooth
VerschlüsselungWEB / WPA2 / TKIP /AES
Bluetooth4.1
UART3
I2C2
Ethernet-
Video-
Sound-
USB1 Micro
Betriebsspannung [V]3,3
Eingangsspannung3,3 - 9
Strom (mA) / Standby (mA)
Größe l x b x h68,6 x 53,3
Gewicht [g]< 25

Pins

Wire: SCL  22 / SDA 21

A0 = 2

A1 = 4

A2 = —

A3 = —

A4 = —

A5 =–

Programmierung

Arduino Programmierumgebung

Wenn der ESP 32 vorher noch nicht benutzt wurde muss die Arduino Gui noch angepasst werden. Infos auch auf GITHUB.

Im Datei Menü den Punkt Einstellungen wählen.

Arduino Gui Menü

Jason Datei eintragen:
https://dl.espressif.com/dl/package_esp32_index.json

Jason eintragen

Danach über den Boardmanager den ESP32 installieren. Menü Tools -> Board: *** -> Boards Manger …

Boardmanager auswählen

ESP 32 in der Suchleiste eingeben und mit Enter bestätigen. Im bestem Fall erscheint nur ein Eintrag, diesen installieren.

ESP32 Auswählen und installieren

Noch das richtige Board auswählen. (Andere Boards funktionieren sicher auch)

Testprogramm

Als Testprogramm habe ich das WiFiClient Beispielprogramm genommen und etwas angepasst. Bitte die WLAN Daten entsprechend anpassen.

Nicht schön aber so sieht es bei mir aus:

Für das Programm braucht ihr eine Gegenstelle. Hierfür könnt ihr das kleine Java Tool nehmen, dass ich bereits in anderen Projekten verwendet habe. Beim Starten den port 88 angeben und/oder im Programm ändern.

Quellen

https://www.wemos.cc/
https://github.com/SmartArduino/SZDOITWiKi/wiki/ESP8266—ESPduino-32
https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/windows.md

ESP32 Arduino Gui einrichten mit Git

Wie immer gibt es im Netz zahlreiche Informationen, wie die Arduino Gui zu konfigurieren ist. Deshalb fasse ich mich an dieser Stelle sehr kurz, für detailiertere Informationen sei auf die unten verlinkten Quellen verwiesen.

Repository Clonen

Es gibt ein Git Paket zur Einrichtung der GUI für den ESP 32. (Link zu GIT GUI)

Git Gui starten und „Clone Existing Repositiory“ wählen.

Die Quelle für die ESP 32 Sources ist:

https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series.git

dort gibt es auch zusätzliche Infos.

Das Ziel ist das Arduino Projektverzeichnis, in meinem Fall unter MyDocuments/Arduino.

Mit Bestätigung der Eingabe über den Clone Button, erscheint das folgende Bild und alle Dateien werden aus Git extrahiert.

Danach muss man im Verzeichnis ..\Arduino\hardware\heltec\esp32\tools noch das Programm get.exe ausführen und in der Console mit Enter starten.

Erfolgsbestätigung

Arduino Gui neu starten,  tauchen die ESP 32 Einträge in der Board-Liste auf war die Installation erstmal erfolgreich.

Ob auch alles wirklich funktioniert kann mit einen der Beispielprogramme verifiziert werden. Einfach auswählen, übersetzen und auf den ESP 32 übertragen. (Vorher das richtige Board auswählen)

Probleme

Arduino Gui – falsches Installationsverzeichnis gewählt

Ich hatte das falsche Verzeichnis für meine Arduino Gui angegeben .

Zur Lösung des Problems kann der komplette esp32 Ordner in das richtige Verzeichnis unter hardware kopieren werden.

Keine Beispielprogramme für den ESP32 ?!

Zuerst muss das ESP32 Board ausgewählt werden, dann sind auch die entsprechenden Beispielprogramme vorhanden.

Projekte

ESP32 WiFi Lora 433

Quellen

https://github.com/espressif/arduino-esp32/blob/master/docs/arduino-ide/windows.md

https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series#instructions

ESP32 WiFi Lora 433

Ich habe ein neues Spielzeug gefunden, den ESP32 mit on Board Display. Das Board ESP32 WiFi Lora 433 ähnelt mit seiner weißen Platine einwenig dem Atmel-Butterfly, ist aber nur halb so groß. Gerade wenn man mehr als nur eines dieser Boards betreiben möchte, liegt es mit rund 20€ gerade noch so im bezahlbaren Bereich.

Es passt gerade so auf ein Steckbrett, so dass an beiden Seiten noch ein Pin zur Beschaltung frei ist. Die Pins wurden in meinem Fall mitgeliefert und müssen selbst eingelötet werden.

Eine sehr puristische extener Antenne war auch mit im Packet. Da bei  meiner fast sofort die Spitze abgefallen ist, habe ich sie durch ein robusteres Modell ersetzt.

Es gibt auch noch einen kleineren Bruder mit weniger starkem Netzwerk das ESP32 WiFi Kit 32.

Ansicht

Frontansicht

Display zwei Knöpfen und USB Anschluss. Rechts versteckt ist ein Anschluss für eine externe Antenne.

Rückansicht

Anschluss ( JST-PH 2Pin 1.25mm)  für einen Akku .

 

Überblick

Name ESP23 Wifi Lora 433
Anzahl/CPU
1 / ESP 32
Takt (MHz)240
Kerne2
Digital IOs / Pins36 / 28
Analog inputs18
PWM16
SPI4
Flash Speicher
SRam (KB)520
EEPROM (KB)4 MB
WiFiWide Range 802,11 b/g/N
Bluetooth + Externe Antenne
VerschlüsselungWEB / WPA2 / TKIP /AES
Bluetooth4.1
UART3
I2C2
Ethernet-
Video 0.96 OLED display
Sound_
USB1 Micro CP2102
Betriebsspannung [V]3,3
Eingangsspannung3,3 - 7
Strom (mA) / Standby (mA)
Größe l x b x h53 x 25 x 12
Gewicht [g]??

Pinning

WIFI_LoRa_32_Diagram

Programmierung

Arduino GUI

ESP32 Arduino Gui einrichten mit Git

Programmierung

Die Programmierung ist wie bei allen Arduino basierten Projekten in c/c++ und folgt den allgemeinen Regeln. Es gibt keine mir bekannten Besonderheiten für den ESP, ausser vielleicht dass er sehr viel an Peripherie schon mit bringt.

Wichtig ist nur das richtige Board auszuwählen.

1. Test – Beispielprogramm

Der erste Test ist immer ein Beispielprogramm aus dem Board-Paket. Eines auswählen compilieren und auf das Gerät schreiben.

2. Test – TCP Verbindung

Ich habe aus den Beispielen extrahiert was ich brauchte und mir ein kleines Program mit WiFi Verbindung und dem Display als Console geschrieben. Alle Funktionalität der Console habe ich in der Datei console.h als Klasse abgelegt. Aktuell sind nur die print und die prinln methoden jeweils mit Übergabeparameter String überschrieben.

Hier das Beispiel zum Downloaden:

DisplayWifiTest

Als Server auf dem PC verwende ich meine Java-Konsole.

http://fambach.net/tools-java-socket-console/

So sieht es auf dem ESP32 aus …

… und so auf der Java Konsole.

3. Test – WIFI Scan

Das folgende Porgramm scannt das Netzwerk in der Umgebung nach Accesspoints und gibt die SSID und die Sendestärke auf dem Bildschirm aus.

DisplaySSIDs

So sieht es auf dem Gerät aus:

 

Probleme

USB Fehler

Obwohl ich vorher den Treiber installiert hatte, wurde bei mir der ESP von Windows 10 nicht richtig erkannt, .

Das konnte ich über den Hardwaremanager korrigieren. Hier wird das fehlerhafte Gerät angezeigt. Über rechts Klick mit der Mouse und Treiber update habe ich nochmal den gedownloadeten Treiber ausgewählt. Danach ging es.

Netzwerkscan schlägt fehl

Es gibt wohl einen Bug in der Bibliothek,  wenn der ESP nicht richtig initialisiert ist. Dies ist der Fall wenn vor dem Scan nicht die methode WiFi.begin() aufgerufen wird. Das Resultat ist, der Scan schlägt fehl oder bekommt nur sehr wenige SSIDs.

Die Lösung ist in der init Methode einmal WiFi.begin() aufzurufen.

Probleme mit der Netzwerkverbindung zur Java-Console

Die Java-Console ist auf Port 2021 eingestellt. Entweder im ESP Programm den Port auf 2021 umstellen, oder die Java-Console mit dem Port 2121 starten

Fazit

Das ESP32 WiFi Lora 433 Board ist klein und leicht zu programmieren. Das Display bietet ausreichend Platz für kurze Informationen. Der ESP32 ist deutlich schneller als sein älterer Bruder der ESP8266. Auch für diesen gibt es ein ähnliches Board „ESP8266 WIFI 0.91″ Inch OLED“, was jedoch deutlich billiger ist.

 

Ähnliche Beiträge

ESP32 WiFi Kit 32

 

Quellen

https://en.wikipedia.org/wiki/ESP32

http://esp32.net/

https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series#instructions

https://www.heise.de/make/artikel/Grosser-Bruder-Espressif-ESP32-3256039.html

https://github.com/espressif/arduino-esp32/issues/758

Herstellerseite