HTTP Actor / Sensor für CBPi Projektvorstellung

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

HTTP Actor / Sensor für CBPi Projektvorstellung

#1

Beitrag von matschie » Freitag 12. Oktober 2018, 10:37

Hallo liebe Braufreunde,

ich habe mein aktuelles Projekt fast fertig gestellt und möchte es hier einmal vorstellen.
Mich interessiert vor allem, ob ihr daran Interesse habt, dann könnte ich es ausführlich dokumentieren, oder ob ihr noch Anregungen habt was zu implementieren wäre.

Zunächst einmal möchte ich mich bei JollyJumper bedanken, der mich a) auf die Idee gebracht hat und mir b) mit der Zusendung seines Arduino Sketches auch den Grundstein gelegt hat. Nun ist das Projekt allerdings "etwas" weiter ausgeufert als ich geplant hatte, aber seht selbst:

Basis (Hardware): Ein Wemos D1 Mini, DS18B20 Sensoren, und eine einfache Relaiskarte, hier mein Test-Setup (mit Bildschirm, der aber eigentlich nicht gebraucht wird)
IMG_0102.jpg
Die Idee: Ein Webserver einrichten, über den der Sensor / Actor eingerichtet werden kann, ohne den Arduino Code modifizieren zu müssen.

Das Ergebnis:

Beim ersten Start wird ein AP eingerichtet, in dem man das WiFi, sowie den CBPi Host konfigurieren kann:
Bildschirmfoto 2018-10-12 um 10.20.18.png
Bildschirmfoto 2018-10-12 um 10.20.43.png
Ist das erledigt, verbindet sich der MC mit dem WLan und startet einen Server. Mit dem Browser kommt man wie beim CBPi auf die Oberfläche, welche die eingerichteten Sensoren und deren Wert, sowie die Aktoren und deren Status darstellt:
Bildschirmfoto 2018-10-12 um 10.21.29.png
Bildschirmfoto 2018-10-12 um 10.22.06.png
Hier gibt es auch die Varianten "Edit" und "Add", mit welchen Aktoren (bis zur Anzahl der verfügbaren Pins, also maximal 5 bzw. 7 wenn man auf das Display verzichtet) oder Sensoren (Eigentlich egal wie viele, ich hab sie derzeit auf 10 beschränkt) bearbeitet und hinzufügt werden können.
Bildschirmfoto 2018-10-12 um 10.22.34.png


Der Sensor bedient das HTTPSensor Plugin von CBPi, in dem die (auf der Oberfläche dargestellte) URL /sensor1/value angewählt wird. Das Klappt auch sehr zuverlässig.

Andersherum kann das HTTPActor Plugin den Controller steuern, indem die gesetzten Werte (ebenfalls dargestellt) angewählt werden. also z.B. 192.168.178.101/actors?D0=ON
Es können auch mehrere gleichzeitig geschaltet werden, z.b. mit /actors?D0=ON&D5=ON oder mit /actors?D0=ON&D5=OFF, ich nutze das z.B. um Phase und Neutralleiter gleichzeitig zu schalten.

Die Config-Informationen werden im internen Speicher in einer json-Datei abgelegt, sodass diese nach einem Neustart nicht neu eingerichtet werden müssen. Die WLAN Infos bleiben selbstverständlich ebenfalls gespeichert, jedoch nicht in der JSON-Datei sondern im EEPROM, sodass diese nicht im klartext ausgelesen werden können.

Ich bin gespannt was ihr davon haltet!
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

irrwisch
Posting Senior
Posting Senior
Beiträge: 334
Registriert: Sonntag 21. Januar 2018, 08:33

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#2

Beitrag von irrwisch » Freitag 12. Oktober 2018, 13:08

Das ist ganz ähnlich wie das was ich grad bastel.
Wollte auch erst einen Wemos D1 Mini nehmen hab mich dann aber aufgrund eines anderen Threads hier entschieden gleich eine Sonoff TH16 Funksteckdose zu nehmen.
Da steckt auch ein ESP8266 drin den man flashen kann
http://tinkerman.cat/sonoff-th10-th16-s ... actuators/

Kostet grad mal 8,75 EUR aus China. Nicht viel mehr als ein Wemos D1 Mini und man hat ne 5V und 3.3V Versorgung, nen Relais, usw.. gleich mit drauf.

Noch dazu hat der TH16 einen Stecker rausgeführt für Sensoren (hab einen DS18B20 angeschlossen) und noch einen weiteren GPIO Port. An den hab ich ein weiteres Relais gehängt zum heizen des Kühlschrankes via Terrariumheizkabel (hab genau so ein Relais Board wie du oben).

Allerdings hab ich schon eine fix und fertige Firmware auf das Teil geflasht die secuspec in einem anderen Thread empfohlen hatte:
https://github.com/arendst/Sonoff-Tasmota
https://hobbybrauer.de/forum/viewtopic. ... ta#p295308

Die Firmware ist sehr flexibel und kann alles was man so braucht. Unterstüzt direkt diverse Sensoren, ist sehr flexibel was die Konfiguration angeht ( an welchem Port was dran hängt, Relais, LEDs, Tasten, ...). Die Tasmota Firmware unterstützt auch den Wemos D1 Mini.

Benutzeravatar
JollyJumper
Posting Freak
Posting Freak
Beiträge: 619
Registriert: Dienstag 10. November 2015, 19:01
Wohnort: 35764 Sinn

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#3

Beitrag von JollyJumper » Freitag 12. Oktober 2018, 18:13

Sehr schön, Glückwunsch.
Kannst du mir deinen fertigen Code zur Verfügung stellen?
Grüße aus Sinn,

Matthias

Benutzeravatar
JollyJumper
Posting Freak
Posting Freak
Beiträge: 619
Registriert: Dienstag 10. November 2015, 19:01
Wohnort: 35764 Sinn

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#4

Beitrag von JollyJumper » Freitag 12. Oktober 2018, 18:15

Mir fällt immo nix mehr ein, was da noch reingehört.
Es denkt schon viel ab. Hast du eine Routine für
WLAN Verlust eingefügt?
Grüße aus Sinn,

Matthias

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#5

Beitrag von matschie » Freitag 12. Oktober 2018, 20:17

ja, wlan Status wird laufend geprüft.

Ich stelle die Software gerne zur Verfügung, möchte allerdings erst abwarten ob sie stabil läuft, wenigstens ein paar Tage.
Wenn du sie dir nur aus Interesse anschauen willst, kann ich sie dir gerne vorab als pm schicken!
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
JollyJumper
Posting Freak
Posting Freak
Beiträge: 619
Registriert: Dienstag 10. November 2015, 19:01
Wohnort: 35764 Sinn

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#6

Beitrag von JollyJumper » Freitag 12. Oktober 2018, 22:09

Hat Zeit, teste erst mal schön durch.
Grüße aus Sinn,

Matthias

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#7

Beitrag von matschie » Montag 15. Oktober 2018, 19:29

Hallo Matthias,

hab den Sketch mal angehängt. Nach dem Flashen musst du auch über den "Sketch Data Uploader" die Daten aus dem "data"-Verzeichnis rüberkopieren.

Da ich ein anderes Display habe, nehme ich an, dass es mit deinem nicht klappt, sofern das nicht ein SD1306 über i2c Bus ist - musst du mal testen. Ansonsten sollte die Software aber auch ohne Display gut funktionieren, musst dann nur irgendwie die IP rausfinden :Wink

In der actors.json musst du übrigens nichts ändern, das geht von alleine während der Konfiguration.
Zuletzt geändert von matschie am Donnerstag 18. Oktober 2018, 16:37, insgesamt 1-mal geändert.
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#8

Beitrag von matschie » Montag 15. Oktober 2018, 19:31

Ach ja, hab gerade gesehen: Man kann die Sensoren noch nicht über das WebInterface konfigurieren, das müsstest du dann doch über die actors.json machen..
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#9

Beitrag von matschie » Montag 15. Oktober 2018, 22:27

Ich habe gerade noch einen kleinen aber nicht unwichtigen Fehler gefunden, der beim Ändern eines Actor-PINS auftritt. Außerdem gab es plötzlich eine Menge Compile-Errors, auch das ist behoben.

jetzt sollte es besser laufen.




Edit: Nicht aktuelle Version gelöscht.
Zuletzt geändert von matschie am Donnerstag 18. Oktober 2018, 16:37, insgesamt 1-mal geändert.
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
JollyJumper
Posting Freak
Posting Freak
Beiträge: 619
Registriert: Dienstag 10. November 2015, 19:01
Wohnort: 35764 Sinn

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#10

Beitrag von JollyJumper » Dienstag 16. Oktober 2018, 06:57

Wie gesagt lass dir Zeit.
Grüße aus Sinn,

Matthias

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#11

Beitrag von matschie » Dienstag 16. Oktober 2018, 09:13

JollyJumper hat geschrieben:
Dienstag 16. Oktober 2018, 06:57
Wie gesagt lass dir Zeit.
Ja, bei mir lief es jetzt mehrere Tage problemlos, daher hatte ich die Testphase für beendet erklärt.

Der Fehler trat erst auf, wenn man etwas ändern wollte.
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#12

Beitrag von matschie » Donnerstag 18. Oktober 2018, 16:36

Habe fertig. :Smile

Würde mich freuen, wenn es jemand testen möchte und ggf. Rückmeldung gibt.
Dateianhänge
181018_HTTPActSens.zip
(70.36 KiB) 11-mal heruntergeladen
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#13

Beitrag von matschie » Freitag 9. November 2018, 09:59

irrwisch hat geschrieben:
Freitag 12. Oktober 2018, 13:08
Das ist ganz ähnlich wie das was ich grad bastel.
Wollte auch erst einen Wemos D1 Mini nehmen hab mich dann aber aufgrund eines anderen Threads hier entschieden gleich eine Sonoff TH16 Funksteckdose zu nehmen.
Da steckt auch ein ESP8266 drin den man flashen kann
http://tinkerman.cat/sonoff-th10-th16-s ... actuators/

Kostet grad mal 8,75 EUR aus China. Nicht viel mehr als ein Wemos D1 Mini und man hat ne 5V und 3.3V Versorgung, nen Relais, usw.. gleich mit drauf.

Noch dazu hat der TH16 einen Stecker rausgeführt für Sensoren (hab einen DS18B20 angeschlossen) und noch einen weiteren GPIO Port. An den hab ich ein weiteres Relais gehängt zum heizen des Kühlschrankes via Terrariumheizkabel (hab genau so ein Relais Board wie du oben).

Allerdings hab ich schon eine fix und fertige Firmware auf das Teil geflasht die secuspec in einem anderen Thread empfohlen hatte:
https://github.com/arendst/Sonoff-Tasmota
https://hobbybrauer.de/forum/viewtopic. ... ta#p295308

Die Firmware ist sehr flexibel und kann alles was man so braucht. Unterstüzt direkt diverse Sensoren, ist sehr flexibel was die Konfiguration angeht ( an welchem Port was dran hängt, Relais, LEDs, Tasten, ...). Die Tasmota Firmware unterstützt auch den Wemos D1 Mini.
Ich habe mir das mal angesehen, das TH16 war mir dann aber zu unflexibel, bzw. möchte ich gerne meine Web-Aktoren in Zukunft etwas ausbauen. Außerdem bastel ich zu gerne selber :Bigsmile

Mir schwebt z.B. vor, dass der CBPi in Zukunft "irgendwo" steht und keine eigenen (Hardware-)Sensoren/Aktoren mehr hat, sondern alles nur mit verteilten kleinen Boxen übers WLAN macht. Z.B. meine Induktionssteuerung, welche dann nur über MQTT den Power-%-Wert bekommt. Das ganze wäre dann nämlich beliebig skalierbar. Außerdem stehen die Fermenter sowieso schon so weit auseinander, dass ich es für die eh brauche.

Was ich davon aber mitgenommen habe: Ich habe jetzt das ganze Ding auf MQTT umgestellt - ist viiel besser / stabiler.
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

MQTTActor Compressor Delay

#14

Beitrag von matschie » Freitag 9. November 2018, 10:02

Übrigens habe ich mir ein Compressor Delay Plugin für CBPi geschrieben, nach Art des HTTPActor Compressor Delays. Falls es jemanden interessiert...
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

irrwisch
Posting Senior
Posting Senior
Beiträge: 334
Registriert: Sonntag 21. Januar 2018, 08:33

Re: MQTTActor Compressor Delay

#15

Beitrag von irrwisch » Freitag 9. November 2018, 10:16

matschie hat geschrieben:
Freitag 9. November 2018, 10:02
Übrigens habe ich mir ein Compressor Delay Plugin für CBPi geschrieben, nach Art des HTTPActor Compressor Delays. Falls es jemanden interessiert...
Ja das interessiert mich sogar sehr!
Geht das Plugin zusammen mit einem MQTT Actor?

Am Wochenende will ich das erste mal meine neue Brau- und Gärsteuerung einweihen. :Wink
Welche Kontrolllogik benutzt du für deinen Kühlschrank? Die ganz normale Hysterese?

PS: Habe an meinen TH16 sogar noch ein kleines I2C OLED Display angedübelt um die aktuelle Temperatur anzuzeigen. Die beiden Pins der seriellen Schnittstelle zum flashen das Teils kann man nämlich auch noch als normale GPIOs missbrauchen :thumbsup (Debugging über seriell geht dann halt net mehr)
In Summe hat man damit am TH16 4 GPIOs frei die man nutzen kann wie man will. In meinem Fall 1wire Sensor, ein extra Relais und I2C Display (2 Pins) :thumbsup

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: MQTTActor Compressor Delay

#16

Beitrag von matschie » Freitag 9. November 2018, 11:08

irrwisch hat geschrieben:
Freitag 9. November 2018, 10:16
matschie hat geschrieben:
Freitag 9. November 2018, 10:02
Übrigens habe ich mir ein Compressor Delay Plugin für CBPi geschrieben, nach Art des HTTPActor Compressor Delays. Falls es jemanden interessiert...
Ja das interessiert mich sogar sehr!
Geht das Plugin zusammen mit einem MQTT Actor?
Ja, genau genommen gibt es einen neuen Aktortyp, statt "MQTT Actor" eben "MQTT Actor Compressor". Rest ist gleich, nur dass man den Kompressor Delay einstellen kann.

Datei ist im Anhang. Das Plugin ersetzt das normale MQTT Plugin, du musst das normale also vorher löschen!
Dateianhänge
cbpi-mqtt-master.zip
(4.09 KiB) 10-mal heruntergeladen
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

irrwisch
Posting Senior
Posting Senior
Beiträge: 334
Registriert: Sonntag 21. Januar 2018, 08:33

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#17

Beitrag von irrwisch » Freitag 9. November 2018, 11:16

Sehr cool, danke!

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Update: HTTP Actor / Sensor für CBPi Projektvorstellung

#18

Beitrag von matschie » Samstag 15. Dezember 2018, 12:48

Heute melde ich mich mal Wieder bei diesem Projekt zurück, da ich ein paar Fortschritte gemacht habe.

Erstmal: Warum mache ich das ganze?

Bei mir sind Brauort, Lagerkühlschrank etc. weit voneinander entfernt. Ich bräuchte also überall einen eigenen CBPi zum Steuern. Das möchte ich umgehen damit ich alle Infos Zentral habe. Also kommen per WLan angebundene Geräte zum Einsatz. Soweit nix neues.

Aber: Zum Brauen müsste ich den CBPi dann mit zum Brauort nehmen, dafür ausstecken, einstecken, alles wieder aktivieren. Auch das möchte ich umgehen, ebenso wie einen eigenen CBPi zum Brauen. Also hab ich mich für die Folgende Lösung entschieden:

Ein Zentraler CBPi (in meinem Fall auf einer virtuellen Maschine auf meinem NAS), der die Übersicht darstellt und alles steuert.

Für jeden Ort bzw. jedes Gerät ein "MQTT Device" welches über WLAN per MQTT mit dem CBPi kommuniziert.

Dafür habe ich jetzt zwei Dinge:
1) ein neues MQTT Plugin für CBPi, welches neben "on" und "off" auch Compressor Delay kann und Power-% überträgt
2) ein auf dem ESP8266 basierenden Arduino Sketch, welcher universell einsetzbar ist.

Einrichtung siehe oben über die von der iSpindel bekannte Oberfläche (Hier noch ein altes Bild):
Bild

Anschließend kann das Gerät über die Weboberfläche konfiguriert werden:

"Jungfräulich"
Bildschirmfoto 2018-12-15 um 12.38.01.png
Aktor einrichten
Bildschirmfoto 2018-12-15 um 12.38.25.png
Induktion einrichten
Bildschirmfoto 2018-12-15 um 12.38.35.png
Sensoren einrichten
Bildschirmfoto 2018-12-15 um 12.39.09.png
Übersicht im Betrieb
Das "ERR" steht da, weil der betreffende Sensor nicht eingesteckt ist. In dem Fall wird auch nichts per MQTT gesendet, sodass einundderselbe Sensor mit einunddemselben MQTT Topic auf verschiedenen Devices konfiguriert werden kann. Sobald er in einem davon steckt, wird er bei CBPi korrekt aktualisiert.
Bildschirmfoto 2018-12-15 um 12.39.28.png
Funktionen
  • Sensoren
    • Nach OneWire Adressen suchen
    • Wert 1x je Sekunde lesen und an den MQTT Host (CBPi) schicken
  • Aktoren
    • Beliebigen PIN aussuchen
    • Genutzte PINs werden ausgeblendet
    • Invertiert für Relais / SSR
    • Prozentuale Funktion: Bei Werten zwischen 0 und 100 % wird automatisch mit einem Duty Cycle von 1000ms "gepulst". So muss das An/Aus nicht jedes mal vom CBPi kommen
  • Induktion
    • Steuerung des GGM Kochfelds über Serielle Schnittstelle
    • Beliebige PINs aussuchen
    • Dauer des Lüfternachlaufs
Geplante Funktionen
  • Aktoren
    • "Sicherheit-Sensor": Bei einem Sensor außerhalb eines bestimmtem Wertebereichs abschalten
  • Induktion
    • Stand-Alone-Funktion
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

CraftbeerBückeburg
Posting Junior
Posting Junior
Beiträge: 32
Registriert: Sonntag 22. Oktober 2017, 13:51

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#19

Beitrag von CraftbeerBückeburg » Mittwoch 19. Dezember 2018, 20:52

Grüß dich,

ich bin gerade zu blöd deinen sketch auf meinen ESP zum laufen zu bringen.
Versucht habe ich ihn per Arduino Software auf dem ESP zu laden, was nicht ging.

Kann mir wer Hilfestellung geben?

Gruß und vielen Dank
Thomas

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 151
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#20

Beitrag von Innuendo » Mittwoch 19. Dezember 2018, 21:09

Welches Board hast Du ausgewählt?

CraftbeerBückeburg
Posting Junior
Posting Junior
Beiträge: 32
Registriert: Sonntag 22. Oktober 2017, 13:51

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#21

Beitrag von CraftbeerBückeburg » Mittwoch 19. Dezember 2018, 21:48

Moin,

Habe einen Esp8266

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

HOWTO: Erste Installation

#22

Beitrag von matschie » Donnerstag 20. Dezember 2018, 08:07

Moin! Da ich in letzter Zeit einige Anfragen bekommen habe, habe ich mal ein kleines HOWTO geschrieben.

1 Vorbereitungen
1.1 Arduino IDE vorbereiten
Zunächst muss die Arduino Entwicklungsumgebung vorbereitet werden. Dazu geht man am besten wie hier beschrieben vor. (Für Mac beschrieben, funktioniert unter Windows im Prinzip genauso, nur dass ggf. noch ein Treiber für den "USB-to-Serial"-Baustein CH340/CH341 installiert werden muss.

1.2 Boardeinstellungen
Ein Bild sagt mehr als tausend Worte:
Bildschirmfoto 2018-12-20 um 07.08.29.png
Bildschirmfoto 2018-12-20 um 07.08.29.png (256.04 KiB) 1758 mal betrachtet
1.3 ESP Sketch Data Uploader Installieren
Für die Weboberfläche müssen wir noch die HTML-Daten in den Flash-Speicher des ESP8266 übertragen. Dazu dient der "ESP Sketch Data Uploader"
Hier herunterladen: https://github.com/esp8266/arduino-esp8266fs-plugin
Dort steht auch eine Anleitung zur Installation, hier nochmal die wichtigsten Punkte:
  • Das Archiv von der GitHub-Seite herunterladen
  • Wenn es im Arduino Sketchbook Ordner (Findet man in der Arduino IDE Unter Datei > Einstellungen > Sketchbook Speicherort) noch keinen Ordner "tools" gibt, diesen erstellen.
  • Das Archiv im "tools" Ordner entpacken (Der Pfad sieht etwa so aus: <sketchbook directory>/tools/ESP8266FS/tool/esp8266fs.jar)
  • Arduino IDE neu starten
1.4 Libraries Installieren
Für dir ordnungsgemäße Funktion sind einige Libraries notwendig. Diese können wir über Werkzeuge->Bibliotheken verwalten installieren.
Folgende werden benötigt, dabei bitte auf die Versionsnummer achten. Einige funktionieren in neueren Versionen nicht mehr!
  • OneWire (by Jim Studt..) version 2.3.4
  • DallasTemperature (by Miles Burton...) version 3.8.0
  • PubSubClient (by Nick O''Leary) version 2.6.0
  • ArduinoJson (by Benoit Bianchon) version 5.13.4
  • WiFiManager (by tzapu) version 0.14.0
2 Upload

2.1 Projekt vorbereiten
Jetzt beginnt der eigentliche Upload. Zunächst aus Github die aktuelle Version des MQTT Device herunterladen und entdecken. Der Ordner heisst dann "MQTTDevice-master", das müssen wir umbenennen in "MQTTDevice".

Dann im Ordner die Datei "MQTTDevice.ino" mit der Arduino IDE öffnen. Dann öffnet sich die Datei mit mehreren Tabs wie Folgt:
Bildschirmfoto 2018-12-20 um 07.24.57.png
2.2 Einstellungen
Bildschirmfoto 2018-12-20 um 07.26.08.png
Bildschirmfoto 2018-12-20 um 07.26.08.png (424.41 KiB) 1758 mal betrachtet
  • Unter Werkzeuge > Erase Flash wählen wir "All Flash Contents" aus (Nur beim ersten mal!)
  • Unter Port wählen wir den "usbserial" aus (heisst vermutlich leicht anders)
Die anderen Einstellungen wie dargestellt auswählen. Falls der Upload gleich fehlschlägt, kann man eine geringere Geschwindigkeit (z.B. 115200) auswählen. Das dauert aber lange und daher versuche ich es immer erstmal mit 921600, spätestens beim zweiten Mal klappt es meist)

2.3 Sketch Hochladen
Jetzt kommt die Stunde der Wahrheit. Über den kleinen Pfeil oben links lassen wir den Sketch kompilieren und auf das Board laden:
Bildschirmfoto 2018-12-20 um 07.30.39.png
Das sollte dann wie Folgt aussehen (Ich habe den Konsolenbereich mal größer gezogen):
Bildschirmfoto 2018-12-20 um 07.33.26.png
2.4 Sketch Data Hochladen
Nun wählen wir unter Werkzeuge > "ESP8266 Sketch Data Upload" aus.
Bildschirmfoto 2018-12-20 um 07.33.41.png
Bildschirmfoto 2018-12-20 um 07.33.41.png (48.74 KiB) 1758 mal betrachtet
Damit werden automatisch alle Daten im Ordner "data" auf das Board hochgeladen. Das sollte dann so aussehen (Habe den Konsolenbereich erneut größer gezogen):
Bildschirmfoto 2018-12-20 um 07.35.45.png
Wenn es fehl schlägt, kontrolliert bitte ob ihr noch den Serial Monitor aufhabt. Der verhindert den Upload.

Optional: 2.5 Überprüfen
Jetzt können wir, wenn wir wollen, unter Werkzeuge > Serieller Monitor auswählen, auf 115200 Bauds einstellen. Da der ESP im Gegensatz Zum Arduino nicht neu gestartet wird bei Starten des seriellen Monitors drücken wir noch einmal kurz den Reset-Knopf am ESP.

Dann sollte da Folgendes so oder so ähnlich stehen:
Bildschirmfoto 2018-12-20 um 07.38.00.png
Das bedeutet, dass der Server bereitsteht zur Konfiguration unter 192.168.4.1

3 Konfiguration

3.1 WiFi
Wir nehmen uns ein WiFi-Fähiges Gerät (Ich nehme jetzt mal mein Handy, da mein PC kein WiFi hat) und verbinden uns mit dem neuen WLAN "MQTTDevice". Damit verbinden wir uns:
IMG_0190.png
Anschließend öffnet sich automatisch eine Seite, hier wählen wir "Configure WiFi" aus. Wenn sich die Seite nicht öffnet, geht ihr im Webbrowser auf "192.168.4.1".
IMG_0191.png
Dort wählen wir dann unser WLAN aus, geben die SSID ein und unten wo die IP steht gebt ihr die IP eures CBPi ein:
IMG_0193.png
Wenn ihr den Serial Monitor aufhabt, solltet ihr dann so etwas sehen:
Bildschirmfoto 2018-12-20 um 07.43.03.png
Rot eingekreist seht ihr die IP Adresse, die das Gerät zugewiesen bekommen hat.

3.2 Sensoren / Aktoren
Jetzt geht ihr in einem Webbrowser auf diese IP, dann seht ihr so eine Oberfläche:
Bildschirmfoto 2018-12-20 um 07.52.42.png
Unter "Sensors" findet ihr den Button "Add". Klickt ihr drauf, öffnet sich ein Fenster, in dem ihr aus den Verfügbaren OneWire Adressen auswählen könnt. Der Name ist nur der Anzeigenname in der Weboberfläche. Das mqtt_topic benötigt ihr für CBPi.

Da mein Test-ESP keine angeschlossenen Sensoren oder Aktoren hat, mache ich jetzt mit einem anderen, laufenden und bereits konfigurierten Gerät weiter.

Beispielsensor:
Bildschirmfoto 2018-12-20 um 07.55.18.png
Beispielactor:
Bildschirmfoto 2018-12-20 um 07.55.37.png
3.3 CraftBeerPi
Unter CraftBeerPi nutzen wir das Plugin "MQTTPlugin", allerdings nicht die unter "Addons" Verfügbare Version, sondern meinen Fork: Github.

Dieser hat zwei wesentliche Unterschiede: Einmal gibt es hier einen "MQTT Compressor" welcher einen Delay erlaubt. Außerdem unterstützt der normale MQTT Actor die Übertragung der Power in %. Dieses muss auch genutzt werden, da das MQTTDevice sonst nicht funktioniert, da es einen Power Wert erwartet (Auch wenn der bei 100% steht).

Wie CBPi Plugins installiert werden, sollte denke ich klar sein.

Unter CraftBeerPi legen wir dann entsprechende Sensoren und Autoren an. Hier an unseren Beispielen.
Beispielsensor:
Bildschirmfoto 2018-12-20 um 08.00.40.png
Beispielactor:
Bildschirmfoto 2018-12-20 um 08.00.46.png
Beim Actor ist wichtig, ausschließlich MQTTActor und MQTTActor_Compressor zu nutzen. Nicht EasyMQTT! Der ist nur noch drin, da ich den Fork möglichst wenig verändern wollte, der funktioniert mit dem MQTTDevice nicht.

Anschließend können wir den Status prüfen, da auf der Weboberfläche des MQTTDevice immer der aktuelle Status angezeigt wird:
Bildschirmfoto 2018-12-20 um 08.02.19.png
4 Induktionskochfeld
Die Steuerung des Induktionskochfelds bekommt einen eigenen Abschnitt, obwohl es im Prinzip auch "nur" ein Actor ist. Unter "Edit" könnt ihr die Einstellungen vornehmen:
Bildschirmfoto 2018-12-20 um 08.04.02.png
Das "Delay after off" Regelt, wie lange das Kochfeld noch nachläuft. Die Lüfter laufen ca. 1 Minute nach, ich schalte nach 2 Minuten (120000ms) das Relais ab.

Bei weiteren Fragen könnt ihr mich gerne ansprechen. Ich freue mich sehr, wenn meine Lösung auch anderen hilft!
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 151
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#23

Beitrag von Innuendo » Donnerstag 20. Dezember 2018, 21:59

Vielen Dank für das Howto,

ich bleibe am Punkt 3.2 hängen

connected with XXXX, channel 6
dhcp client start...
ip:192.168.100.31,mask:255.255.255.0,gw:192.168.100.1
*WM: Connection result:
*WM: 3
*WM: IP Address:
*WM: 192.168.100.31
pm open,type:2 0

Es öffnet sich das Web Interface nicht :Waa
Auf den AP 192.168.4.1 kann ich fehlerfrei verbinden und SSID, Pass und IP CBPi eintragen.
Ping auf die IP funktioniert. Im WLAN wird das Gerät angezeigt. Ich habe die Schritte mehrfach bis 3.2 wiederholt. Ein Fehler gab es nicht. Vom Smartphone erhalte ich irgendwann Zeitüberschreitung. Fehlt in Deinem Howto ein Port? In der web.ino habe ich keinen gefunden. Oder gibt es eine Möglichkeit den http Server über Konsole ein restart zu geben?

Innu

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#24

Beitrag von matschie » Donnerstag 20. Dezember 2018, 22:16

Das heißt, wenn du bei dem aktuellen Stand abgekommen bist und im Webbrowser auf 192.168.100.31 gehst, Passiert nix? Auch nicht im Serial Monitor?
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 151
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#25

Beitrag von Innuendo » Freitag 21. Dezember 2018, 05:45

Die bleibt immer gleich auch nach einem Reset so wie oben gepostet.
connected with XXXX, channel 6
dhcp client start...
ip:192.168.100.31,mask:255.255.255.0,gw:192.168.100.1
*WM: Connection result:
*WM: 3
*WM: IP Address:
*WM: 192.168.100.31
pm open,type:2 0
Im Webbrowser erhalte ich keine Antwort vom http server. Ein Portscan auf 192.168.100.31 zeigt mir keinen offenen 80

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#26

Beitrag von matschie » Freitag 21. Dezember 2018, 08:27

Hmm.. das klingt danach, dass er den SPIFFS nicht öffnen kann. :Grübel

Um das zu prüfen könntest du mal in Tab 6_WEB an Folgender Stelle (Zeile 7):

Code: Alles auswählen

  if(loadFromSpiffs(server.uri())) { return; }
 
Folgendes ändern / Einfügen:

Code: Alles auswählen

  if(loadFromSpiffs(server.uri())) { Serial.println("could not load from spiffs"); return; }
Wobei dann weiter vorn, direkt beim Start, schon eine Fehlermeldung "SPIFFS Mount failed" ausgegeben werden sollte.
In dem Fall prüf mal bitte deine Upload-Einstellungen (Flash Size) und ob der Sketch Data Upload problemlos läuft.

Ansonsten poste mal bitte den kompletten Text des Serial Monitors (natürlich ohne SSIDs).

VG
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 151
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#27

Beitrag von Innuendo » Freitag 21. Dezember 2018, 10:13

Ich habe die Zeile angepasst, kompiliert und übertragen. Hier die Ausgabe Konsole ab Reset 2.5:
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
opened config file
Number of Sensors loaded: 0
*WM: Adding parameter
*WM: host
*WM:
*WM: AutoConnect
*WM: Connecting as wifi client...
*WM: Using last saved values, should be faster
state:state: 3 -> 5 (10)
add 0
aid 1
cnt
3 -> 0 (0)
rm 0
scandone
state: 0 -> 2 (b0)
state: 2 -> 3 (0)
state: 3 -> 5 (10)
add 0
aid 1
cnt
connected with xyz, channel 11
dhcp client start...
ip:172.22.100.8,mask:255.255.0.0,gw:172.22.254.254
*WM: Connection result:
*WM: 3
*WM: IP Address:
*WM: 172.22.100.8
pm open,type:2 0
Bitte nicht über die Änderung IP und Subnet wundern. Hab das Modul mit ins Büro genommen :Angel

Hier die Ausgabe IDE:
Der Sketch verwendet 356248 Bytes (34%) des Programmspeicherplatzes. Das Maximum sind 1044464 Bytes.
Globale Variablen verwenden 35168 Bytes (42%) des dynamischen Speichers, 46752 Bytes für lokale Variablen verbleiben. Das Maximum sind 81920 Bytes.
Uploading 360400 bytes from C:\Users\PN010~1.TEA\AppData\Local\Temp\arduino_build_975462/MQTTDevice.ino.bin to flash at 0x00000000
................................................................................ [ 22% ]
...
................................ [ 100% ]
[SPIFFS] data : \\team.intern\public\Users\PN010\Documents\Arduino\MQTTDevice\data
[SPIFFS] size : 3052
[SPIFFS] page : 256
[SPIFFS] block : 8192
/bootstrap.dark.css
/index.html
/styleguide.html
/theme.css
/theme.scss
skipping .DS_Store
[SPIFFS] upload : C:\Users\PN010~1.TEA\AppData\Local\Temp\arduino_build_975462/MQTTDevice.spiffs.bin
[SPIFFS] address: 0x100000
[SPIFFS] reset : nodemcu
[SPIFFS] port : COM5
[SPIFFS] speed : 921600
Uploading 3125248 bytes from C:\Users\PN010~1.TEA\AppData\Local\Temp\arduino_build_975462/MQTTDevice.spiffs.bin to flash at 0x00100000
................................................................................ [ 2% ]
...
............ [ 100% ]
Es erscheint SPIFFS Image Uploaded. Keine Fehlermeldung.
Ich habe das Modul von AZDelivery D1 Mini NodeMCU PDF. Danach müsste der Speicher 4M (3M SPIFFS) sein. Habe es mit 4M (1M SPIFFS) mal getestet: gleiches Ergebnis. Die Einstellungen unter Werkzeuge sind identisch mit dem im howto
Innu

Edit:
libs zum xten Mal überprüft: so wie oben von Dir angegeben. Boardverwalter esp 8266 Version 2.4.2 installiert
MQTT1.jpg
MQTT1.jpg (15.2 KiB) 1635 mal betrachtet

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#28

Beitrag von matschie » Freitag 21. Dezember 2018, 11:03

Hmm, das sieht alles richtig aus.

Das Board ist auch das gleiche, das ich nutze, Einstellungen sehen gut aus. :Waa :Grübel

Ich habe gerade nochmal ein frisches Board geflasht, Ausgaben sind gut, Größen sind auch gleich. Bei mir funktioniert alles.

:achtung Idee:

Hast du einen aktiven MQTT Server? Es ist möglich, dass das Board in einer Schleife festhängt, in der es versucht mit dem MQTT Server zu verbinden. Da müsste ich dann nochmal ne "Sicherungsleine" einbauen.

Probier mal in der 1_LOOP, Zeilen 6 und 7 auszukommentieren.

Code: Alles auswählen

  
//  if (!client.connected()) { mqttreconnect(); }
//  client.loop();

Und schau, ob du dann auf die Oberfläche kommst.
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 151
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#29

Beitrag von Innuendo » Freitag 21. Dezember 2018, 11:10

Yeah!
Ich bekomme index.html angezeigt

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 151
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#30

Beitrag von Innuendo » Freitag 21. Dezember 2018, 11:14

Die Ausgaben im seriellen Monitor sind übrigens identisch. Einen MQTT Server habe ich nicht.
Vielen Dank für Deine tolle und super schnelle Unterstützung! Soll ich jetzt erst einmal warten und dein gihub beobachten oder kann ich später daheim ohne client.loop mein Test mit dem Induktionsfeld fortführen?
Innu

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#31

Beitrag von matschie » Freitag 21. Dezember 2018, 11:59

Das Induktionskochfeld wird so (ohne MQTT) nicht funktionieren.

Du solltest, wenn du zu Hause bist, zuerst auf dem CBPi den MQTT Server und das entsprechende Plugin installieren (https://github.com/matschie1/cbpi-mqttCompressor). Auf der Seite findest du auch die Anleitungen. Alles ab "MQTT Test Client" kannst du getrost vergessen.

Als Tip: Bei mir funktioniert

Code: Alles auswählen

pip install paho-mqtt
nur als root, also

Code: Alles auswählen

sudo pip install paho-mqtt
Er gibt zwar keinen Fehler aus, installiert das aber dann auch nicht richtig.

Mit dem Plugin in CBPi und aktivem Mosquitto dürfte das dann mit der IP des CBPi als MQTT Server erstmal normal funktionieren, du kannst die beiden Zeilen also wieder mit reinnehmen.

Ich werde wohl erst im nächsten Jahr dazu kommen, den Code zu überarbeiten und die "Sicherungsleine" einzubauen. Im Normalfall dürfte der MQTT Server ja auch erreichbar sein, so dass er gar nicht erst in der Schleife festhängt.
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 151
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#32

Beitrag von Innuendo » Freitag 21. Dezember 2018, 14:32

Prima & Danke für die Tipps!
matschie hat geschrieben:
Freitag 21. Dezember 2018, 11:59
Ich werde wohl erst im nächsten Jahr dazu kommen, den Code zu überarbeiten und die "Sicherungsleine" einzubauen.
Ups, so war das gar nicht gemeint! Ich wollte nicht drängeln.
Ich werde gleich den MQTT Server einrichten. Wenn die Verbindung zum CBPi steht muss ich noch den Level Converter fertig machen.
Es ist bislang nur eine Testumgebung, ich kann also gerne testen und Nudeln kochen/warm halten. Der neue Braukessel liegt laut tracking in einem DPD Fahrzeug, aber der DPD Fahrer scheint sich verfahren zu haben.

Frage: mit Compressor bezeichnest Du den Lüfternachlauf im Plugin oder ist damit PWM durch das Plugin gemeint?

CraftbeerBückeburg
Posting Junior
Posting Junior
Beiträge: 32
Registriert: Sonntag 22. Oktober 2017, 13:51

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#33

Beitrag von CraftbeerBückeburg » Freitag 21. Dezember 2018, 15:42

Grüß euch,

zu erst vielen Dank für das klasse HowTo.

Leider scheitere ich beim hochladen des Sketches.
hab mal zwei Screenshost der Fehlermeldung gemacht.

Hat wer eine Ahnung woran es liegt? Ich habe den NodeMCU Lua Amica V2 ESP8266 12E von AZ Delivery. Andere Sketche laufen, wobei auch dort am Ende die Fehlermeldung mit der ungültugen Bibliothek kommt.

Vielen Dank schon mal

Gruß
Thomas
Dateianhänge
mqtt.JPG
mqtt2.JPG

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 151
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#34

Beitrag von Innuendo » Freitag 21. Dezember 2018, 15:51

min nicht deklariert deutet auf fehlende/falsche libs oder fehlendes jar im tools hin. Schau mal oben in Post #27 in das PDF von AZ-Delivery. Hast Du in den Voreinstellungen die URL eingetragen und im Boardverwalter die esp geladen?

CraftbeerBückeburg
Posting Junior
Posting Junior
Beiträge: 32
Registriert: Sonntag 22. Oktober 2017, 13:51

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#35

Beitrag von CraftbeerBückeburg » Freitag 21. Dezember 2018, 17:36

Danke für deine schnelle Antwort.
Ich habe gerade noch jede Menge libs runtergeladen. Werde den Boardverwalter mal updaten.
habe Probleme den sketch uploader zu installieren. Habe das in den Arduino/library Ordner abgelegt und entpackt aber es kommt immer die oben angehängte Fehlermeldung....

Eigentlich scheint es mir nicht so schwer zu sein, zum laufen bekomme ich es dennoch nicht 🤔😩

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 151
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#36

Beitrag von Innuendo » Freitag 21. Dezember 2018, 18:44

Code: Alles auswählen

sudo pip install paho-mqtt
Kurzes Feedback: WebIf war sofort verfügbar :thumbup

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 151
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#37

Beitrag von Innuendo » Freitag 21. Dezember 2018, 18:48

CraftbeerBückeburg hat geschrieben:
Freitag 21. Dezember 2018, 17:36
Habe das in den Arduino/library Ordner abgelegt
Meinst Du das ESP8266FS-0.3.0.zip?
das gehört in deinem Sketchpfad unter tools (bei mir Win10 unter <userpfad>\Documents\Arduino\tools\ESP8266FS\tool)

CraftbeerBückeburg
Posting Junior
Posting Junior
Beiträge: 32
Registriert: Sonntag 22. Oktober 2017, 13:51

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#38

Beitrag von CraftbeerBückeburg » Freitag 21. Dezember 2018, 20:01

Da habe ich auch nur ne library aber keinen tool Ordner 🤔

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 151
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#39

Beitrag von Innuendo » Freitag 21. Dezember 2018, 22:36

Der Actor schaltet noch nicht ...
MQTT3.jpg
MQTT4.jpg
PIN D0 ist unbelegt?!? Meine Vermutung Kochfeld weiß ist nicht auswählbar. :Grübel
Wenn ich am Device reset mache, höre ich vom Induktionsfeld das Relais. Was mich auch irritiert: muss das Device über USB mit Strom versorgt werden? Ohne USB ist keine Funktion und kein WebIf verfügbar. Ich hätte vermutet, das Device bekommt vom Kochfeld über rot 5V/schwarz Gnd
An LV/Gnd liegen nicht 3V sondern 4.8V an.

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 151
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#40

Beitrag von Innuendo » Samstag 22. Dezember 2018, 07:41

Die Steuerung des Induktionskochfelds bekommt einen eigenen Abschnitt, obwohl es im Prinzip auch "nur" ein Actor ist
Das habe ich überlesen/mistverstanden und am falschen Actor rumgeschaltet :redhead
Induktionsfled schaltet, Lüfter laufen nach - soweit perfekt! (USB angeschlossen)

@matschie: Welche Logic verwendest Du um die aktuelle Powerstufe (P0-P5) anzuzeigen?

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#41

Beitrag von matschie » Samstag 22. Dezember 2018, 11:21

Hallo,

ich hoffe, ich erwische alle Fragen.
Innuendo hat geschrieben:
Freitag 21. Dezember 2018, 14:32
Frage: mit Compressor bezeichnest Du den Lüfternachlauf im Plugin oder ist damit PWM durch das Plugin gemeint?
Nein. Im CBPi kannst du beim Actor einrichten zwischen "MQTTActor" und "MQTTActor_Compressor" wählen.
Der MQTTActor_Compressor ist für die Verwendung mit Kompressorkühlgeräten, wie bspw Kühlschränken, gedacht, da ein Kompressor nach dem Abschalten eine Weile (Default 10 Minuten) aus bleiben muss, da er sonst Schaden nehmen kann.
Für die Verwendung mit Heizstäben, Induktionskochfeld, Pumpe o.ä. solltest du den normalen "MQTTActor" wählen.

Ich hätte vermutet, das Device bekommt vom Kochfeld über rot 5V/schwarz Gnd
An LV/Gnd liegen nicht 3V sondern 4.8V an.
Genau so ist es bei mir auch. Hier nochmal meine Verkabelung:

+5V (Rot) vom Kochfeld geht an den ESP an 5V, an HV und an Vcc des OneWire

GND (Schwarz) vom Kochfeld geht an ESP GND, an beide GND des Logic Converters und GND des OneWire

3.3V des ESP gehen an LV.

Funktioniert bei mir hervorragend.

@matschie: Welche Logic verwendest Du um die aktuelle Powerstufe (P0-P5) anzuzeigen?
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#42

Beitrag von matschie » Samstag 22. Dezember 2018, 11:23

CraftbeerBückeburg hat geschrieben:
Freitag 21. Dezember 2018, 20:01
Da habe ich auch nur ne library aber keinen tool Ordner 🤔
Am besten gehst du das Howto nochmal durch, insbesondere Punkte 1.3 (Sketch Data Uploader installieren) und 1.4 (Auf korrekte Versionen der Libraries achten :achtung)

Die Fehler die du postest sehen mir sehr nach falschen Library Versionen aus.
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 151
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#43

Beitrag von Innuendo » Samstag 22. Dezember 2018, 16:52

matschie hat geschrieben:
Samstag 22. Dezember 2018, 11:21
Funktioniert bei mir hervorragend.
Jo, tut es auch.
Ich habe den Aufbau nochmal von vorne begonnen. Kaum macht man es richtig, funktioniert es auch
MQTT5.jpg
MQTT5.jpg (132.01 KiB) 1426 mal betrachtet
@matschie: Welche Logic verwendest Du um die aktuelle Powerstufe (P0-P5) anzuzeigen?
Bei mir mit Hysteresis ist die Anzeige noch mit 0-100%, im WebIf auf dem Device wird P1-5 angezeigt.

Ganz großes Kino, was Du da herausgefunden und entwickelt hast!

Benutzeravatar
JollyJumper
Posting Freak
Posting Freak
Beiträge: 619
Registriert: Dienstag 10. November 2015, 19:01
Wohnort: 35764 Sinn

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#44

Beitrag von JollyJumper » Samstag 29. Dezember 2018, 19:25

Hallo Matthias,
hab es nun auch endlich zum laufen gebracht.
Morgen werde ich mal einen Sensor und einen Actor konfigurieren und testen.
TOP ARBEIT!
Gruß Matthias
Grüße aus Sinn,

Matthias

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#45

Beitrag von matschie » Samstag 29. Dezember 2018, 20:27

JollyJumper hat geschrieben:
Samstag 29. Dezember 2018, 19:25
Hallo Matthias,
hab es nun auch endlich zum laufen gebracht.
Morgen werde ich mal einen Sensor und einen Actor konfigurieren und testen.
TOP ARBEIT!
Gruß Matthias
Freut mich dass es läuft und gefällt! :Drink
Innuendo hat geschrieben:
Samstag 22. Dezember 2018, 16:52

Bei mir mit Hysteresis ist die Anzeige noch mit 0-100%, im WebIf auf dem Device wird P1-5 angezeigt.

Ganz großes Kino, was Du da herausgefunden und entwickelt hast!
Powerstufe und CBPi funktioniert derzeit noch nicht. Das hatte ich in einer Entwicklungsversion und das hat es noch nicht in die finale Version geschafft.. das wird in der nächsten Version implementiert.
Dass CBPi die Power in % ausgibt ist also normal.

Freut mich aber, dass es auch dir gefällt.

Eine Frage noch: auf GitHub entwickelt schon jemand daran mit. Ist dieser jemand auch hier im Forum vertreten?

Vg
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
Innuendo
Posting Klettermax
Posting Klettermax
Beiträge: 151
Registriert: Freitag 2. März 2018, 09:43

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#46

Beitrag von Innuendo » Sonntag 30. Dezember 2018, 09:08

Eine Frage zum Invertieren: die Funktion im Code verstehe ich, aber wann/wie wird das eingesetzt?

Code: Alles auswählen

if (ainverted == "1") 
{ 
      isInverted = true; 
      ON = HIGH;
      OFF = LOW;  
}
if (ainverted == "0") 
{ 
      isInverted = false; 
      ON = LOW;
      OFF = HIGH; 
} 
Was macht bspw. der Actor DLK an D0 (GPIO16) inverted GPIO in Deinem Beispiel?
Innu

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#47

Beitrag von matschie » Sonntag 30. Dezember 2018, 11:55

Beim Erstellen oder Ändern einer Instanz der Klasse „actor“ werden für die jeweilige Instanz die Werte „ON“ und „OFF“ auf „HIGH“ oder „LOW“ gesetzt.

Während des Betriebs wird der Actor nicht mit digitalWrite(PIN, HIGH/LOW) sondern mit den jeweils definierten Werten digitalWrite(PIN,ON/OFF) geschaltet.

Die bool Variable isInverted ist nur für Statusabfragen da.
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
JollyJumper
Posting Freak
Posting Freak
Beiträge: 619
Registriert: Dienstag 10. November 2015, 19:01
Wohnort: 35764 Sinn

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#48

Beitrag von JollyJumper » Sonntag 30. Dezember 2018, 13:25

Hi,
müssen die DS18b20 an einem bestimmten Eingang angeschlossen sein?
Grüße aus Sinn,

Matthias

Benutzeravatar
matschie
Posting Senior
Posting Senior
Beiträge: 437
Registriert: Samstag 17. März 2018, 17:26

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#49

Beitrag von matschie » Sonntag 30. Dezember 2018, 13:50

D3
GGM Induktionskochfeld via Serielle Schnittstelle über CBPi per Serielle Kommunikation oder drahtlos über MQTT angesteuert: Link
MQTT Device für CBPi: Link
Vorstellung meiner Anlage: Klick
GitHub: https://github.com/matschie1

Benutzeravatar
JollyJumper
Posting Freak
Posting Freak
Beiträge: 619
Registriert: Dienstag 10. November 2015, 19:01
Wohnort: 35764 Sinn

Re: HTTP Actor / Sensor für CBPi Projektvorstellung

#50

Beitrag von JollyJumper » Sonntag 30. Dezember 2018, 14:11

Schon gehts :thumbsup
Grüße aus Sinn,

Matthias

Antworten