Projekt:SpaceLED: Unterschied zwischen den Versionen

keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(8 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Infobox Projekt
|name            = SpaceLED
|status          = stable
|beschreibung = Anzeige ob Space offen
|autor          = [[Benutzer:Dg3hda|Hendi]]
|owner          = Dg3hda
|image          = LeuchtiAKASpaceLED.jpg
|imagesize      =240
}}
= Ü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[[Datei:rindphi.jpg|50px|]]: 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/lichtscheu/SpaceLED-ESP8266 hier bei Github]</u>


==Hardware==
==Hardware==
Zeile 31: Zeile 34:


[[: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 43: Zeile 53:
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 82: Zeile 95:
let boottime=30
let boottime=30
let graceperiod=60
let graceperiod=60
timer 100,[service]
timer 200,[service]
wait
wait


[service]
[service]
timer 0
neo(0,25,25,25)
neo(0,25,25,25)
cls
cls
Zeile 104: Zeile 118:
tdown=tdown-graceperiod
tdown=tdown-graceperiod
if Status == "v" then neo(0,25,0,0)
if Status == "v" then neo(0,25,0,0)
if Status == "o" then neo(0,0,25,0)no
if Status == "o" then neo(0,0,25,0)
sleep tdown
sleep tdown
wait
wait
</pre>
</pre>
===


==Lesestoff==
==Lesestoff==
mitglieder, vorstand
1.621

Bearbeitungen