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!