0:00:00.000,0:00:12.379
EH2018 Vorspannmusik
0:00:12.379,0:00:14.759
Jochen Krapf: Okay, hallo zusammen!
0:00:14.759,0:00:18.230
Ich bin der Jochen. Ich will heute was[br]erzählen, wie es der Titel schon sagt,
0:00:18.230,0:00:21.650
über „Easy Do-It-Yourself[br]Internet-of-Things“,
0:00:21.650,0:00:27.470
Sachen mit dem ESP und mal einen kurzen[br]Überblick noch in der Version mit dem
0:00:27.470,0:00:31.789
[Raspberry] Pi.[br]So, was wollen wir heute machen?
0:00:31.789,0:00:35.800
Also eigentlich ein theoretischer Workshop,[br]wenn man so will. Ich will hier
0:00:35.800,0:00:41.150
ein IoT-Gerät bauen, hier als Vortrag,[br]mit dem ich ein paar Sachen
0:00:41.150,0:00:48.990
messen will. Als Raumtemperatur, relative[br]Feuchte, und auch ein Bewegungssensor.
0:00:48.990,0:00:52.090
Ich will auch die Helligkeit noch ein[br]bisschen schätzen, nicht messen.
0:00:52.090,0:00:55.690
Es ist keine genaue Messung, sondern nur,[br]ob es hell oder dunkel im Raum ist.
0:00:55.690,0:01:02.531
Noch Tür- oder Fensterkontakte. Und[br]das Ganze soll dann mit MQTT ‒ das ist
0:01:02.531,0:01:06.570
ein standardisiertes Protokoll, was bei[br]vielen IoT-Geräten verwendet wird
0:01:06.570,0:01:11.070
mittlerweile ‒ soll an irgendeinen Server[br]geschickt werden. Das Ganze
0:01:11.070,0:01:17.000
als kleines, einfaches Teil. Und[br]vielleicht noch einen Ausblick,
0:01:17.000,0:01:22.080
was man sonst noch so alles mit[br]dem IoT-Gerät machen könnte.
0:01:22.080,0:01:27.310
Man kann natürlich auch die[br]Funksteckdosen steuern. Man kann
0:01:27.310,0:01:32.890
die Infrarot-Fernbedienung ersetzen durch[br]ein IoT-Gerät, und damit einen Fernseher
0:01:32.890,0:01:38.670
quasi fernsteuern. Man kann irgendwelche[br]Taster abfragen, um dann z.B. Lichtschalter
0:01:38.670,0:01:46.820
durch ein IoT-Gerät zu ersetzen. Man kann[br]LED-Strips steuern, sowohl die RGB-Strips
0:01:46.820,0:01:53.810
als auch WS2812, das sind die[br]einzelsteuerbaren RGB-Sachen, oder
0:01:53.810,0:01:59.449
auch Relais, um eine Lampe ein- und[br]auszuschalten. Statusanzeigen über LCD
0:01:59.449,0:02:06.480
sind natürlich auch möglich. Und auch[br]weitere Sensoren, wie z.B. Feinstaub,
0:02:06.480,0:02:11.380
Stickoxide, organische Gase und so was[br]kann man natürlich auch anschließen.
0:02:11.380,0:02:17.490
Da soll mal das grobe Ziel sein, was wir[br]machen wollen. Und bei der Umsetzung
0:02:17.490,0:02:20.480
habe ich natürlich auch ein paar[br]Anforderungen. Soll natürlich Open Source
0:02:20.480,0:02:27.699
sein. Ist ja hier klar, eigentlich.[br]Möglichst wenig Programmierkenntnisse
0:02:27.699,0:02:32.799
und auch wenig Löterfahrung, damit man[br]das einfach und schnell machen kann.
0:02:32.799,0:02:37.319
Ich weiß, dass hier auch viele Leute sind,[br]die sehr gute Programmierer sind,
0:02:37.319,0:02:40.549
aber hier geht’s eher darum, dass so[br]die breite Masse auch mal schnell
0:02:40.549,0:02:46.199
ein IoT-Gerät bauen kann, ohne[br]viel Aufwand. Ich will natürlich
0:02:46.199,0:02:51.319
Standardmodule verwenden, die[br]natürlich auch nichts kosten dürfen.
0:02:51.319,0:02:57.299
Mit ‘Standardmodule’ meine ich Sachen,[br]die ich überall bei Ebay und sonstigen
0:02:57.299,0:03:02.809
Portalen bekomme, für wenig Geld,[br]die oft auch als Arduino-Zusatzmodule
0:03:02.809,0:03:07.299
ausgewiesen werden.
0:03:07.299,0:03:10.279
Was nimmt man dafür?[br]Man braucht irgendeinen Prozessor.
0:03:10.279,0:03:16.979
Das, was am häufigsten verwendet wird,[br]mittlerweile, ist der sogenannte ESP8266.
0:03:16.979,0:03:24.219
„-12“ ist dann noch die spezielle Bauform.[br]Und sieht dann entsprechend so aus.
0:03:24.219,0:03:30.150
Das ist ein 32 bit-Prozessor[br]mit genügend Megahertz,
0:03:30.150,0:03:34.509
um auch ein bisschen Webserver[br]und sowas zu machen.
0:03:34.509,0:03:41.310
Hat 4 MB Flash für [das] Programm[br]und auch eine Flash-Disk,
0:03:41.310,0:03:46.339
um auch Dateien abzulegen. Mit 20kB[br]RAM kommt man nicht so weit,
0:03:46.339,0:03:50.719
aber es reicht, auch für Webserver-[br]Anwendungen. Auf jeden Fall
0:03:50.719,0:03:55.069
wesentlich mehr als man beim[br]Arduino, zum Beispiel, hätte.
0:03:55.069,0:04:02.799
Der große Vorteil: er hat ein Wi-Fi mit[br]eingebaut. Man sieht ja die Antenne.
0:04:02.799,0:04:10.669
Also die interne Antenne, um dann mit[br]2,4GHz dann gegen den lokalen Access Point
0:04:10.669,0:04:17.870
dann Daten zu werfen. Der große Vorteil[br]ist, dass das Ganze über die Arduino-IDE
0:04:17.870,0:04:25.300
programmierfähig ist. Und mehr als[br]90% der Libraries von Arduino auch
0:04:25.300,0:04:29.340
mit diesem Prozessor verwendet werden[br]können. Man kann natürlich auch andere
0:04:29.340,0:04:36.550
Sachen, wie atom-Umgebung mit platform.io[br]zur Programmierung verwenden.
0:04:36.550,0:04:43.970
[Da] gehe ich jetzt nicht näher [darauf][br]ein, nur… wer damit etwas machen will.
0:04:43.970,0:04:51.270
Das Modul hat 2mm Raster, ist damit für[br]Hobbyisten natürlich nicht so gut geeignet.
0:04:51.270,0:04:57.500
Mit Anlöten, oder Breadboard-Anwendung.[br]Deshalb gibt es ein paar andere Sachen,
0:04:57.500,0:05:01.990
es gibt Hersteller, die dann genau dieses[br]Modul auf Platinen setzen, die dann wieder
0:05:01.990,0:05:13.261
mit 2,54mm-Raster arbeiten ‒ dann also[br]Breadboard-fähig ‒ und dann auch schon
0:05:13.261,0:05:18.789
USB-Seriell-Wandler mit auf der Platine[br]haben. Um dann gleich an den Rechner
0:05:18.789,0:05:25.330
anstecken zu können. Und auch einen[br]Spannungswandler, um dann mit 5V
0:05:25.330,0:05:32.220
zu arbeiten. Der Chip selber braucht 3,3V.[br]Auf der linken Seite ist die sogenannte
0:05:32.220,0:05:36.800
Node-MCU. Die man nicht nur mit LUA[br]verwenden kann, sondern auch
0:05:36.800,0:05:42.729
neu flashen, und dann eben seinen[br]C-Code darauf ausführen kann.
0:05:42.729,0:05:48.270
Rechts sieht man das im Prinzip[br]elektronisch Gleiche, nur auf einer
0:05:48.270,0:05:53.510
anderen Platine. Das ist der WeMos D1,[br]davon gibt es auch eine Pro-Variante
0:05:53.510,0:05:59.680
mit steckbarer Antenne. Hat das gleiche[br]drauf, und den USB-Seriell-Wandler
0:05:59.680,0:06:04.490
auf der Unterseite. Deshalb ist die[br]Platine kleiner und kompakter.
0:06:04.490,0:06:11.220
Die werde ich jetzt hier für meine[br]Vorführung auch verwenden.
0:06:11.220,0:06:16.840
Man hat an dem Prozessor 9 I/O-Pins,
0:06:16.840,0:06:19.999
die man frei verwenden kann.
0:06:19.999,0:06:23.580
Und damit kann man dann die meisten[br]Sachen auch abdecken. Man hat auch
0:06:23.580,0:06:31.739
I2C-Bus, man hat SPI, man hat einen[br]AD-Wandler-Kanal. Fast alle Pins
0:06:31.739,0:06:41.090
sind als GPIO verwendbar, um[br]dann alles mögliche zu schalten
0:06:41.090,0:06:45.990
und eben einzulesen.
0:06:45.990,0:06:50.199
Zu den Sensoren: ich habe ja gesagt,[br]Hauptaufgabe ist Temperatur-
0:06:50.199,0:06:57.610
und Feuchtemessung. Dafür gibt es den[br]DHT22, als einen von vielen Sensoren,
0:06:57.610,0:07:03.790
nur als Beispiel. Es gibt Infrarot-[br]Bewegungsmelder ‒ kann ich gleich
0:07:03.790,0:07:09.370
noch mal live vorführen. Und es gibt[br]auch Standard-LDR’s, die man hier
0:07:09.370,0:07:15.300
verwenden kann, um eine Helligkeit[br]abzuschätzen.
0:07:15.300,0:07:20.960
Jetzt brauche ich die Kamera!
0:07:20.960,0:07:30.780
Nö, ich muss mal kurz…
0:07:30.780,0:07:34.950
Halt! Nein… So.
0:07:34.950,0:07:39.740
Jetzt! Das ist nochmal der ESP.[br]Hier ist die Rückseite
0:07:39.740,0:07:44.370
mit dem USB-Seriell-Wandler.[br]Hier ist die Vorderseite
0:07:44.370,0:07:52.739
mit dem ESP, und eben der Antenne[br]auf der Vorderseite für WLAN.
0:07:52.739,0:08:03.680
Sensoren ‒ habe ich einmal hier den DHT22,
0:08:03.680,0:08:08.800
der hier einfach mit drei Pins am ESP[br]angeschlossen wird, da kommen wir
0:08:08.800,0:08:18.969
gleich noch dazu. Ich habe noch den[br]Infrarot-Melder, der sieht dann so aus.
0:08:18.969,0:08:23.719
Noch Schärfe…
0:08:23.719,0:08:30.780
Und auf der Rückseite ist eben die[br]Elektronik, mit drei Anschlüssen,…
0:08:30.780,0:08:38.129
Sieht man’s gut?
0:08:38.129,0:08:40.489
So, jetzt.
0:08:40.489,0:08:45.050
…der einfach nur ein Signal ausgibt,[br]wenn sich jemand im Raum bewegt hat.
0:08:45.050,0:08:51.350
Ansonsten braucht er einfach 5 Volt,[br]und das war’s dann. Zu den Kosten:
0:08:51.350,0:08:55.300
der Bewegungsmelder kostet[br]vielleicht 3..4 Euro, wenn man es
0:08:55.300,0:09:01.930
in Deutschland kauft. Der Temperatursensor[br]auch 3..4..5 Euro. Es gibt natürlich
0:09:01.930,0:09:06.850
noch weitere Module. Es gibt noch jede[br]Menge solche Module ‒ jetzt nur
0:09:06.850,0:09:13.070
als Beispiel ‒ die einfach schon
0:09:13.070,0:09:17.230
freundlicherweise auf ein[br]Board gelötet sind, und
0:09:17.230,0:09:23.660
einfach mit ein paar Steckkontakten an[br]den Prozessor entweder angelötet bzw.
0:09:23.660,0:09:27.529
mit Steckkabeln angeschlossen werden kann.
0:09:27.529,0:09:35.440
Dann wollten wir ja noch die[br]Helligkeit detektieren. Da gibt es
0:09:35.440,0:09:38.570
einen sogenannten LDR ‒ einen[br]lichtempfindlichen Widerstand.
0:09:38.570,0:09:44.470
Kostet vielleicht einen Euro, oder weniger,[br]wenn man einen Zehnerpack nimmt.
0:09:44.470,0:09:53.540
Dann eventuell noch eine Leuchtdiode[br]als Statusanzeige.
0:09:53.540,0:09:58.160
Zu der Verkabelung:[br]ist auch relativ einfach.
0:09:58.160,0:10:02.380
Für den Temperatursensor brauche[br]ich hier nur noch einen Widerstand
0:10:02.380,0:10:11.250
als sogenannten Pullup, um die[br]Datenleitungen gegen die 3,3 V zu ziehen.
0:10:11.250,0:10:14.370
Das heißt, ich brauche einfach nur[br]drei Kabel am Prozessor anlöten,
0:10:14.370,0:10:18.660
und habe das Ding schon konnektiert.
0:10:18.660,0:10:24.040
Eins daneben, in der Mitte, ist der[br]Bewegungsmelder. Der braucht 5 Volt,
0:10:24.040,0:10:30.559
gibt ein 3,3 Volt TTL-Signal raus. Und den[br]kann ich auch einfach am Prozessor,
0:10:30.559,0:10:35.490
an einem fast beliebigen Pin anschließen.
0:10:35.490,0:10:41.310
Wenn ich die Helligkeit messen will, kann[br]ich den LDR oben rechts einfach so
0:10:41.310,0:10:45.550
anschließen, weil, es sind schon[br]Widerstände als Spannungsteiler
0:10:45.550,0:10:52.489
aufgelötet. Und damit brauche ich keine[br]weiteren, externen Komponenten.
0:10:52.489,0:10:56.680
Wenn ich einen Türschalter habe will,[br]brauche ich natürlich noch einen Pullup,
0:10:56.680,0:11:02.240
unten rechts, der mir das Ganze auf 3 Volt[br]zieht. Und der Schalter, ich sage mal,
0:11:02.240,0:11:06.490
einen Reed-Schalter, z.B., um einen[br]Fensterkontakt abzufragen, der
0:11:06.490,0:11:13.730
gegen Masse schaltet. Optional noch[br]eine LED, die am Fenster anzeigt, ob es
0:11:13.730,0:11:20.050
geöffnet ist. Und auch die LED ‒ einfach[br]mit einem Vorwiderstand anschließen.
0:11:20.050,0:11:25.339
Wenn ich weitere Sachen anschließen[br]will, nur so mal als Überblick,
0:11:25.339,0:11:32.339
alles was einen I2C-Bus hat, einfach[br]mit den zwei Leitungen ‒ also ‘Daten’
0:11:32.339,0:11:39.000
und ‘Clock’ ‒ am Prozessor anschließen,[br]und das war’s. Ich brauche nichts weiteres.
0:11:39.000,0:11:43.420
Auch jetzt so ‘Neopixel’ ‒ einfach mit[br]einem Pin anschließen, natürlich
0:11:43.420,0:11:48.300
die 5 Volt aus einem starken Netzteil[br]noch beziehen, und dann kann ich
0:11:48.300,0:11:53.990
das Ganze betreiben. Auch einen LED-Strip[br]kann ich einfach mit einem Schalttransistor
0:11:53.990,0:11:59.399
dann mit PWM auch die Helligkeit steuern.[br]Und man sieht, dass sich die ganze Hardware
0:11:59.399,0:12:04.579
eigentlich sehr in Grenzen hält. Und damit[br]auch für Hobbyisten: einfach nur Kabel
0:12:04.579,0:12:12.049
an Sensor und Prozessor anschließen,[br]und schon sollte alles funktionieren.
0:12:12.049,0:12:16.980
Dann brauche ich natürlich noch ein[br]Netzteil. Da kann man natürlich solche
0:12:16.980,0:12:22.829
schönen China-Handyladenetzteile nehmen.[br]Wenn man den USB-Stecker
0:12:22.829,0:12:28.059
nicht kaufen will, kann man, wie hier[br]zu sehen, auch einfach aus einem Stück
0:12:28.059,0:12:36.840
Lochrasterplatine sich selber schnell einen[br]Stecker bauen, funktioniert wunderbar.
0:12:36.840,0:12:42.939
Gehäuse. Da ist man natürlich komplett[br]frei, was man machen will.
0:12:42.939,0:12:48.920
Man kann irgendwas nehmen, was eh da ist,[br]eine Haushaltsbox, so eine Verteilerdose,
0:12:48.920,0:12:54.960
vielleicht eine Zigarrenkiste oder[br]sonstwas. Wenn man im Hackerspace
0:12:54.960,0:12:57.680
oder Fablab einen 3D-Drucker hat,[br]kann man sich natürlich da auch
0:12:57.680,0:13:02.130
was beliebiges drucken. Ich nehme[br]natürlich sehr gern den Laser-Cutter,
0:13:02.130,0:13:10.530
um damit Gehäuse zu bauen. Und[br]das kann ich dann auch vorführen.
0:13:10.530,0:13:24.810
Muss nur schnell noch umbauen.[br]Aus dem Laser-Cutter
0:13:24.810,0:13:29.210
würde dann z.B. sowas rausfallen.
0:13:29.210,0:13:32.160
Also ein sehr luftiges Gehäuse,[br]dass man dann wirklich
0:13:32.160,0:13:34.990
die Raumtemperatur messen kann[br]und nicht die Eigentemperatur
0:13:34.990,0:13:42.490
des Prozessors. Und wenn man das[br]Ganze dann entsprechend bestückt,
0:13:42.490,0:13:47.259
dann würde das so aussehen. Da habe ich[br]den Bewegungsmelder, ich habe meine
0:13:47.259,0:13:56.390
Status-Leuchtdiode. Hier habe ich meinen[br]Temperatur- und Feuchtigkeitssensor.
0:13:56.390,0:14:02.480
Hier vorne habe ich den LDR. Hier habe ich[br]noch die Buchsen für die Fensterkontakte,
0:14:02.480,0:14:07.949
zwei Stück. Und hier gleich mit[br]eingearbeitet, das USB-Netzteil,
0:14:07.949,0:14:11.819
um das Ding einfach in die nächste[br]Steckdose zu stecken und dann
0:14:11.819,0:14:16.230
keine weiteren Kabel mehr zu ziehen.[br]Wer keine Steckdose hat, kann
0:14:16.230,0:14:22.070
natürlich dann auch so eine Variante[br]nehmen. Das ist das gleiche,
0:14:22.070,0:14:25.230
vielleicht muss ich es… naja… ein[br]bisschen anders halten, naja,
0:14:25.230,0:14:33.710
man sieht es schlecht. Hier innen[br]drin sieht man den Prozessor.
0:14:33.710,0:14:41.479
So. Hier sieht man den Prozessor, und[br]die USB-Buchse nach außen zugänglich,
0:14:41.479,0:14:45.209
dass man einfach mit einem Micro-USB-[br]Kabel drauf verbinden kann.
0:14:45.209,0:14:49.720
Ansonsten auch wieder hier oben den[br]lichtempfindlichen Widerstand,
0:14:49.720,0:14:58.779
die Kontakte für die Fenster, Temperatur[br]und Feuchtigkeit. Und nach vorne
0:14:58.779,0:15:04.249
den Passiv-Infrarot-Bewegungsmelder,[br]mit Diode. Und auf der Rückseite
0:15:04.249,0:15:10.529
noch ein paar Löcher, um das ganze mit[br]Schrauben an die Wand zu dübeln.
0:15:10.529,0:15:15.959
Man kann sich natürlich nicht nur solche[br]Gehäuse nehmen, oder bauen.
0:15:15.959,0:15:20.370
Man kann natürlich auch andere Sachen[br]machen. Einfach mal als Ausblick, was man
0:15:20.370,0:15:25.250
alles verwenden kann. Man kann auch[br]bestehende Sachen nehmen.
0:15:25.250,0:15:31.699
Z. B. hier so einen schönen, alten[br]Schalter, die man teilweise noch findet.
0:15:31.699,0:15:36.770
Wo man dann hier… schalten kann.
0:15:36.770,0:15:44.809
Und auf der Unterseite ist natürlich[br]der ESP eingelassen.
0:15:44.809,0:15:47.509
Das ganze gibt es natürlich auch…
0:15:47.509,0:15:52.420
so, vielleicht, wenn noch jemand[br]die alten Schalter hier kennt,
0:15:52.420,0:15:58.510
diese Bakelit-Schalter. Da wurde natürlich[br]das Schaltelement entfernt und durch
0:15:58.510,0:16:07.110
einen Encoder ersetzt. Wenn man[br]mal dreht, hat man natürlich dann
0:16:07.110,0:16:13.840
einen Encoder und kann damit auch[br]einen Dimmer z. B. damit realisieren.
0:16:13.840,0:16:17.540
Was man auch noch hat,[br]es gibt auch solche Module,
0:16:17.540,0:16:22.790
mit Touch-Zahlenfeldern. Dann einfach[br]ein paar Platten oben und unten drauf,
0:16:22.790,0:16:34.480
und unten entsprechend wieder der[br]ESP eingelassen. Als letztes noch
0:16:34.480,0:16:41.410
so eine schöne, alte, mechanische Klingel.[br]Mit ‒ irgendwo ein Stift? ‒
0:16:41.410,0:16:48.510
mit DC/DC-Wandler, um von den 12 Volt auf[br]die 5 Volt zu kommen, die der ESP braucht.
0:16:48.510,0:16:51.480
Einen Schalttransistor, um die Spulen[br]entsprechend zu treiben.
0:16:51.480,0:16:58.139
Noch Stabilisierung über einen[br]Kondensator und hier der ESP.
0:16:58.139,0:17:02.690
Und ich kann es auch[br]mal umdrehen. So.
0:17:02.690,0:17:09.180
Und damit sind Sachen möglich, z. B.[br]als Notification Device, um zu sagen,
0:17:09.180,0:17:13.119
dass eine Mail da ist, oder, bei uns[br]im Fablab haben wir das ganze dann
0:17:13.119,0:17:15.949
mit zwei Läutwerken, um…
0:17:15.949,0:17:21.660
…um die Uhrzeit zu schlagen,[br]in Binär natürlich,
0:17:21.660,0:17:25.049
mit ‘High’ und ‘Low’, also zwei[br]verschiedenen Klingeltönen.
0:17:25.049,0:17:29.230
Und das ist eben alles dann[br]als Gehäuse möglich.
0:17:29.230,0:17:32.220
Ach ja, doch, eins habe ich noch!
0:17:32.220,0:17:38.400
Auch so ein Schalter, so ein schöner,[br]alter Bakelit-Schalter,
0:17:38.400,0:17:44.760
und dann einfach unten den ESP,[br]einfach eingeklebt.
0:17:44.760,0:17:56.220
Ohne das Schalterelement jetzt[br]auszutauschen, sondern original zu lassen.
0:17:56.220,0:18:02.460
Jetzt brauchen wir natürlich noch Software[br]für das Ganze. Da gibt es jetzt zwei…
0:18:02.460,0:18:06.250
…Versionen, sage ich mal. Man kann sich[br]natürlich die Einzel-Libraries von Github
0:18:06.250,0:18:11.840
holen. Für den DHT gibt es[br]eine Library, für den
0:18:11.840,0:18:15.470
‒ was hatten wir noch alles? ‒[br]für irgendwelche anderen
0:18:15.470,0:18:19.590
I2C-Devices, für alles Mögliche gibt es[br]Librarys, auch Webserver gibt es
0:18:19.590,0:18:24.921
mittlerweile ziemlich viele für den ESP.[br]Wir wollen das ganze ja
0:18:24.921,0:18:30.550
an einen Server schicken, mit MQTT,[br]auch dafür gibt es eine Library.
0:18:30.550,0:18:33.440
Das kann man sich alles herunterladen,[br]kann das ganze irgendwie versuchen,
0:18:33.440,0:18:38.650
zusammenzumergen, dann irgendwo in der[br]Arduino-IDE was zusammenzubasteln,
0:18:38.650,0:18:42.860
wo das ganze dann verbindet. Und dann[br]ist man tagelang beschäftigt, bei Google
0:18:42.860,0:18:47.130
und Stackoverflow zu schauen, warum es[br]nicht funktioniert, oder wie es dann
0:18:47.130,0:18:51.490
richtig funktioniert. Das ist so die[br]Programmierervariante.
0:18:51.490,0:18:55.830
Aber ich habe ja gesagt, wir wollen das[br]ganze für Leute auch machen, die jetzt
0:18:55.830,0:19:01.230
keine oder wenig Programmiererfahrung[br]haben. Deshalb eben Version 2.
0:19:01.230,0:19:06.390
Ich nehme einfach eine fertige Software[br]mit dem Namen ESPEasy.
0:19:06.390,0:19:12.770
Hier zu finden auf Github bzw. das Wiki[br]dazu, einfach bei Google oder der
0:19:12.770,0:19:16.581
entsprechenden Suchmaschine „ESPEasy Wiki“[br]eingeben, dann kommt ihr auf die
0:19:16.581,0:19:24.520
entsprechende Seite.[br]So, was macht jetzt die Software?
0:19:24.520,0:19:29.470
Jetzt muss ich erstmal meine Testumgebung[br]nochmal ein bisschen erklären.
0:19:29.470,0:19:33.600
Ich habe hier ‒ da kann man ja nochmal[br]kurz die Kamera ‒ ich habe hier
0:19:33.600,0:19:39.851
nochmal das, was ich schon gezeigt habe,[br]jetzt mit Kabel dran. Ich habe hier unten
0:19:39.851,0:19:44.860
meinen ESP eingebaut.
0:19:44.860,0:19:52.260
Und er hängt… USB jetzt nur[br]als Stromverbindung.
0:19:52.260,0:19:57.680
Und ich habe hier einen Banana Pi als[br]Server und Access Point stehen.
0:19:57.680,0:20:01.460
Access Point heißt, ich habe jetzt schon[br]eine Verbindung hergestellt zwischen
0:20:01.460,0:20:07.590
dem ESP und dem Access Point. Mein Rechner[br]ist jetzt auch auf dem gleichen Access Point.
0:20:07.590,0:20:11.510
Und damit kann ich jetzt die Webseite[br]von dem ESP mir anschauen.
0:20:11.510,0:20:17.570
Auf dem Banana Pi ist auch noch der MQTT[br]Broker installiert, wo ich dann später
0:20:17.570,0:20:22.990
nochmal darauf zurückkommen will.
0:20:22.990,0:20:27.820
So.
0:20:27.820,0:20:33.300
Hier oben sieht man die IP-Adresse,[br]d. h. ich bin jetzt direkt auf dem ESP,
0:20:33.300,0:20:38.120
der jetzt mit dieser Adresse angemeldet[br]ist. Vielleicht muss ich noch einen Schritt
0:20:38.120,0:20:43.920
zurückgehen. Beim ersten Mal flashen mit[br]diesem ESPEasy geht der ESP in den
0:20:43.920,0:20:48.250
Access Point Mode. Ich kann mich dann mit[br]Handy oder Laptop darauf verbinden,
0:20:48.250,0:20:53.030
kann dann die SSID und Passwort[br]entsprechend eintippen. Dann wird
0:20:53.030,0:20:57.240
neu gebootet, und dann ist er bereit,[br]und ich kann dann im hausinternen Netz,
0:20:57.240,0:21:02.530
wie jetzt, einfach darauf zugreifen.[br]Wenn ich draufgehe, habe ich erstmal
0:21:02.530,0:21:09.370
eine Übersichtsseite, mit[br]allgemeinen Info-Daten.
0:21:09.370,0:21:14.500
Ich habe eine Karteikarte mit der[br]Konfiguration. Wie jetzt hier,
0:21:14.500,0:21:22.680
das ist mein Access Point, mit dem[br]entsprechenden Passwort.
0:21:22.680,0:21:28.800
Ich kann auch noch einen zweiten[br]Access Point eintragen, als Fallback.
0:21:28.800,0:21:33.830
Ich kann natürlich auch feste Adressen[br]vergeben, wenn ich keinen DHCP
0:21:33.830,0:21:39.820
haben will. Und ich kann auch
0:21:39.820,0:21:43.230
den Zugriff über ein Passwort schützen,[br]wenn ich Angst habe, dass über mein
0:21:43.230,0:21:46.700
hausinternes Netz jemand dranrumspielt.
0:21:46.700,0:21:51.530
Das braucht man im Heimnetz[br]üblicherweise nicht.
0:21:51.530,0:21:55.670
Das ist die Grundkonfiguration, um erstmal[br]die Kommunikation herzustellen,
0:21:55.670,0:22:02.790
nach außen. Es gibt eine Hardwareseite,[br]wo ich noch sagen kann,
0:22:02.790,0:22:08.580
wo mein I2C-Bus liegt, auf welchen Pins.[br]Ich kann noch die Status-LED,
0:22:08.580,0:22:14.510
die hier öfter mal blau blinkt, noch[br]sagen, auf welchem Pin die liegt,
0:22:14.510,0:22:20.110
um dann auch eben ‘Rückkopplungen’[br]über Verbindungen und
0:22:20.110,0:22:26.720
Datenpakete noch zu erhalten. Das[br]wichtigste ist eigentlich dieser Reiter,
0:22:26.720,0:22:31.090
„Devices“. Hier geht es um die ganzen[br]Sensoren, die ich angeschlossen habe
0:22:31.090,0:22:37.200
oder anschließen kann. Ich habe[br]jetzt hier drei Sensoren aktiviert.
0:22:37.200,0:22:44.070
Die drei, die ich vorhin[br]schon vorgestellt habe.
0:22:44.070,0:22:47.550
Ich fange jetzt einfach mal[br]mit dem einfachsten an.
0:22:47.550,0:22:51.360
Der Passiv-Infrarotmelder gibt ja[br]einfach nur ein Signal aus,
0:22:51.360,0:22:54.460
wenn sich jemand bewegt hat.[br]Das heißt, ich brauche einfach nur
0:22:54.460,0:23:04.180
einen Schaltereingang. Nennt sich dann,
0:23:04.180,0:23:08.240
hier, „Switch“.
0:23:08.240,0:23:11.230
Okay, ich fange nochmal andersrum an,[br]ich nehme erstmal einen neuen.
0:23:11.230,0:23:15.000
Ich nehme einen… hier.
0:23:15.000,0:23:19.620
Wenn ich noch nichts eingetragen habe,[br]habe ich hier eine Auswahl,
0:23:19.620,0:23:25.430
mit Sensoren, die ich hierfür[br]verwenden kann. Sind irgendwie,
0:23:25.430,0:23:31.020
glaube ich, so 60 Stück, oder so,[br]oder 65 mittlerweile.
0:23:31.020,0:23:34.420
Das sind lauter Plug-Ins, die werden[br]ständig erweitert, von irgendwelchen
0:23:34.420,0:23:38.740
Usern, die freundlicherweise eben[br]die Plug-Ins zur Verfügung stellen.
0:23:38.740,0:23:44.900
Und damit kann ich eben so ziemlich alles,[br]was es an Sensor-Platinen zu kaufen gibt,
0:23:44.900,0:23:50.410
auch einbinden. Wenn ich das[br]dann mal ausgewählt habe,
0:23:50.410,0:23:56.070
dann habe ich es hier eingetragen,[br]und kann es editieren.
0:23:56.070,0:23:59.620
Also hier habe ich einen[br]‘Switch’ ausgewählt.
0:23:59.620,0:24:02.880
Kann ich jetzt nicht mehr ändern,[br]dann müsste ich es eben
0:24:02.880,0:24:08.010
rausschmeißen. Ich kann dem Device einen[br]Namen geben. Das ist dann interessant,
0:24:08.010,0:24:12.120
wenn ich mehrere Devices vom[br]gleichen Typ habe. Und es ist auch
0:24:12.120,0:24:17.160
interessant für das, was ich an MQTT[br]schicke, weil das Teil des Namens ist,
0:24:17.160,0:24:22.490
des Topics ist, was bei MQTT[br]dann verwendet wird.
0:24:22.490,0:24:25.620
Ich kann dann jetzt beim ‘Schalter’ noch[br]sagen, ob ich einen Pull-Up haben will,
0:24:25.620,0:24:30.680
ob ich eine invertierte Logik haben will,[br]welchen Pin ich haben will.
0:24:30.680,0:24:36.460
Da habe ich natürlich die ganze Auswahl[br]an I/O-Pins, die eben nicht mit I2C
0:24:36.460,0:24:42.770
oder anderen festen Sachen[br]dann belegt sind.
0:24:42.770,0:24:46.850
Ich kann sagen „normaler Switch“[br]oder auch „dimmer mode“ oder so.
0:24:46.850,0:24:49.790
Können wir später mal darauf eingehen.
0:24:49.790,0:24:54.210
Und das ‘delay’ ‒ komme ich beim anderen[br]Sensor nochmal drauf. Dieser Schalter,
0:24:54.210,0:25:00.000
wenn „delay=0“ eingestellt ist,[br]würde jetzt immer bei einer Änderung
0:25:00.000,0:25:04.500
ein Datenpaket an MQTT schicken.
0:25:04.500,0:25:10.800
Und ich kann der Variablen, die geschickt[br]wird, auch noch einen Namen geben.
0:25:10.800,0:25:15.270
Das ist vielleicht besser zu sehen[br]bei dem nächsten Sensor.
0:25:15.270,0:25:20.230
Das ist nämlich dieser Temperatur-[br]und Feuchtesensor,
0:25:20.230,0:25:26.380
DHT-11 oder auch -22, je nachdem,[br]was man verwenden will.
0:25:26.380,0:25:32.440
Hier kann ich wieder einen Namen vergeben.[br]Ich kann sagen, er ist auf ‘diesem’ Pin.
0:25:32.440,0:25:36.180
Dann wird ja… von dem Plug-In werden[br]mehrere Sachen unterstützt.
0:25:36.180,0:25:40.780
Da kann ich auswählen, welche.
0:25:40.780,0:25:45.740
Und ich kann jetzt noch sagen, er soll[br]alle 10 Sekunden gesampled werden,
0:25:45.740,0:25:51.870
und der Temperaturwert eben[br]übermittelt werden. Ich habe hier
0:25:51.870,0:25:57.720
eben zwei Kanäle, Temperatur und[br]Feuchtigkeit, und kann irgendeinen
0:25:57.720,0:26:06.890
Namen vergeben, entsprechend für MQTT[br]oder andere Heim-Automatisierungssysteme,
0:26:06.890,0:26:13.800
an die ich das ganze dann schicken will.
0:26:13.800,0:26:19.190
Noch der letzte, der lichtempfindliche[br]Widerstand, mit dem ich ja die Helligkeit
0:26:19.190,0:26:24.530
abschätzen will. Hängt einfach auf einem[br]Analogkanal. Okay ‒ auf DEM einen
0:26:24.530,0:26:30.700
Analogkanal. Ich kann noch sagen[br]„Oversampling“, um dann eben Rauschen
0:26:30.700,0:26:35.620
rauszubekommen. Ich könnte auch noch[br]das ganze kalibrieren, wenn ich wollte,
0:26:35.620,0:26:40.140
dass ich eben einen unteren und oberen[br]Punkt definiere, und dazwischen
0:26:40.140,0:26:44.850
wird eben linear interpoliert. Und auch[br]der soll jetzt alle 10 Sekunden
0:26:44.850,0:26:50.560
gesampled werden. Dann habe ich hier[br]noch eine Einstellung, „dieser Wert soll
0:26:50.560,0:26:56.820
an Controller 1 geschickt werden“. Zu den[br]Controllern komme ich jetzt gleich.
0:26:56.820,0:27:01.710
Und auch hier habe ich wieder[br]einen Namen festgelegt.
0:27:01.710,0:27:08.720
Und so kann ich halt bis zu 12 Devices[br]konfigurieren, und einfach durch Klicken
0:27:08.720,0:27:14.420
in der Web-Oberfläche dann zuweisen[br]auf die Pins, auf die Eigenschaften,
0:27:14.420,0:27:21.260
einige Sachen eben auch skalieren.
0:27:21.260,0:27:24.500
Hier bei ‘Analog’ zum Beispiel könnte ich[br]auch eine Formel eintippen,
0:27:24.500,0:27:29.040
oder eine einfache Formel, wo ich dann[br]sage, ich multipliziere oder addiere
0:27:29.040,0:27:32.210
noch einen Wert dazu. Bei der Temperatur[br]kann es sein, dass sie immer
0:27:32.210,0:27:37.200
ein Grad zu hoch oder zu tief misst, dann[br]könnte ich hier einfach „-1“ reinschreiben.
0:27:37.200,0:27:41.460
Oder halt dann auf andere Werte skalieren.
0:27:41.460,0:27:47.240
Ich kann auch noch festlegen, wieviele[br]Dezimalstellen an den Controller
0:27:47.240,0:27:53.910
übermittelt werden sollen.[br]So, jetzt zu den Controllern.
0:27:53.910,0:27:59.020
Hier habe ich schon mal zwei eingetragen,[br]auch hier wieder das gleiche
0:27:59.020,0:28:06.270
Plug-In-Prinzip. Ich habe[br]die Auswahl von etlichen
0:28:06.270,0:28:13.070
Controllern. Also verschiedene[br]MQTT-Varianten, die aber alle
0:28:13.070,0:28:20.500
recht ähnlich sind. Ich kann auch[br]http-Requests abschicken, weil, an viele
0:28:20.500,0:28:26.020
Server oder auch Datenbanken kann man[br]einfach ein GET-Request hinschicken,
0:28:26.020,0:28:32.450
und die übernehmen so die Daten.
0:28:32.450,0:28:36.820
Da können wir jetzt mal rein.
0:28:36.820,0:28:40.220
Bleiben wir mal gleich[br]bei dem GET-Request.
0:28:40.220,0:28:45.280
Ich kann hier eine IP-Adresse sagen,[br]wo das ganze hingeschickt werden soll,
0:28:45.280,0:28:50.760
über welchen Port. Wenn notwendig,[br]auch, über Login.
0:28:50.760,0:28:54.610
Ich kann hier dann auch sagen, GET[br]oder POST, oder was auch immer.
0:28:54.610,0:28:57.220
Und kann das auch hier[br]entsprechend zusammenbauen.
0:28:57.220,0:29:01.520
Damit habe ich auch die Möglichkeit,[br]einer InfluxDB-Datenbank z.B.
0:29:01.520,0:29:09.720
die Daten direkt hinzuschicken.
0:29:09.720,0:29:14.280
Ich will aber jetzt hier an einen[br]MQTT-Server das ganze schicken.
0:29:14.280,0:29:17.910
Nicht ‘Server’, sondern ‘Broker’[br]in dem Fall.
0:29:17.910,0:29:24.710
Das ist mein Banana Pi, die Adresse,[br]wo der Broker läuft. Der Standard-Port
0:29:24.710,0:29:30.840
ist eben die 1883. Wenn[br]notwendig, auch mit Login.
0:29:30.840,0:29:39.930
Und das ist eine Variable, wie er[br]das Topic für den MQTT-String
0:29:39.930,0:29:44.550
zusammenbaut. Ich habe den[br]Systemnamen, das wäre jetzt hier
0:29:44.550,0:29:52.120
„Test-IoT“. „Task-Name“ wäre quasi[br]der Sensor. Und „value-Name“
0:29:52.120,0:29:57.450
wäre eben z.B. Temperatur- oder[br]Feuchtigkeit. Und damit habe ich
0:29:57.450,0:30:03.420
alles konfiguriert, was ich brauche.[br]Und damit sollte eigentlich schon
0:30:03.420,0:30:09.950
alles funktionieren.
0:30:09.950,0:30:13.400
So, jetzt habe ich hier auf meinem Rechner
0:30:13.400,0:30:19.560
ein kleines Python-Skript, was jetzt einfach[br]zu dem Broker eine Verbindung aufbaut
0:30:19.560,0:30:24.240
und einfach mitliest, was eben an den[br]Broker geschickt wird. Und man sieht,
0:30:24.240,0:30:30.220
dass jetzt alle 10 Sekunden Temperatur,[br]Feuchtigkeit und Helligkeit
0:30:30.220,0:30:35.520
geschickt wird. Und wenn ich hier mich[br]irgendwie bewege, dann wird auch noch
0:30:35.520,0:30:42.240
ein „anyone here“ vom Infrarotsensor
0:30:42.240,0:30:48.540
eben mitgeschickt. D.h. man sieht,[br]es funktioniert auch schon.
0:30:48.540,0:30:54.170
So, ohne dass man jetzt großartig was[br]programmieren oder einstellen muss.
0:30:54.170,0:31:00.010
Einfach nur zusammenklicken,[br]und das war’s.
0:31:00.010,0:31:04.490
Ich habe natürlich noch ein bisschen mehr
0:31:04.490,0:31:09.560
Möglichkeiten. Ich habe auch noch „Rules“.
0:31:09.560,0:31:14.320
Das sind dann sehr einfache Regeln,[br]die ich noch hinterlegen kann.
0:31:14.320,0:31:19.640
Z.B. wenn der Infrarotsensor mit dem Kanal[br]„Anyone here“ triggert, also,
0:31:19.640,0:31:28.270
sprich, wenn ich hier mich bewege[br]und gleichzeitig der LDR einen Wert
0:31:28.270,0:31:32.550
kleiner 200, das war jetzt empirisch[br]ermittelt, d.h. einfach, hier im Raum
0:31:32.550,0:31:38.770
wäre es dunkel. Dann soll er einfach[br]auf einem GPIO-Pin eben den Status
0:31:38.770,0:31:42.800
von „Anyone here“ ausgeben. Das wäre[br]jetzt die einfachste Variante von dem,
0:31:42.800,0:31:49.140
was man als Bewegungsmelder mit Lampe[br]kennt. Kann man hier einfach als Rule
0:31:49.140,0:31:52.311
hinterlegen. Es geht noch ein bisschen[br]komplizierter, aber jetzt bitte
0:31:52.311,0:31:57.020
keine Wunder erwarten. Also aufwändigere[br]Sachen würde man dann auf der Serverseite
0:31:57.020,0:32:03.040
machen, hinter dem MQTT-Broker. Aber auch[br]hier können wir als Standalone-Lösung
0:32:03.040,0:32:10.690
schon einen einfachen Bewegungsmelder,[br]der eine Lampe schaltet, realisieren.
0:32:10.690,0:32:18.130
Es gibt natürlich auch noch jede Menge[br]Zusatz-Tools. Um z.B. I2C-Bus zu scannen,
0:32:18.130,0:32:22.370
um herauszufinden, auf welcher Adresse[br]jetzt mein Sensor läuft, weil, das ist
0:32:22.370,0:32:28.350
nicht immer klar bei den einfachen[br]Modulen. Ich kann meine Settings
0:32:28.350,0:32:37.870
noch wohin speichern, ich kann neue[br]Firmware over-se-air auch updaten.
0:32:37.870,0:32:41.980
Ich kann auch hier noch
0:32:41.980,0:32:49.690
einige Zusatzsachen einstellen, aber[br]das würde jetzt zu weit gehen.
0:32:49.690,0:32:54.520
Auch… irgendwo war es doch…[br]ich sehe es gerade nicht…
0:32:54.520,0:33:00.500
NTP-Server kann ich einstellen, z.B. wie[br]ich gesagt habe, für den Stundenschlag
0:33:00.500,0:33:05.840
würde aus NTP die Zeit beziehen, und dann[br]natürlich sekundengenau schlagen.
0:33:05.840,0:33:14.900
Pause
0:33:14.900,0:33:20.130
So. Dann wieder zurück zu meinen Folien.[br]Damit hätten wir im Prinzip
0:33:20.130,0:33:23.210
eigentlich ein fertiges Gerät, was man[br]einfach nur noch an die Wand schrauben
0:33:23.210,0:33:31.230
muss. Und es würde das ganze an den[br]MQTT-Broker schicken und ich könnte dann
0:33:31.230,0:33:35.610
einen Server wie FHEM oder sowas[br]hintendran setzen, der die Daten
0:33:35.610,0:33:39.640
entgegennimmt, und auch[br]Hausautomatisierung machen, hier
0:33:39.640,0:33:45.120
aus der Temperatur oder Feuchtigkeit dann[br]die Heizung entsprechend ein-/ausschalten,
0:33:45.120,0:33:48.780
irgendwelche Lichter ein-/ausschalten,[br]oder Warnung geben, wenn noch ein Fenster
0:33:48.780,0:34:00.380
offen ist. Das ganze beruht jetzt auf dem[br]ESP, dem alten, kleinen ESP, muss ich
0:34:00.380,0:34:07.730
dazu sagen. Die ESP32-Variante ist[br]gerade noch im Programmieren,
0:34:07.730,0:34:12.500
ist noch nicht so richtig einsatzfähig.[br]Wer als Beta-Version damit spielen will,
0:34:12.500,0:34:17.960
kann die gerne mal probieren. Aber[br]das ist jetzt… bezieht sich nur auf den
0:34:17.960,0:34:24.809
kleinen ESP. Es gibt ein zweites Projekt.
0:34:24.809,0:34:28.939
Mit dem Namen EzPiC.
0:34:28.939,0:34:33.149
Jetzt hier rechts oben zu sehen.[br]Die Grundphilosophie
0:34:33.149,0:34:36.489
ist die gleiche. D.h. ich will eine[br]Web-Oberfläche, wo ich alles schnell
0:34:36.489,0:34:44.408
einstellen kann. Ich will mich nicht lange[br]mit Programmierung und sowas aufhalten.
0:34:44.408,0:34:51.619
Und warum das Projekt angefangen wurde[br]ist, ich will erstmal das ganze auf dem Pi
0:34:51.619,0:34:54.809
zum Laufen bringen. Das war der[br]ursprüngliche Gedanke, wurde dann
0:34:54.809,0:35:00.359
erweitert. Ich will es auch noch auf einem[br]ESP32, also der nächstgrößere ESP
0:35:00.359,0:35:04.529
mit mehr Speicher, mehr Geschwindigkeit[br]und noch ein paar Features mehr,
0:35:04.529,0:35:12.740
auch mehr Pins. Und als Zusatzding[br]für die Entwickler, dass die
0:35:12.740,0:35:16.450
das ganze erstmal, wenn es nicht um[br]die reine Hardware geht, auch mal
0:35:16.450,0:35:21.500
auf dem PC testen können. Also ohne[br]dauernd irgendwas zu programmieren
0:35:21.500,0:35:25.460
und, ja, geht nicht, und man muss jetzt[br]mit LED-Blinken quasi debuggen,
0:35:25.460,0:35:30.919
sondern ich kann dann in einer richtigen[br]Umgebung, z.B. atom-Umgebung,
0:35:30.919,0:35:37.160
bzw. Visual Studio Code, dann kann ich[br]einfach rein-debuggen
0:35:37.160,0:35:41.619
und schonmal alles ausprobieren.
0:35:41.619,0:35:46.910
Das ESPEasy-Projekt ist[br]in C und C++ geschrieben.
0:35:46.910,0:35:51.300
Das EzPiC-Projekt ist angedacht mit Python
0:35:51.300,0:35:56.380
und wurde jetzt noch erweitert[br]mit microPython, also ein Hybrid
0:35:56.380,0:36:00.799
aus beiden Welten. Und das klappt auch[br]schon recht gut. D.h. man kann
0:36:00.799,0:36:06.920
mit dem gleichen Source-Code-Stand[br]sowohl microPython auf einer ESP32
0:36:06.920,0:36:13.229
fahren, als auch mit Normal-Python,[br]also 3.4 oder höher.
0:36:13.229,0:36:18.020
Auf dem PC oder auf dem Raspberry Pi.
0:36:18.020,0:36:23.539
Der Webserver bei dem ESPEasy-Projekt[br]ist selbergeschrieben.
0:36:23.539,0:36:28.690
Bei dem neuen Projekt wird versucht,[br]einen fertigen Webserver, den es
0:36:28.690,0:36:33.750
als lauffähiges Projekt gibt, mit[br]einzubinden. Das ist der ‘MicroWebSrv’.
0:36:33.750,0:36:37.950
Findet man auf Github.
0:36:37.950,0:36:41.670
Das neue Projekt ist noch in einer frühen[br]Phase, ich dachte, dass man vielleicht
0:36:41.670,0:36:47.350
schon für den Easter-Hegg dann schon mehr[br]zeigen kann. Aber ist noch in einer
0:36:47.350,0:36:55.490
sehr, sehr Alpha-Version. Der Grund,[br]warum auch das neue Projekt… auf dem ESP
0:36:55.490,0:36:59.400
habe ich natürlich sehr begrenzte[br]Ressourcen, was jetzt RAM betrifft,
0:36:59.400,0:37:06.440
was Flash betrifft, was Geschwindigkeit[br]betrifft, auch die Pins sind sehr limitiert.
0:37:06.440,0:37:11.619
Und wenn ich in einer anderen Umgebung[br]bin, dann kann ich mich halt
0:37:11.619,0:37:17.120
freier bewegen, und mich dann[br]entsprechend austoben.
0:37:17.120,0:37:21.940
Ohne jetzt auf die Details einzugehen,[br]da gibt es schon entsprechende
0:37:21.940,0:37:26.650
Konzepte. Es ist alles Plugin-basiert,[br]dass man dann auch sagen kann,
0:37:26.650,0:37:31.230
ich habe für andere Prozessoren auch[br]andere Module, die dann spezielle Hardware
0:37:31.230,0:37:40.849
noch unterstützen, die auf dem Prozessor[br]möglich sind. Und was ich schon zeigen kann,
0:37:40.849,0:37:49.150
ist, eine kleine Demo, das läuft jetzt auf[br]meinem PC, ich habe es jetzt
0:37:49.150,0:37:55.209
technisch nicht mehr geschafft, auf die[br]Schnelle den Banana Pi dazu zu bringen.
0:37:55.209,0:38:02.160
Ich habe hier meine Web Page, ich bin[br]jetzt quasi in dem Webserver, der quasi
0:38:02.160,0:38:05.660
in Python läuft.[br]Ich habe hier auch schon
0:38:05.660,0:38:09.670
Devices, mit entsprechend[br]einer Device-Liste, wo ich
0:38:09.670,0:38:14.589
Devices dazuhängen kann,
0:38:14.589,0:38:19.750
wo ich auch Devices editieren kann.
0:38:19.750,0:38:24.020
Man sieht, das sieht alles ähnlich aus[br]wie bei dem ESPEasy-Projekt,
0:38:24.020,0:38:30.210
nur hier da mehr Ressourcen[br]verfügbar sind, mit Bootstrap
0:38:30.210,0:38:36.540
als Oberflächen-Tool. Und
0:38:36.540,0:38:40.760
halt hier die ersten Schritte[br]‒ Plugin-System läuft.
0:38:40.760,0:38:45.130
Und da wäre es schön, wenn sich auch[br]noch Entwickler dafür finden würden,
0:38:45.130,0:38:51.420
um das ein bisschen voranzubringen,[br]um eben auch ESP32 und Raspberry Pi
0:38:51.420,0:38:58.850
noch zu unterstützen.
0:38:58.850,0:39:04.490
So, im Prinzip bin ich jetzt durch.
0:39:04.490,0:39:09.910
Wenn jetzt Fragen sind, dann bitte…
0:39:09.910,0:39:14.740
…meldet euch, Fragen zum[br]ESPEasy-Projekt, Fragen zum
0:39:14.740,0:39:21.440
EzPiC-Projekt. Ich muss nur[br]das Mikro weiterleiten.
0:39:21.440,0:39:25.410
Frage: Wie machst du das mit der[br]Konfiguration der Temperatursensoren
0:39:25.410,0:39:29.349
und so? Legst du ein Thermometer[br]daneben? Oder?
0:39:29.349,0:39:33.890
Jochen: Die Temperatursensoren, wie der[br]DHT12, oder, was auch gern verwendet wird,
0:39:33.890,0:39:38.720
der BME218 z.B., die sind ab Werk[br]kalibriert. Es kann halt sein, dass er
0:39:38.720,0:39:42.880
1..2 Grad oder so mal danebenliegt.[br]Aber eigentlich kommen die Daten schon
0:39:42.880,0:39:47.970
richtig in °C, und die Feuchtigkeit schon[br]in Prozent, d.h. da braucht man
0:39:47.970,0:39:53.240
nichts kalibrieren. Für andere Sachen,[br]die man am Analogport anschließen will,
0:39:53.240,0:39:57.760
gibt es eben da auch Min- und Max-Eingabe,
0:39:57.760,0:40:01.189
wo man dann einfach mal die Werte…
0:40:01.189,0:40:04.230
also, sprich, man hat eine obere[br]und eine untere Temperatur,
0:40:04.230,0:40:08.779
man schaut sich den AD-Wandler-Wert an,[br]schreibt sich den auf,
0:40:08.779,0:40:12.849
trägt den im Edit-Feld entsprechend ein[br]und kann dann sagen,
0:40:12.849,0:40:16.430
der obere Wert soll „das“ sein, der[br]untere Wert soll „die“ Temperatur sein
0:40:16.430,0:40:22.740
und hat das damit kalibriert.
0:40:22.740,0:40:26.719
Sonst noch Fragen?
0:40:26.719,0:40:32.010
Könnt ihr mal durchgeben, bitte?
0:40:32.010,0:40:34.730
Frage: Hast du auch schon mal versucht,[br]das ganze ohne Strom,
0:40:34.730,0:40:38.140
also mit Batterie zu realisieren?
0:40:38.140,0:40:43.720
Jochen: Der ESP braucht, wenn er[br]WLAN machen will, 100 bis 200 mA.
0:40:43.720,0:40:46.630
Und damit ist eine Batterie[br]natürlich sehr schnell leer.
0:40:46.630,0:40:52.450
Es gibt auch einen Modus, wo ich ihn[br]in Deep-Schlaf versetzen kann,
0:40:52.450,0:40:58.220
und alle paar Sekunden[br]aufwecken kann. Und…
0:40:58.220,0:41:01.890
…ich muss da jetzt mal hier wieder[br]zurück auf den…
0:41:01.890,0:41:05.269
Damit kann ich natürlich Messungen machen,[br]dass ich sage, alle Stunde wacht er
0:41:05.269,0:41:11.940
einmal auf, misst, schickt das ganze[br]an ‒ hier unten, ‘Sleep Time’ ‒
0:41:11.940,0:41:15.470
schickt das ganze an den Server[br]und legt sich wieder schlafen.
0:41:15.470,0:41:20.089
Damit kann man dann… wir haben es mal[br]ausgerechnet, wenn ich alle Stunde messe,
0:41:20.089,0:41:26.470
könnte ich mit AA-Batteriezellen ein[br]halbes/dreiviertel Jahr überbrücken.
0:41:26.470,0:41:29.619
Aber ich habe halt dann nicht[br]kontinuierlich Werte, sondern nur
0:41:29.619,0:41:32.630
im Stundenraster.
0:41:32.630,0:41:37.160
Frage: Noch eine Frage ‒ wie weit geht[br]denn das Wi-Fi? Das ist nur so eine kurze,
0:41:37.160,0:41:39.719
aufgedruckte Antenne. Das hat doch[br]nicht viel Reichweite?
0:41:39.719,0:41:44.359
Jochen: Ich sage mal, halbsoweit wie[br]ein Laptop, so mal als Faustregel.
0:41:44.359,0:41:52.769
Es gibt natürlich auch den WeMos D1 Pro,[br]das ist das Board,
0:41:52.769,0:41:54.970
das hat noch einen Stecker drauf,[br]da kann ich eine externe…
0:41:54.970,0:42:00.230
Da geht es ein bisschen weiter.[br]Aber man darf halt jetzt keine…
0:42:00.230,0:42:10.820
nicht so eine gute Qualität wie jetzt[br]eben Handy bzw. PC erwarten.
0:42:10.820,0:42:15.979
So, sonst noch Fragen?
0:42:15.979,0:42:19.500
Keine? Dann…[br]danke für die Aufmerksamkeit!
0:42:19.500,0:42:26.800
Beifall
0:42:26.800,0:42:31.210
Abspannmusik
0:42:31.210,0:42:38.305
Untertitel erstellt von c3subtitles.de[br]im Jahr 2018. Mach mit und hilf uns!