iClock WiFi - Einleitung
Internet- Uhr mit ESP8266-12 Modul
Bei diesem Projekt geht es darum eine Uhr für den Wohnbereich zu erschaffen, welche nicht nur schick aussieht, sondern auch ihre Zeit innerhalb von Sekunden aus dem Internet synchronisiert.
Zu diesem Zweck kommt das weit verbreitete Modul ESP8266-12 zum Einsatz, welches ein starken Micro Controller mit getakteten 80 MHz und W-LAN Funktionalität bietet.
Die Zeit wird über vordefinierte NTP- Server bezogen. Das NTP- Protokoll liefert die Anzahl der Sekunden zurück, die seit 1900 vergangen sind.
Die exakte Zeitangabe, welche aus Stunden, Minuten, Sekunden, Jahr, Monat, Tag, Wochentag und Sommerzeit / Winterzeit besteht, muss mit einer komplexen Formel selbst errechnet werden.
Als weiteres Feature ist auf der Schaltung ein Temperatur- und Feuchtesensor montiert, welcher die Temperatur und relative Feuchte im Zimmer misst.
Im unteren Bereich des LCDs kann ein Lauftext angezeigt werden. Der Inhalt des Lauftextes kann über einen selbst erstellten Webserver bezogen werden.
Auf diese Weise lassen sich zum Beispiel das Wetter in einer bestimmten Stadt oder andere selbst erstellte Informationen darstellen.
Und zu guter Letzt darf natürlich eine Weckfunktion nicht fehlen. Ein lautstarker Buzzer holt einen zu einer vordefinierten Zeit aus den Federn.
Hauptbestandteile der Internet- Uhr iClock WiFi (auf das Bild klicken um es zu vergrößern)
Die Elektronik bietet folgende Features:
- ESP8266-Prozessor von Espressif mit 80 MHz und WiFi-Front-End
- Günstiges 2,9 Zoll LC-Display mit einer Auflösung von 128 x 64 Pixel
- Drei beleuchtete Taster zum Bedienen von Einstellungen
- Lauter Buzzer für Weckfunktion
- Temperatur- und Feuchtesensor
- USB-Schnittstelle über FTDI-Baustein zum Programmieren und Aufspielen der Firmware
- PC-Software für Windows
iClock WiFi - Funktion & Schaltplan
Beschreibung
Die Versorgung der Schaltung erfolgt über eine USB-Einbaubuchse (X100). Somit lässt sich die Schaltung mit einem USB 2.0 Kabel (A-Stecker auf Mini B) direkt am PC oder einem USB-Ladegerät anschließen.
Auf dem Board führt der USB-Steckverbinder an ein FTDI- Baustein (D100). Auf diese Weise wird die Schaltung Plug & Play, denn Windows erkennt diese Hardware beim Anstecken automatisch.
Als Herzstück werkelt ein ESP8266-12 Modul mit dem ESP8266 Prozessor von Espressif (D210). Dieses Modul bietet verschiedene Eingänge und Ausgänge, einen ADC- Wandler und volle WiFi- Funktionalität.
Mit dem Taster S1 (Reset) kann die Schaltung im Betrieb resettet werden. Wird parallel dazu der Taster S2 (Flash) gehalten, wird die Schaltung in den Programmier-Zustand gesetzt.
Aus Mangel an Eingängen werden drei Taster (X221-X223) über verschiedene Spannungsteilerverhältnisse am ADC ausgelesen. Damit die Taster schick aussehen, habe ich mich entschlossen beleuchtete Taster zu nehmen.
Die Beleuchtung wird über die Anschlüsse X211-X213 versorgt und kann später über die Software mit verschiedenen Animationen betrieben werden.
Die Software wurde mit der Arduino IDE und der ESP8266 Generic Erweiterung programmiert. Das ESP8266-12 Modul benötigt eine Versorgungsspannung von 3,3 Volt.
Diese Versorgungsspannung wird über den Linearregler LD1117S33 (N150) erzeugt. Als LCD kommt ein Standard Display vom Typ ST7920 zum Einsatz.
Dieses LCD hat eine Auflösung von 128 x 64 Pixel und kann sowohl parallel als auch seriell betrieben werden. Diese Schaltung betreibt das LCD im seriellen Modus.
Je nach dem von welchen Hersteller man dieses LCD bezieht, kann es sein, dass für die Umstellung auf seriellen Betrieb ein Widerstand (Jumper) entfernt / gesetzt werden muss.
Das LCD wird über eine aufgelötete Stiftleiste direkt auf die LCD-Buchse (X300) gesteckt. Das LCD hat ein Poti auf der Rückseite, mit dem der Kontrast eingestellt werden muss.
Der AM2302 Sensor, angeschlossen an X400, stellt Temperatur- und Feuchtemesswerte über ein One-Wire-Protokoll bereit. Und für den guten Ton werkelt auf dem Board ein Buzzer (SG1), welcher für die Weckfunktion nötig ist.
iClock WiFi Schaltplan (auf das Bild klicken um es zu vergrößern)
Schaltplan
Download Schaltplan als PDF-Datei.
iClock_WiFi_Schematic.pdf
iClock WiFi - Hardware
Layout
Die Leiterplatte besteht aus einen zweiseitigem Layout im Nutzen. Der Nutzen beinhaltet die Elektronik und einen Halterahmen für das LCD. Das Layout wurde mit dem Programm Eagle erstellt.
Viele Leiterplattenhersteller unterstützen das Board-Format, welches von der Eagle-Software erzeugt wird. Das Board-File (.brd) kann ohne weitere Anpassungen für eine Leiterplattenfertigung verwendet werden.
Unbestückte iClock WiFi Leiterplatte mit LCD- Rahmen
Eagle Board-File
Download Eagle Board-File (.brd) für die Fertigung einer iClock WiFi Leiterplatte.
ACHTUNG: Das Fertigen von Leiterplatten in geringen Stückzahlen kostet entsprechend Geld.
Ich übernehme keine Gewähr für die Richtigkeit und Funktion der angegebenen Fertigungsdaten!
iClock_WiFi.brd
Bestückungspläne
Download der Bestückungspläne als PDF-Datei:
iClock_WiFi_Component_Placement_T.pdf (Vorderseite)
iClock_WiFi_Component_Placement_B.pdf (Rückseite)
Materialliste
Diese Materialliste ist ein Vorschlag. Für einige Bauteile können Alternativen eingesetzt werden.
Bauteil Menge Bezeichnung Distributor Artikel-Nr.
C100,101,151,400 4 100nF / 1206 reichelt.de X7R 1206 CG 100N
C102,150 2 47µF / SMC_D reichelt.de T491D 47U 16
D100 1 FT232RL / SSOP28 reichelt.de FT 232 RL
D210 1 ESP8266-12 segor.de WiFi-Modul (ESP-12F)
Stiftleiste für ESP8266-12 - Stiftleiste (Teil) segor.de SL 1x40-180G/RM2,0
Fassung für ESP8266-12 - Buchsenleiste (Teil) segor.de FL 1x40-180G/RM2,0
N150 1 LD1117S33 / SOT223 segor.de LD 1117 S33
R100,101,221,222,223 5 330R / 1206 reichelt.de RND 1206 1 330
R210,215,216,217 4 10K / 1206 reichelt.de RND 1206 1 10K
R211,212,213 3 160R / 1206 reichelt.de SMD 1/4W 160
R220 1 2K2 / 1206 reichelt.de RND 1206 5 2,2K
R310,311 2 0R / 1206 reichelt.de RND 1206 0
R400 1 5K1 / 1206 reichelt.de RND 1206 1 5,1K
S1,2 2 B3F-31XX Switch Omron voelkner.de W26006
SG1 1 BUZZER 5V / RM6.5 voelkner.de D94408
V0,1 2 LED blau / 1206 reichelt.de LED EL 1206 BL
V110,300 2 BSS123 / SOT23 segor.de BSS 123
X100 1 MINI-USB B reichelt.de LUM 2486-01
X211,212,213,221,222,223 - Stiftleiste (Teil) segor.de SL1x36-90Z/U
Taster mit Beleuchtung 3 Taster beleuchtet M 16 ebay.de
X300 1 Buchsenleiste segor.de FLLAB 1x20-180G
Stiftleiste für LCD - Stiftleiste (Teil) segor.de SL1x40-180G
LCD 1 ST7920 LCD 12864 ebay.de
X400 1 AM2302 ebay.de
Mechanik für Montage 4 Distanzhülsen, M3, 8mm segor.de M3x 8 IA
Mechanik für Montage 4 Linsenschraube DIN 7985 hornbach.de M 3,0 x 6,0
Mechanik für Montage 3 Sechskantmutter DIN 934 hornbach.de M 3,0
Ständer 1 Abstandsbolzen M3x30mm segor.de M3x30 II
USB 2.0 Kabel 1 A Stecker auf Mini B reichelt.de DELOCK 82311
Verdrahtung
Mit den drei Tastern lässt sich der Wecker bedienen und es ist möglich ein Teil der Einstellungen vorzunehmen. Damit diese Taster funktionieren, müssen sie verdrahtet werden.
Das Bildbeispiel zeigt eine Verdrahtung für 12 Volt KFZ-Taster. Diese Taster haben eine LED im Inneren eingebaut, welche bei 3,3 Volt nur noch schwach leuchten.
Um dies zu verstärken habe ich einen gewöhnlichen NPN- Transistor (BC 547) als Schalter an 5 Volt davor geschaltet. Diese Spannung reicht aus, damit die LED im Inneren des Tasters hell genug leuchtet.
Beispielverdrahtung der iClock WiFi (auf das Bild klicken um es zu vergrößern)
Fertiger Aufbau
Das Bild zeigt eine fertig montierte iClock WiFi Schaltung. Hier mit einer speziell schicken Plexiglasplatte.
Fertiger Aufbau der iClock WiFi
iClock WiFi - Firmware
iClock WiFi programmieren
Zum Aufspielen der Firmware wird die iClock WiFi mit einen USB-Kabel am PC angeschlossen. Auf dem PC muss die Programmierumgebung Arduino mit der Erweiterung ESP8266 Generic installiert sein.
Die iClock WiFi muss in den Programmiermodus gebracht werden. Dazu die Flash-Taste halten und parallel Reset drücken. Danach muss in der Programmierumgebung Arduino der Sktech (so nennt man den Source-Code) hochgeladen werden.
Firmware
Download der Arduino Firmware für den ESP8266.
iClock_WiFi_Firmware.zip
iClock WiFi - Software für Windows
iClock WiFi Software
Mit der Windows Software lässt sich die iClock WiFi bequem einrichten. Hierzu wird die Uhr wiederum nur mit dem USB-Kabel am PC angeschlossen. Danach kann mit der Windows Software auf die Uhr zugegriffen werden.
Windows Software "iClock WiFi" Life-Anzeige
Die Software bietet folgende Features:
- Einrichten der Netzwerkverbindung
- Einrichten der NTP-Server für die Zeitsynchronisation
- Life-Anzeige der aktuellen Daten, wie Uhrzeit, Datum, Temperatur und Luftfeuchte
- Einstellen der Weckfunktion
- Erweiterte Konfiguration der Uhr
Bedienung der Windows Software
Im ersten Schritt muss mit der iClock WiFi Kontakt hergestellt werden. Das grüne Symbol sorgt für den Aufbau der Verbindung. Ein Fenster mit einer Liste an FTDI-Geräten wird gezeigt.
Zum Öffnen auf den entsprechenden Eintrag doppelt klicken. Hier im Beispiel heißt das Gerät: FT232R USB UART.
Windows Software "iClock WiFi" - Gerät auswählen
Für das automatische Synchronisieren der Zeit ist es notwendig das Netzwerk einzurichten. Ein Klick auf den Knopf NETZWERK EINRICHTEN öffnet das Fenster für diese Aufgabe.
Aus den rechts angezeigten verfügbaren Funknetzwerken muss nun das heimische Netzwerk ausgewählt werden. Nach dem Verbinden werden auf der linken Seite die aktuellen Informationen, wie IP-Adressen usw., angezeigt.
Im linken unteren Bereich können bis zu drei NTP-Server definiert werden. Ist NTP-Server 1 nicht erreichbar, wird mit dem zweiten probiert usw.
Windows Software "iClock WiFi" Netzwerk einrichten
Die Software hat verschiedene Tabs. Auf dem zweiten Tab kann die Weckfunktion eingestellt werden. Hierzu gehören die Uhrzeit, der Wochentag und die Lautstärke.
Zum Abschluss müssen die Einstellungen mit dem Knopf ALARM SPEICHERN abgespeichert werden.
Windows Software "iClock WiFi" Wecker einstellen
Auf dem dritten Tab werden generelle Einstellungen getroffen:
- Zeitzone - stellt die Zeitzone ein
- Automatisch auf Sommerzeit umstellen - angehakt erlaubt die automatische Umstellung
- Kalibrierungswert in 0,24 Sekunden / Stunde - addiert den Teil der Sekunde pro Stunde auf
- LCD Helligkeit - stellt die Helligkeit der Hintergrundbeleuchtung ein
- LED Animation - stellt eine der verschiedenen LED Animationen der drei Taster ein
Mit Hostname und URL kann von einem Webserver ein HTML-Dokument heruntergeladen werden. Dieses Dokument wird auf dem LCD als Lauftext angezeigt (maximal 1024 Zeichen).
Die Firmware der iClock WiFi wertet dazu den Text aus, der zwischen den BODY-Tags steht. Ich persönlich habe mir ein Script geschrieben, was mir das aktuelle Wetter anzeigt.
Diese Funktion kann deaktiviert werden, wenn der Inhalt aus Hostname gelöscht wird.
Windows Software "iClock WiFi" Generelle Einstellungen
Software Download
Download der Windows Software 'iClock_WiFi'. Das ZIP-Archiv an einer beliebigen Stelle entpacken. Die Software kann ohne Installation direkt aus dem Verzeichnis gestartet werden.
iClock_WiFi_Software.zip
Zur Startseite
|