Projekt:SpaceLED: Unterschied zwischen den Versionen

Zur Navigation springen Zur Suche springen
Projektbox, aufgeräumt
(Infobox)
(Projektbox, aufgeräumt)
Zeile 9: Zeile 9:


= Übersicht =
= Übersicht =
Es wird beschrieben wie man mit einem auf dem ESP8266 "IoT Chip" basierenden NodeMCU-(Clone)-Board, WLAN, und etwas LED-Zauberei den Zustand des Space in sein Wohnzimmer holen kann. Es gibt zwei Varianten des Codes, eine für eine RGB-LED direkt an der GPIO des ESP-Moduls, eine andere verwendet eine LED mit eingebautem adressierbaren Treiber WS2812, welche die zuletzt gewählten Helligkeits- und Farbeinstellungen speichert und das etwas energiehungrigere ESP-Modul zwischen den Abfragen in den Sleepmodus versetzt wird.  
Es wird beschrieben wie man mit einem auf dem ESP8266 "IoT Chip" basierenden NodeMCU-(Clone)-Board, WLAN, und etwas LED-Zauberei den Zustand des Space in sein Wohnzimmer holen kann. Es gibt zwei Varianten des Codes, eine für eine RGB-LED direkt an der GPIO des ESP-Moduls, eine andere verwendet eine LED mit eingebautem adressierbaren Treiber WS2812, welche die zuletzt gewählten Helligkeits- und Farbeinstellungen speichert und das etwas energiehungrigere ESP-Modul zwischen den Abfragen in den Sleepmodus versetzt wird. Ein C++ code für die Arduino IDE entsteht auch.


== Ansprechpartner ==
== Ansprechpartner ==


Hendrik
* Hendrik: Idee, Implementierung mit BASIC
* Marcel: C++ Versionen




''Artikel in Arbeit''
''Artikel in Arbeit''
== Grundlage: ESP8266BASIC==
Mein NodeMCU habe ich der guten alten Zeit willen mit [http://www.esp8266basic.com/ ESP8266BASIC] beladen. Wie es geht, steht auf deren Website.
[[:File:ESP8226_Pin_History.jpg]]
===Hinweise:===
* Bei neueren Versionen muss in Einstellungen ein Häkchen bei "default Skript automatisch starten" (oder so ähnlich) gesetzt werden (nach der sleep-phase startet der esp neu und macht daher ohne aktivierten autostart einfach nichts mehr)
* Der Arduino (wie es auf der Basic-Website zu sehen) wird nur gebraucht wenn man einen nackten ESP flashen will. Wahrscheinlich hast du aber ein "Entwicklerboard", wie z.B. NodeMCU, das du per USB an deinen Rechner hängen kannst - diese kannst du direkt mit dem Programm von der Website flashen
* Marcel hat inzwischen auch eine C++ Variante mit der Arduino IDE geschrieben. Den Sketch gibt's <u>[https://github.com/Schaffenburg/SpaceLED-ESP8266-cpp hier bei Github]</u> (Ist noch in der Beta, Code ist für ansteuerbare LED, normale RGB-LED und auch für einzelne LEDs geeignet, Stromsparmodi fehlen noch.)


==Hardware==
==Hardware==
Zeile 40: Zeile 33:


[[:File:SpaceLED V1.PNG]]
[[:File:SpaceLED V1.PNG]]
== Implementierung mit ESP8266BASIC==
Mein NodeMCU habe ich der guten alten Zeit willen mit [http://www.esp8266basic.com/ ESP8266BASIC] beladen. Wie es geht, steht auf deren Website.
===Hinweise:===
* Bei neueren Versionen muss in Einstellungen ein Häkchen bei "default Skript automatisch starten" (oder so ähnlich) gesetzt werden (nach der sleep-phase startet der esp neu und macht daher ohne aktivierten autostart einfach nichts mehr)
* Der Arduino (wie es auf der Basic-Website zu sehen) wird nur gebraucht wenn man einen nackten ESP flashen will. Wahrscheinlich hast du aber ein "Entwicklerboard", wie z.B. NodeMCU, das du per USB an deinen Rechner hängen kannst - diese kannst du direkt mit dem Programm von der Website flashen


===Funktionsweise Software===
===Funktionsweise Software===
Zeile 52: Zeile 52:
Dazu kommt zeitweise noch Weiß: Das sagt nichts über den Space. Es bedeutet: Abfrage läuft. Bei Sleepmode-Variante gibt es einen Blauschimmer während der grace period und bedeutet WLAN ansprechbar.
Dazu kommt zeitweise noch Weiß: Das sagt nichts über den Space. Es bedeutet: Abfrage läuft. Bei Sleepmode-Variante gibt es einen Blauschimmer während der grace period und bedeutet WLAN ansprechbar.


==Code==
== Implementierung mit C++ ==
* Marcel hat inzwischen auch eine C++ Variante mit der Arduino IDE geschrieben. Den Sketch gibt's <u>[https://github.com/Schaffenburg/SpaceLED-ESP8266-cpp hier bei Github]</u> (Ist noch in der Beta, Code ist für ansteuerbare LED, normale RGB-LED und auch für einzelne LEDs geeignet, Stromsparmodi fehlen noch.)
 
==Code BASIC==
Der folgende Code ist mit ESP8266BASIC Version 2.0 Alpha 10 lauffähig. Voraussetzung ist das korrekte eintragen der Zugangsdaten als WLAN-Client und Freigabe für Internetzugriff. Ich habe dem Client nur Whitelistzugriff gegeben um ihn von anderen Websites fernzuhalten (damit er kein PR0N schaut) und hausintern einen DNS-Namen gegeben, um ihn nicht nur mit der IP-Adresse ansprechen zu können. Das Wiedernachschau-Intervall ist ~5 Minuten, aber der Timer erschien mir bisher ein bischen flaky.
Der folgende Code ist mit ESP8266BASIC Version 2.0 Alpha 10 lauffähig. Voraussetzung ist das korrekte eintragen der Zugangsdaten als WLAN-Client und Freigabe für Internetzugriff. Ich habe dem Client nur Whitelistzugriff gegeben um ihn von anderen Websites fernzuhalten (damit er kein PR0N schaut) und hausintern einen DNS-Namen gegeben, um ihn nicht nur mit der IP-Adresse ansprechen zu können. Das Wiedernachschau-Intervall ist ~5 Minuten, aber der Timer erschien mir bisher ein bischen flaky.


Zeile 118: Zeile 121:
wait
wait
</pre>
</pre>
===


==Lesestoff==
==Lesestoff==
mitglieder, vorstand
1.688

Bearbeitungen

Navigationsmenü