ESP8266 Programmierung mit 0,96" OLED Display von Ideaspark: Eine Schritt-für-Schritt-Anleitung
Willkommen zu meinem Technikblog, wo ich heute den Ideaspark ESP8266 in Kombination mit einem 0,96 Zoll (2,44 cm) OLED Display vorstelle. In diesem Beitrag wirst du eine Schritt-für-Schritt-Anleitung zur Programmierung dieses vielseitigen Mikrocontrollers finden.
Die Idee für diesen Beitrag entstand, nachdem ein aufmerksamer Leser mir seine Herausforderungen bei der Verwendung dieses Mikrocontrollers geschildert hat. Als Unterstützung für die Community habe ich daraufhin den Ideaspark ESP8266 mit dem 0,96 Zoll (2,44 cm) OLED Display erworben und innerhalb von 14 Tagen erhalten. Nun möchte ich mein erworbenes Wissen teilen und anderen dabei helfen, dieses faszinierende Hardware-Projekt erfolgreich umzusetzen.
Zwei ähnliche ESP8266 mit OLED Display habe ich dir bereits in den Beiträgen Heltec ESP8266 und OLED: Eine ideale Kombination für DIY-Projekte und Arduino Tutorial 61: NodeMCU ESP8266 mit OLED Display vorgestellt. Hier soll es sich jedoch um den Mikrocontroller der Firma Ideaspark drehen, denn dieser ist an einigen Punkten etwas anders.
Technische Daten des ESP8266 mit OLED Display von Ideaspark
Auf dem Mikrocontroller ist, wie der Name es erahnen lässt, ein ESP8266 verbaut, in diesem Fall ein ESP-12S.
MCU ESP12-S (ESP8266) auf dem Ideaspark
EigenschaftSpezifikationMikrocontrollerESP-12SBetriebsspannung3,0V – 3,6VBetriebstemperatur-20 °C ~ 85 °CDigital E/A Pins9InterfaceUART / HSPI / I2C / I2S / IR Remote Contorl / GPIO / ADC / PWMUART Baud rateSupport 300 ~ 4608000 bps, Default 115200 bpsAntennePCBFrequenzbereich2412 ~ 2484MHzSendeleistung802.11b: 16±2 dBm (@11Mbps), 802.11g: 14±2 dBm (@54Mbps), 802.11n: 13±2 dBm (@HT20, MCS7)Empfangs-empfindlichkeitCCK, 1 Mbps: -90dBm, CCK, 11 Mbps: -85dBm, 6 Mbps (1/2 BPSK): -88dBm, 54 Mbps (3/4 64-QAM): -70dBm, HT20, MCS7 (65 Mbps, 72.2 Mbps): -67dBmStromverbrauchContinuous Transmission: Durchschnitt ~71mA, Spitze 500mA, Modem Sleep: ~20mA, Light Sleep: ~2mA, Deep Sleep: ~0.02mASicherheitWEP / WPA-PSK / WPA2-PSKSPI Flash32MbitTaktgeschwindigkeit80MHz/160MHzCPU32-bitLänge24mmBreite16mm
Bezug
Den Mikrocontroller bekommst du günstig auf ebay.de für derzeit knapp 8 € inkl. Versandkosten. Aber auch auf aliexpress.com und anderen Plattformen aus dem asiatischen Raum findest du diesen recht günstig, jedoch mit deutlich längeren Lieferzeiten.
Lieferumfang
Bei meinem Paket war lediglich der Mikrocontroller in einer kleinen Plastikschale enthalten, du musst dir somit noch ein passendes Micro-USB-Kabel in entsprechender Länge kaufen.
Aufbau des Mikrocontrollers
Was besonders ins Auge fällt, ist das OLED Display, welches diesen Mikrocontroller, wie ich finde, besonders aufwertet.
ESP8266 von Ideaspark (Vorderseite)
ESP8266 von Ideaspark (Rückseite)
Eigenschaften des 0,96" OLED Displays
Kommen wir zunächst zu den technischen Daten des OLED-Displays:
- Größe: 0,96 Zoll (2,44 cm),
- Farbe: Gelb & Blau,
- Treiber: SSD1306,
- Betriebsspannung: 3.3V bis 5V,
- Betriebstemperatur: -30 °C bis 70 °C,
- Abmessung: 27 mm x 27 mm x 4 mm,
- Auflösung: 128 x 64 Punkte
Das verbaute OLED Display ist über I2C über die nachfolgenden Pins angeschlossen:
I2C PinGPIOPin NummerSDAGPIO126SCLGPIO145
Anschluss an den Computer
Schließen wir jetzt einmal den Mikrocontroller mit einem Micro-USB-Kabel an den Computer an. Ich verwende ein Microsoft Windows 10 (mit aktuellen Updates) und dieser wird sogleich als "USB-SERIAL CH340" erkannt (siehe Grafik).
Zeitgleich wird auf dem Display ein Text in gelb / blauer Schriftfarbe angezeigt.
Beispielprogramm auf dem ESP8266 mit OLED Display von Ideaspark
Einrichten des ESP8266 in der Arduino IDE
Damit wir diesen Mikrocontroller mit unseren Programmen bespielen können, müssen wir den Boardtreiber installieren. Für den Boardtreiber wiederum müssen wir noch eine Quelle für diesen anlegen und genau das machen in den nächsten Schritten.
Schritt 1 - Quelle für den Boardtreiber eintragen
Im ersten Schritt müssen wir eine zusätzliche Quelle für den Boardtreiber in den "Zusätzlichen Boardverwalter URLs" eintragen.
Die Adresse hier lautet:
https://arduino.esp8266.com/stable/package_esp8266com_index.json
Schritt 2 - Installieren des Boardtreibers über den Boardverwalter
Zum installieren des Boardtreibers öffnen wir den Boards Manager über das Icon links (1) und suchen dann nach "esp8266" (2) in meinem Fall wurde nur ein Eintrag gefunden "esp8266 by ESP8266 Community" an welchem die Schaltfläche "INSTALL" (3) betätigt wird.
Wenn der Vorgang abgeschlossen ist, sollte der Text " installed" (4) sichtbar werden und die Schaltfläche "INSTALL" zu "REMOVE" (5) ändern.
Schritt 3 - validieren der Installation
Im Abschluss spielen wir nun ein kleines Programm auf den Mikrocontroller, um zu testen, ob die Installation korrekt verlaufen ist.
#define led BUILTIN_LED
void setup() {
//beginn der seriellen Kommunikation mit 9600 baud
Serial.begin(9600);
//definieren das der Pin der BUILTIN_LED als Ausgang dient
pinMode(led, OUTPUT);
}
void loop() {
//Ausgeben des Textes "Hallo Welt!" auf der seriellen Schnittstelle
Serial.println("Hallo Welt!");
//aktivieren der LED
digitalWrite(led, HIGH);
//einlegen einer Pause von 500 Millisekunden
delay(500);
//deaktivieren der LED
digitalWrite(led, LOW);
//einlegen einer Pause von 500 Millisekunden
delay(500);
}
Programmieren des ESP8266 von Ideaspark
Nachdem der Treiber für den ESP8266 installiert wurde und wir geprüft haben, dass dieser korrekt arbeitet, können wir mit der Programmierung beginnen. Da dieser Mikrocontroller bereits über ein OLED Display verfügt, wollen wir jetzt mit einem Beispiel dazu starten.
Installieren der Bibliothek u8g2 für das OLED Display
Damit wir das verbaute OLED Display via I2C programmieren können, müssen wir zunächst eine Bibliothek installieren. Ich wähle hier u8g2 aus. Dazu klicken wir links auf den "Library Manager" (1) und suchen danach "u8g2" (2) aus den Suchergebnissen wählen wir im Eintrag "U8g2 by oliver" die Schaltfläche "INSTALL" (3) aus.
Wenn der Vorgang abgeschlossen ist, dann wir hier der Text " installed" (4) angezeigt und die Schaltfläche "INSTALL" ändert sich zu "REMOVE" (5).
Die Bibliothek u8g2 habe ich bereits in einigen anderen Beiträgen verwendet, ein großer Vorteil ist, dass diese recht klein ist und somit noch viel Speicher auf dem Mikrocontroller für das eigentliche Programm verbleibt.
Beispiel - "Hello World!" auf dem OLED Display ausgeben
Wenn die Bibliothek installiert wurde, können wir nachfolgendes kleines Programm auf dem Mikrocontroller ausführen und es sollte dann die Textzeile "Hello World!" angezeigt werden.
#include
#include
#ifdef U8X8_HAVE_HW_SPI
#include
#endif
#ifdef U8X8_HAVE_HW_I2C
#include
#endif
#define SDA_PIN 12 //GPIO12 / 6
#define SCL_PIN 14 //GPIO14 / 5
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, SCL_PIN, SDA_PIN, U8X8_PIN_NONE);
void setup(void) {
u8g2.begin();
}
void loop(void) {
u8g2.clearBuffer();
u8g2.setFont(u8g2_font_ncenB08_tr);
u8g2.drawStr(0,10,"Hello World!");
u8g2.sendBuffer();
delay(1000);
}
Beispiel - Ausgeben von WiFi Netzwerken auf dem Display
Wollen wir nun mit der WiFi Schnittstelle nach vorhandenen Netzwerken suchen und diese dann auf dem Display ausgeben. Als Grundgerüst nutze ich hier zunächst das Beispiel aus der ESP8266 Bibliothek WiFiScan, denn dieses erzeugt bereits die Ausgabe auf der seriellen Schnittstelle.
Ausgabe des Beispieles WiFiScan aus den ESP8266 Beispielen
Dieses müssen wir jetzt noch um die Ausgabe auf dem Display erweitern.
#include
#include
#include
#ifdef U8X8_HAVE_HW_SPI
#include
#endif
#ifdef U8X8_HAVE_HW_I2C
#include
#endif
#define SDA_PIN 12 //GPIO12 / 6
#define SCL_PIN 14 //GPIO14 / 5
U8G2_SSD1306_128X64_NONAME_F_SW_I2C u8g2(U8G2_R0, SCL_PIN, SDA_PIN, U8X8_PIN_NONE);
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
u8g2.begin();
}
void loop() {
String ssid;
int32_t rssi;
uint8_t encryptionType;
uint8_t *bssid;
int32_t channel;
bool hidden;
int scanResult;
scanResult = WiFi.scanNetworks(/*async=*/false, /*hidden=*/true);
if (scanResult == 0) {
Serial.println(F("Keine WiFi-Netzwerke gefunden"));
} else if (scanResult > 0) {
//Zwischenspeicher und Display leeren
u8g2.clearBuffer();
/Schriftgröße setzen
u8g2.setFont(u8g2_font_ncenB08_tr);
for (int8_t i = 0; i < scanResult; i++) {
WiFi.getNetworkInfo(i, ssid, encryptionType, rssi, bssid, channel, hidden);
printWiFiNetworkData(i, ssid.c_str());
Serial.printf(PSTR(" d: %sn"), i + 1, ssid.c_str());
yield();
}
//Absenden der Daten vom Zwischenspeichern an das Display
u8g2.sendBuffer();
} else {
Serial.printf(PSTR("WiFi scan error %d"), scanResult);
}
//5 Sekunden Pause zwischen den Scans
delay(5000);
}
//Ausgeben der Daten zum WiFi Netzwerk auf dem OLED Display
void printWiFiNetworkData(int idx, String name) {
String msg = String(idx, DEC) + " " + name;
u8g2.drawStr(0, idx * 15, msg.c_str());
}
Wenn ich nun nach draußen gehe, dann finde ich diverse WiFi-Netzwerke der Nachbarn.
Read the full article
0 notes
D-link dwa 125 driver windows 7
D link dwa 125 driver windows 7 drivers#
D link dwa 125 driver windows 7 driver#
D link dwa 125 driver windows 7 driver#
Improve driver installation procedureVersion: v5.10Hardware: E1Date: Fix:1.
D link dwa 125 driver windows 7 drivers#
Drivers - REV E DWA-131 Windows Driver Release Notes=Version: 5.11b03Hardware: E1Date: Driver Windows XP x86 –10.2016 (WHQL pass)Windows XP 圆4 –10.2016 (WHQL pass)Windows Vistax86 –10.2016 (WHQL pass)Windows Vista圆4 –10.2016 (WHQL pass)Windows 7 x86 –10.2017 (WHQL pass)Windows 7 圆4 –10.2017 (WHQL pass)Windows 8 x86 –10.2016 (WHQL pass)Windows 8 圆4 –10.2016 (WHQL pass)Windows 8.1 x86 –10.2017 (WHQL pass)Windows 8.1 圆4 –10.2017 (WHQL pass)Windows 10 x86 –10.2019 (WHQL pass)Windows 10 圆4 –10.2019 (WHQL pass)Fix: - BSOD issue with specific Router under WPA2/ WPA3 security with HT20/ 40 coexistence disabled.ĭWA-131 Windows Driver Release Notes=Version: 5.11b03Hardware: E1Date: Driver Windows XP x86 –10.2016 (WHQL pass)Windows XP 圆4 –10.2016 (WHQL pass)Windows Vistax86 –10.2016 (WHQL pass)Windows Vista圆4 –10.2016 (WHQL pass)Windows 7 x86 –10.2017 (WHQL pass)Windows 7 圆4 –10.2017 (WHQL pass)Windows 8 x86 –10.2016 (WHQL pass)Windows 8 圆4 –10.2016 (WHQL pass)Windows 8.1 x86 –10.2017 (WHQL pass)Windows 8.1 圆4 –10.2017 (WHQL pass)Windows 10 x86 –10.2018 (WHQL pass)Windows 10 圆4 –10.2018 (WHQL pass)Enhancement:- Win10 WHQLed drivers for WPA3ĭWA-131 Windows Driver Release Notes=Version: 5.10b03Hardware: E1Date: Driver Windows XP x86Windows XP 圆4Windows Vista x86Windows Vista 圆4Windows 7 x86Windows 7 圆4Windows 8 x86Windows 8 圆4Windows 8.1 x86Windows 8.1 圆4Windows 10 x86Windows 10 圆4Enhancement:- Update D-Link digital signature- WPA2 security enhancementĭWA-131 Driver Release Notes=Version: v5.04b03Hardware: E1Date: Driver Windows XP x86Windows XP 圆4Windows Vista x86Windows Vista 圆4Windows 7 x86Windows 7 圆4Windows 8 x86Windows 8 圆4Windows 8.1 x86Windows 8.1 圆4Windows 10 x86Windows 10 圆4Enhancement1.
0 notes
Buy- LENOVO HT20 TRUE WIRELESS BLUETOOTH HEADSET- Flipzoneonline
Buy now- https://flipzoneonline.com/product/lenovo-ht20-true-wireless-bluetooth-earbuds/
Lenovo EQ, Support Extra Bass mode & Standard Mode 25 hours playing time with 20H standby time Excellent Compatibility with Bluetooth 5.0 IPX5 Water-resident.
Extra bass mode:
Taking 100HZ as the reference point, the intensity of the heavy bass increases by 9db, and slowly to 20HZ and 50HZ at both ends. In the Extra bass mode,
the heavy bass is shocked, full of elasticity/strenth and fullness, while the medium and high frequency continues to maintain excellent quality.
High fidelity sound quality promises you the purest music:
Professional by a senior them, and after several rounds of practical trials by users, you will be presented with a warm, low-frequency
powerful and clear sound experience in the end. You will fell deeply love kinds of styles of music.
25 hours of playback time and 150 hours standby time:
you can listen to the music for 25 hours with the charging case and 5 hours with the headset only. The standby time is up to 150 hours.
Long battery life, provide full-day use, even for heavy users.
IPX5 waterproof listening to the song while doing exercise:
The HT20 Bluetooth headset has passed the IPX5 waterproof testing. There is no need to worry about the daily waterproofing in life.
It can effectively prevent sweat erosion on the headset and bring you a fancy music experience.
Bluetooth 5.0 : compatible with various devices:
Compatible with 99% of the electronics which have BT function. Works with WP/Android/iOS systems, and is compatible with almost
all major music player apps. Let us enjoy unlimited music than limit our entertainment.
0 notes
Buy-
LENOVO HT20 TRUE WIRELESS BLUETOOTH HEADSET- Flipzoneonline.com
Buy Now- https://flipzoneonline.com/product/lenovo-ht20-true-wireless-bluetooth-earbuds/
Lenovo EQ, Support Extra Bass mode & Standard Mode 25 hours playing time with 20H standby time Excellent Compatibility with Bluetooth 5.0 IPX5 Water-resident.
Extra bass mode:
Taking 100HZ as the reference point, the intensity of the heavy bass increases by 9db, and slowly to 20HZ and 50HZ at both ends. In the Extra bass mode,
the heavy bass is shocked, full of elasticity/strenth and fullness, while the medium and high frequency continues to maintain excellent quality.
High fidelity sound quality promises you the purest music:
Professional by a senior them, and after several rounds of practical trials by users, you will be presented with a warm, low-frequency
powerful and clear sound experience in the end. You will fell deeply love kinds of styles of music.
25 hours of playback time and 150 hours standby time:
you can listen to the music for 25 hours with the charging case and 5 hours with the headset only. The standby time is up to 150 hours.
Long battery life, provide full-day use, even for heavy users.
0 notes