Steuerung ROOMBA - Trägerplatine für DC/DC, ESP8266-01 [HW fertig, Modul nicht]

Begonnen von irgendsowas, 29 Februar 2016, 11:39:48

Vorheriges Thema - Nächstes Thema

irgendsowas

Hallo!

habe mir vor ein paar Wochen einen Roomba 621 besorgt. Das ist ein günstiges Modell ohne Zeitplan-Funktion.
Ich wollte immer einen haben, gereizt hat mich der Automatismus dahinter.
Leider waren mir bisher ~500€ zu teuer. Der Roomba 621 ist ein "günstiges" Gerät um die ~300€.

Leider hat er keinen Zeitplan-Modus. Also doch nix mit automatisch und ohne manuellen Eingriff, Mist!

Trotzdem habe ich mir dieses Gerät gekauft, in der Hoffnung es irgendwie mit der bestehenden FHEM-Installation zu automatisieren.

ES GEHT.

1.)
mögliches Interface finden:
https://www.google.de/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwi8zdyI3pzLAhUGbRQKHTh3CiUQFggqMAA&url=https%3A%2F%2Fwww.adafruit.com%2Fdatasheets%2Fcreate_2_Open_Interface_Spec.pdf&usg=AFQjCNGmU4mTD2x2aRx7dAakO9c4NT7vDQ

2.)
Interface-Hardware erstellen:
Ohne das Gerät zu modifizieren und die Gewährleistung eventuell zu verlieren wollte ich an den SCI-Port unter der Abdeckplatte. [geschafft]
Die Abdeckplatte hätte im Idealfall wieder montierbar sein sollen. [verfehlt]
Die Höhe des Roboters sollte nicht verändert werden [geschafft]
Bilder des Entwurfs angehängt.
Fazit
eine kleine, dünne Adapterplatte mit Platz für einen DC/DC-Converter und ein ESP8266-01, sowie einer Pegelanpassung von 5V-Roomba zu 3,3V ESP8266 mittels einfachem Spannungsteiler.

3.)
Software auf Roomba-Seite:
Ich habe mich für den einfachsten und trotzdem universellem Weg entschieden, dem transparent-modus.
Der transparent-modus stellt auf dem Wlan-Modul einfach nur einen Server auf Port 23 bereit.
Alle Befehle werden 1:1 weitergereicht. von Client zu Roomba, von Roomba zu Client.
Damit lasse ich alle möglichen Nutzungen offen.
Die Firmware des ESP8266 ist ESP-Link  https://github.com/jeelabs/esp-link/
Einfache Einrichtung, einfachste Nutzung, stabile Version.

4.)
Modul für FHEM -- Hilfe benötigt
Leider habe ich keine Kenntnisse in Python, und zur Zeit keine Zeit mich damit zu beschäftigen.
Ich habe zur Zeit eine Dummy namens Roomba, der wird entweder eingeschaltet oder nicht. on=clean, off=dock
mit einem notify achte ich darauf und schicke mit system(netcat) eine bytefolge zum reinigen/stoppen an den server im modul auf dem Roomba.
dummy_roomba:.* { if ( $EVENT eq "on" ) {
`cat /opt/fhem/roombastart | netcat roomba.local 23`
} else {
`cat /opt/fhem/roombastop | nc roomba.local 23 && sleep 1 && cat /opt/fhem/roombastop | nc roomba.local 23`
}}


Jetzt zu meinem Anliegen:
Kann jemand ein FHEM-Modul für Roombas schreiben?
das wäre großartig!


PS: ich habe sogar noch ein paar von diesen Adapterplatinen, die ich nicht mehr brauche,
und bin bereit die für 3€ inkl. Briefversand abzugeben, zum Testen und basteln. (kein ESP, kein Vreg, nicht gelötet)
Wer noch ESPs brauchen sollte, auch kein Problem.
Wer eine komplett fertige Schaltung haben möchte, muss mit knapp 20€ rechnen, der DC/DC-Converter ist ziemlich teuer!


PPS: wenn ich wieder zurück bin, mach ich noch ein paar Bilder

EDIT 16:59:
Bilder angehängt

EDIT 15.03:
Bilder hinzugefügt

EDIT 07.06:
Ich habe das Modul seit jetzt etwa drei Monaten im Dauereinsatz.
Keine Verbindungsabrüche, keine Fehler, funktioniert ohne Probleme.

EDIT 26.06.17:
V0.3:Der Transistor zur Ansteuerung des BAUD-PINs war ohne Vorwiderstand, habe einen MOSFET eingeplant (IRLML-2502) - untested!
        Habe einen Schaltplan in PDF hochgeladen



irgendsowas

 ???

Tja, da hab ich doch glatt überlesen, das dieses Modul auch lokal laufen kann und nicht nur die API von Thinkingcleaner unterstützt, die ja Daten einmal um den Planeten verschickt

OK, dann werde ich das gleich mal ausprobieren.

DANKE

EDIT 11:56 :
Habe mir das Modul angeschaut, glaube nicht, dass es funktionieren wird, wie ich oben schon geschrieben habe benutze ich keine Ebene zwischen Roomba un Client, ich habe eine transparente Brücke von roomba zu Wlan. Man müsste also die Low-Level-Befehle nutzen.
In einer TCP Verbindung.

ma

 :)

Hi,
ich habe mir gerade letzte Woche ein ähnliches Modul zusammengebaut und stelle nun fest, dass ich nicht alleine in der FHEM-Roomba-Welt mit dieser Idee bin.  ;)
Den Transistor habe ich mir noch gespart, da mein Roomba 870 damit keine Probleme bereitet. Dafür habe ich mir einen fertigen Stecker bei Reichelt geleistet anstatt eine Platine zu erstellen. (Der Spannungsteiler am Eingang des ESP ist aber wichtig!) Damit hat man eine Steuerungslösung für unter 10 Euro.

Ich werde noch etwas experimentieren, und erst einmal eine Quick&Dirty-Lösung ausprobieren, bevor ich ein Modul schreiben kann. Dazu werde ich nämlich meine etwas angestaubten Perl-Kenntnisse herauskramen müssen...

Gruß,
Matthias

irgendsowas

Zitat von: ma am 10 März 2016, 11:41:20
:)

Hi,
ich habe mir gerade letzte Woche ein ähnliches Modul zusammengebaut und stelle nun fest, dass ich nicht alleine in der FHEM-Roomba-Welt mit dieser Idee bin.  ;)
Den Transistor habe ich mir noch gespart, da mein Roomba 870 damit keine Probleme bereitet. Dafür habe ich mir einen fertigen Stecker bei Reichelt geleistet anstatt eine Platine zu erstellen. (Der Spannungsteiler am Eingang des ESP ist aber wichtig!) Damit hat man eine Steuerungslösung für unter 10 Euro.

Ich werde noch etwas experimentieren, und erst einmal eine Quick&Dirty-Lösung ausprobieren, bevor ich ein Modul schreiben kann. Dazu werde ich nämlich meine etwas angestaubten Perl-Kenntnisse herauskramen müssen...

Gruß,
Matthias

Hallo ma,
den Transistor habe ich auch weggelassen, der ist optional. Den braucht man nur (soweit ich das verstanden habe) zum aufwecken des Roombas aus dem OFF-Modus oder zur BAUD-Raten-Änderung.

Ich hänge dir meine Notizen meiner Quick&Dirty-Lösung an, vielleicht hilft dir das.

start operating interface d128 h80
stop operating interface d173 hAD


clean d135 h87
spot d134 h86
seek dock d143 h8F


command start cleaning \x80\x87\xAD
command go to dock \x80\x8F\xAD <pause 1s> \x80\x8F\xAD

complete bash command clean: echo -e -n "\x80\x87\xAD" | nc 192.168.1.27 23
complete bash command go to dock: echo -e -n "\x80\x8F\xAD" | nc 192.168.1.27 23 && sleep 1 && echo -e -n "\x80\x8F\xAD" | nc 192.168.1.27 23

bash echo doesn't seems to be sh echo,

prepare start file: echo -e -n "\x80\x87\xAD" > /roombastart
prepare stop file: echo -e -n "\x80\x8F\xAD" > /roombastop

--------------------------------------------------------------------------------------------   can be called from system()   ---------------------------------------------------------
complete bash command clean: cat /roombastart | nc 192.168.1.27 23
complete bash command go to dock: cat roombastop | nc 192.168.1.27 23 && sleep 1 && cat /roombastop | nc 192.168.1.27 23


Ich hoffe, das hilft dir weiter

cotecmania

Hi,

habe mir soeben einen Roomba 615 bestellt und hätte Interesse an einer fertigen Platine.
Softwaretechnisch bekommen wir das bestimmt auf die Reihe, wenn ich das Ding mal am Laufen habe.

Schreibst mir 'ne PM wegen der fertigen Platine ?

Gruss
Joe
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

cotecmania

Hallo,

weiss jemand, wie man den Roomba aus dem StandyBy aufwecken kann ohne die Taste zu drücken  ?
Am Stecker gibts nur den Baudrate-Pin und mit dem seriellen Befehl 128 wacht er nicht auf ...

Gruss
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

RaspiLED

Hi,
Tolle Idee! Kann mal jemand die Softwarelösung hier posten? Die Cat Inhalte sind ja nun auch noch spannend. Zusätzliche Frage: Wo gibt es die Command Reference des Roomba?

Danke und Gruß
Arnd


FHEM auf Raspberry Pi 2, CUL, Signalduino, Intertechno, WifiLight mit H801 - ESP8266, ...
Raspberry Pi mit FHEM, CUL, Signalduino, MySensors, HomeBridge, Presence, WifiLight2, Bravia, ...

irgendsowas

Zitat von: cotecmania am 12 Juni 2016, 13:17:58
Hallo,

weiss jemand, wie man den Roomba aus dem StandyBy aufwecken kann ohne die Taste zu drücken  ?
Am Stecker gibts nur den Baudrate-Pin und mit dem seriellen Befehl 128 wacht er nicht auf ...

Gruss

Hallo cotecmania,
Generell gibt es beim roomba zwei "Standby Modi" für uns, die das "Open Interface" nutzen.
1: Roomba an/aus
2: Open Interface an/aus (vereinfacht)

das Open Inferface, also die Steuerschnittstelle selbst, schaltet man mit 128dez ein, mit 173dez aus.
Wie du aber richtig angemerkt hast, kann man den roomba damit nicht aus dem Standby aufwecken.
Das geht mit einem Druck auf die Clean-Taste.
Ich kann mich erinnern, dass die "alten" roombas auch aus dem Standby aufgewacht sind, wenn man den Baud-Pin low gezogen hat.
Also habe ich auf meine Platine einen Platz für soetwas vorgesehen.
Ich habe es auch probiert, bei meinem geht es.
Puls Baud low = aus Standby aufwecken.

Ich hoffe das hat dir geholfen.

Grüße, Marc





Zitat von: RaspiLED am 12 Juni 2016, 13:34:05
Hi,
Tolle Idee! Kann mal jemand die Softwarelösung hier posten? Die Cat Inhalte sind ja nun auch noch spannend. Zusätzliche Frage: Wo gibt es die Command Reference des Roomba?

Danke und Gruß
Arnd


FHEM auf Raspberry Pi 2, CUL, Signalduino, Intertechno, WifiLight mit H801 - ESP8266, ...

Die Command-Reference findest du in meinem ersten Post, ist der Google-Link.

Den Inhalt der Datei, die per netcat an den roomba geschickt wird habe ich in Antwort #4 vermerkt.

Grüße, Marc

cotecmania

Hallo,

tatsächlich genügt ein kurzes Low am Baudratenpin um den Roomba aus dem Standby aufzuwecken. Habe ich so in der Doku nicht gefunden ...

Aktuell läuft mein Roomba mit einem Wemos D1 mini bzw. NodeMCU 1.0 mit eigenem Sketch (Arduino C++) und China-Pegelwandler ...

Gruss
Joe

FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI


gloob

Zitat von: cotecmania am 13 Juni 2016, 19:06:16
Hallo,

tatsächlich genügt ein kurzes Low am Baudratenpin um den Roomba aus dem Standby aufzuwecken. Habe ich so in der Doku nicht gefunden ...

Aktuell läuft mein Roomba mit einem Wemos D1 mini bzw. NodeMCU 1.0 mit eigenem Sketch (Arduino C++) und China-Pegelwandler ...

Gruss
Joe

Hallo,

Könntest du einen kleinen Schaltplan bereitstellen, wie du den Wemos mit dem Roomba verbunden hast und wie du das ganze in FHEM integriert hast? Ich würde mir gerne auch so etwas nachbauen.

Gruß
Stefan
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

irgendsowas

Zitat von: gloob am 22 November 2016, 07:45:15
Hallo,

Könntest du einen kleinen Schaltplan bereitstellen, wie du den Wemos mit dem Roomba verbunden hast und wie du das ganze in FHEM integriert hast? Ich würde mir gerne auch so etwas nachbauen.

Gruß
Stefan

Hallo Stefan,
Post #1 hat Schaltplan, Layout und Erklärung,
Integration in FHEM findest du in Antwort #4. (Zur Zeit nicht mit einem FHEM-Modul gelöst, sondern nur send&forget)

Grüße

gloob

Vielen Dank noch einmal für das Feedback. Jetzt sehe ich auch, wie der "Wakeup" Pin verdrahtet ist.
Mal schauen ob ich mir auch noch so etwas baue. Vielleicht sogar mit MQTT auf dem ESP.

Hättest du noch eine Platine übrig?
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

irgendsowas

Zitat von: gloob am 22 November 2016, 15:14:54
Vielen Dank noch einmal für das Feedback. Jetzt sehe ich auch, wie der "Wakeup" Pin verdrahtet ist.
Mal schauen ob ich mir auch noch so etwas baue. Vielleicht sogar mit MQTT auf dem ESP.

Hättest du noch eine Platine übrig?

Hallo Stefan,
ich schicke dir eine PN

thorschtn

Hallo ma, cotecmania, irgendsowas,

habt ihr zwischenzeitlich noch was in Richtung Modulumsetzung weitergedacht oder arbeitet ihr weiterhin ausschliesslich mit Systemaufrufen?

Viele Grüße

thorschtn
NUC - FHEM & HA
MapleCUN, Homematic, 433MHz, AB440, 1-Wire Bewässerung & Pool, Jarolift (Signalduino), Signal Messenger, Denon AVR, LG WebOS, AmazonEcho, Jura S90 (ESP8266), Sonoff, Xiaomi Mii Sauger, Worx SO500i

irgendsowas

Zitat von: thorschtn am 01 Dezember 2016, 12:00:04
Hallo ma, cotecmania, irgendsowas,

habt ihr zwischenzeitlich noch was in Richtung Modulumsetzung weitergedacht oder arbeitet ihr weiterhin ausschliesslich mit Systemaufrufen?

Viele Grüße

thorschtn

Hallo,
leider bin ich kein guter Programmierer, scripten geht mir leichter von der Hand.

Man könnte jetzt mit 2 Ansätzen starten:
1: Man schreibt ein komplett neues Modul für einen roomba (low-level-Ansteuerung) und tunnelt die Daten durch unser Hardware-Modul. (Original-Gedanke von mir)
2: Man schreibt ein Gateway à la ThinkingCleaner oder Roowifi in das HardwareModul (wie es cotecmania vorhatte) und nutzt das schon vorhandene THINKINGCLEANER-fhem-modul (http://forum.fhem.de/index.php/topic,40305.msg325312.html)

Mir ist vor kurzem erst aufgefallen, das man ja mit der Arduino IDE den ESP8266 programmieren kann. Ein Projekt habe ich damit gemacht, und ich muss sagen, dass es ganz gut funktioniert. Man kann sogar OTA (per wifi) flashen, wenn der flash-speicher reicht. Sehr interessant.

@cotecmania: Hast du etwas mit einem eigenen Sketch erreichen können? Siehst du eine Möglichkeit eine API nach roowifi oder Thinkingcleaner zu erstellen?

thorschtn

Ich hatte überlegt, in dem thinkingcleaner Modul einfach die JSON- durch low-level-Systemaufrufe zu ersetzen...
Schön ist anders, aber das wäre vermutlich die schnellste Lösung...
Aber eigentlich reicht mir "Start", "Behälter voll" und "Dock", die Zeit- oder Anwesenheit abhängige Steuerung übernimmt dann FHEM...
NUC - FHEM & HA
MapleCUN, Homematic, 433MHz, AB440, 1-Wire Bewässerung & Pool, Jarolift (Signalduino), Signal Messenger, Denon AVR, LG WebOS, AmazonEcho, Jura S90 (ESP8266), Sonoff, Xiaomi Mii Sauger, Worx SO500i

gloob

Ich werde mich bald mal dran setzen und eine Arduino Software mit MQTT schreiben. Dann hat man eigentlich alles was man braucht und benötigt nicht ein extra Modul
Raspberry Pi 3 | miniCUL 433MHz | nanoCUL 868 MHz | nanoCUL 433 MHz | MySensors WLAN Gateway | LaCrosse WLAN Gateway | SignalESP 433 MHz | SignalESP 868 MHz | HM-MOD-UART WLAN Gateway | IR - 360 Grad WLAN Gateway

cotecmania

Hi,

habe mir zwischenzeitlich eine eigene Platine erstellt mit einem Wemos D1 mini ESP8266 und einem eigenen ESP-Sketch.
Der sendet aktiv an ein Dummy in FHEM (ohne MQTT ;)) und liefert zyklisch Stati und Messwerte ab.
OTA-Update ist auch schon drin und ein paar nette WebPages, mit denen man den Roomba steuern und parametrieren kann.

Was noch fehlt ist ein Modul, welches die HTML-Befehle an den Roomba absenden kann, aber das haelt sich in Grenzen ...

Sobald ich mehr Zeit habe gehts weiter ...

Gruss
FHEM auf RaspberryPI B (buster)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, FireTAB10 FTUI

timo74

Hallo zusammen,

ich habe das eben mal Quick'n'Dirty zusammengeschossen und einen ESP-12e mit der ESP-Link Firmware an meinen Roomba 780 gehangen. Funktioniert super! Vielen Dank für diese Idee. Ein RooWifi
Wird der ESP bei Euch auch so warm? Gut, potentiell liegt das auch an dem fehlenden Spannungsteiler an der RX-Leitung, aber im Gegensatz zu den anderen ESP-Projekten wird der wirklich schon recht warm.

Wie habt Ihr das mit dem kurzen Low des PIN 5 zum Aufwecken des Roombas gelöst? Die ESP-Link Firmware bietet ja schon ein paar Optionen für ein Reset- oder Flash-Signal, welches man sicherlich nutzen könnte. Aber das ist ja normalerweise für einen nachgeschalteten µC gedacht und ich komme einfach nicht darauf, wie ich im ESP-Link einen Pin für eine definierte Zeit kurz auf Low ziehe.

Hat das noch jemand mit einem Roomba 780 im Einsatz? Wie habt Ihr das mit dem Stecker gelöst? Der Service-Port ist dort ja unter dem Tragegriff und jeder Millimeter Platine oder ESP sorgt dann dafür, dass der Griff potentiell einfach zu hoch steht.

Viele Grüße
Timo

irgendsowas

Zitat von: timo74 am 26 Dezember 2016, 19:47:47
Hallo zusammen,

ich habe das eben mal Quick'n'Dirty zusammengeschossen und einen ESP-12e mit der ESP-Link Firmware an meinen Roomba 780 gehangen. Funktioniert super! Vielen Dank für diese Idee. Ein RooWifi
Wird der ESP bei Euch auch so warm? Gut, potentiell liegt das auch an dem fehlenden Spannungsteiler an der RX-Leitung, aber im Gegensatz zu den anderen ESP-Projekten wird der wirklich schon recht warm.

Wie habt Ihr das mit dem kurzen Low des PIN 5 zum Aufwecken des Roombas gelöst? Die ESP-Link Firmware bietet ja schon ein paar Optionen für ein Reset- oder Flash-Signal, welches man sicherlich nutzen könnte. Aber das ist ja normalerweise für einen nachgeschalteten µC gedacht und ich komme einfach nicht darauf, wie ich im ESP-Link einen Pin für eine definierte Zeit kurz auf Low ziehe.

Hat das noch jemand mit einem Roomba 780 im Einsatz? Wie habt Ihr das mit dem Stecker gelöst? Der Service-Port ist dort ja unter dem Tragegriff und jeder Millimeter Platine oder ESP sorgt dann dafür, dass der Griff potentiell einfach zu hoch steht.

Viele Grüße
Timo

Hallo Timo,
schön, dass es für dich funktioniert.

Das Aufwecken des roombas durch einen Puls am BAUD-Pin hat (soweit ich weiß) noch niemand in Betrieb. Solange der roomba in der Station steht, ist das Aufwecken ja nicht nötig.

Der ESP-01, den ich im Einsatz habe wird auch handwarm, etwa 40°C, mit dem ESP-12 habe ich keine Erfahrungen.
Wenn der roomba in der Station steht, dann wird sekündlich eine Zeile Text übertragen, was eventuell eine Erwärmung durch einen fehlenden Spannungsteiler erklären könnte. Einfach mal mit ausgeschaltetem roomba probieren!

Mit einem 780 habe ich leider keine Erfahrung.

Frohe Weihnachten !
Marc

f-zappa

Moin,
ich brate mir gerade auch so ein Platinchen zusamen und möchte dieses Thema darum noch einmal aufwärmen ...
a) Ich kann den Schaltplan kaum lesen, könntest du den bitte noch mal höher aufgelöst anhängen?
b) Hat inzwischen eine weiter gehende Softwarelösung als das rudimentäre netcat?

Gruß, Uli

irgendsowas

Zitat von: f-zappa am 25 Juni 2017, 18:10:41
Moin,
ich brate mir gerade auch so ein Platinchen zusamen und möchte dieses Thema darum noch einmal aufwärmen ...
a) Ich kann den Schaltplan kaum lesen, könntest du den bitte noch mal höher aufgelöst anhängen?
b) Hat inzwischen eine weiter gehende Softwarelösung als das rudimentäre netcat?

Gruß, Uli

Hallo Uli,
ich habe in meinem ersten Beitrag die Dateien um einen Schaltplan in PDF Erweitert.
Zudem habe ich auch noch einen kleinen Fehler behoben. V0.3 hat jetzt einen MOSFET als Treiber für den BAUD-PIN.
Ich habe es selbst nie probiert, aber es sollte theoretisch funktionieren.

Der Rest ist tatsächlich seit jeher nicht geändert worden, da es für meine Zwecke klasse funktioniert und ich auch bisher keine Zeit hatte die Software zu ändern.
Firmware für das Modul ist gerne gesehen, wenn du die Muse dafür hast, würde ich mich über einen Vorschlag sehr freuen. Bisher hat leider noch niemand Zeit gefunden mir zu helfen.

DANKE für dein Interesse


Lomi

Moin,
"irgendsowas" hat mir die Tage ein schönes kleines Platinchen zukommen lassen mitsamt ESP01, mit esp-link geflasht. Funktioniert auch wunderbar, sofern der Roomba (605) wach ist...
In der SCI-Doku steht - und ihr schreibt das auch, ich soll um das Einschlafen zu verhindern, zB jede Minute Baud auf low ziehen - wie mache ich das???  :o

Oder verstehe und mache ich da was falsch? denn ihr schreibt auch, der Roomba schläft nicht, wenn er auf dem Dock ist.
Meiner steht auf dem Dock und "träumt" zwar (es kommen in der uC Console sporadische Meldungen an), aber ansprechbar per \x80\x87\xAD ist er nicht.

LG und vielen Dank für die grandiose kleine Erweiterung :-)

projectsun

Zentrale Ubuntu, Rpi B+ mit Busware 868 CUL ser2net, Rpi 2 an Aquarium mit DS18B20, und S0Counter, Rpi 3 mit nanoCUL 433 und 868 ser2net, 7x Revolt NC-5462, 1x miniCUL WLAN, 3x IT-1000, 6x ELRO AB440, KS300, EM1000-HSM, EM1000-WZ, FHT80B, 5x FHT8v2, 20x Nodemcu mit Sensoren, 6x Echo, Sonos

irgendsowas

Sehr geil!

drucke ich gerade nach...
mal sehen, wie es wird

Edit: MIst, passt nicht auf meinen Drucker.  :-\

projectsun

Hier die wunderbare Firmware des Users HoWL, die ich mit seiner Genehmigung veröffenlichen darf.

Aber es gibt eine Anmerkung (mir noch nicht passiert)
...etwas Bauchschmerzen habe ich dabei:
Nochmal der Hinweis, ohne den PIC ist es ein Glücksspiel.
Irgendwann bootet der ESP mal und dein Roomba fährt bis der Akku leer ist, reagiert auf keine Bumper.
Es ist bei mir zwar nur 2x vorgekommen in einem Jahr, aber das ist schon zuviel.
Wenn es Interessenten gibt kann ich auch Leiterplatten anfertigen lassen, die kosten nicht viel.

Hier der Link zum Nutzerprofil:
https://forum.fhem.de/index.php?action=profile;u=38225


MQTT Topics
  home/roomba/command clean|dock|stop
Ausgabe:
  home/roomba/sensors    --> C:7:2:15123:1024:36:2810:2820:99:D
  home/roomba/version    --> 17.0405.1730  Version vom 5.4.2017 um 17:30 Uhr
  home/roomba/ipinfo     --> IP des ESP8266
  home/roomba/devicename --> Devicename des ESP8266

 
REST Interface:
  http://192.168.0.104/?cmd=forward:10


  http://ip.des.room.ba/?command=clean|dock|stop (Aufruf aus der Webseite des ESP8266)
  http://ip.des.room.ba/?cmd=clean
    clean           Reinigung
    dock            Dock suchen
    stop            anhalten
    forward:1000    vorwärts 1 Sekunde
    backward:1000   rückwärts 1 Sekunde
    spinleft:1000   linksdrehen 1 Sekunde
    spinright:1000  rechtsdrehen 1 Sekunde
   
 
  http://ip.des.room.ba/?reset=1          Reset ausführen
  http://ip.des.room.ba/?getdevicename=1  --> Devicename
  http://ip.des.room.ba/?getversion=1     --> 17.0405.1730  Version vom 5.4.2017 um 17:30 Uhr
  http://ip.des.room.ba/?getuptime=1      --> 00d 01h 01m 01s  0 Tage, 1 Stunde, eine Minute, eine Sekunde seit letztem Reset
  http://ip.des.room.ba/?getsensors=1     --> C:7:2:15123:1024:36:2810:2820:99:D  Sensors Power
  Anzahl der Daten:       7
  Status:               
          0 Not Charging
          1 Charging Recovery
      --> 2 Charging
          3 Trickle Charging
          4 Waiting
          5 Charging Error
       
  Akkuspannung                 15123 mV
  Strom                         1024 mA (positiv Ladung, negativ Entladung)
  Akku Temperatur                 36 Grad C
  Ladung                        2810 mAh
  Kapazität des Akkus           2820 mAh
  Prozent Ladung                  99%


Definition meines Devices mit Alexa Mapping:
defmod Roomba555 MQTT_DEVICE
attr Roomba555 IODev myBroker
attr Roomba555 alias Teststaubsauger
attr Roomba555 autoSubscribeReadings home/roomba/
attr Roomba555 event-min-interval .*:120
attr Roomba555 event-on-change-reading .*
attr Roomba555 eventMap /clean:on/dock:off/
attr Roomba555 genericDeviceType switch
attr Roomba555 homebridgeMapping clear On=state,valueOn=/clean/,valueOff=/dock/,cmdOn=clean,cmdOff=dock
attr Roomba555 publishSet clean dock stop home/roomba/command
attr Roomba555 room Alexa,Technik
attr Roomba555 stateFormat state
attr Roomba555 subscribeReading_Status home/roomba/sensors
attr Roomba555 userReadings Zustand { (split ':',ReadingsVal("Roomba555","Status",0))[2]}, mV { (split ':',ReadingsVal("Roomba555","Status",0))[3]}, Strom { (split ':',ReadingsVal("Roomba555","Status",0))[4]}, Akkutemp { (split ':',ReadingsVal("Roomba555","Status",0))[5]}, Ladung { (split ':',ReadingsVal("Roomba555","Status",0))[6]}, Kapazitaet { (split ':',ReadingsVal("Roomba555","Status",0))[7]}, Prozent { (split ':',ReadingsVal("Roomba555","Status",0))[8]}\
Zentrale Ubuntu, Rpi B+ mit Busware 868 CUL ser2net, Rpi 2 an Aquarium mit DS18B20, und S0Counter, Rpi 3 mit nanoCUL 433 und 868 ser2net, 7x Revolt NC-5462, 1x miniCUL WLAN, 3x IT-1000, 6x ELRO AB440, KS300, EM1000-HSM, EM1000-WZ, FHT80B, 5x FHT8v2, 20x Nodemcu mit Sensoren, 6x Echo, Sonos

HoWL

Hallo,
zu den Ausführungen von projectsun sei noch gesagt, das es eine Variante mit einem PIC als Protokollfilter gibt und dieser z.b. die Bootmeldungen des ESP herausfiltert.
Damit läuft es bei mir völlig sicher auf einem 780.

Holger
openHAB 1.83, Raspberry 3B, RFM12 Sensoren, ESP8266: Schalter, Heizung, Roomba

ThomasFh

Hallo

Mal eine Frage zu diesem alten Thread:

Funktioniert die Idee von "irgendsowas" so, dass man via telnet oder netcat die ROI cmds nativ sendet und die Antworten ebenso empfängt?

Gruß Thomas
EM1010PC, EM1000WZ, WS300PC, S300TH, Fritz Dect 200, Victron MPII, Cerbo GX, US3000C

projectsun

Ja, ESPLink ist eine "Verlängerung" der seriellen Schnittstelle.
Aber schöner, toller und besser ist die Firmware von Howl. Läuft immer noch jeden Tag 1a!
Zentrale Ubuntu, Rpi B+ mit Busware 868 CUL ser2net, Rpi 2 an Aquarium mit DS18B20, und S0Counter, Rpi 3 mit nanoCUL 433 und 868 ser2net, 7x Revolt NC-5462, 1x miniCUL WLAN, 3x IT-1000, 6x ELRO AB440, KS300, EM1000-HSM, EM1000-WZ, FHT80B, 5x FHT8v2, 20x Nodemcu mit Sensoren, 6x Echo, Sonos

rob

Hallo.

Ich hätte eine Frage in die Runde. Ich liebäugle mit einem Roomba 621 oder 770, weil die Dinger gebraucht einen recht günstigen Einstieg darstellen.
Hat jmd. Erfahrung/ Info, ob eines der Dinger mit der hier im Fred gezeigten Lösung zusammenarbeitet? Wenn nein, lass ich es lieber  ;D

Vielen Dank und beste Grüße
rob

makro01

Hallo auch von mir,
da schließe ich mich der Fragerunde an.
Habe einen Roomba 581 eine NODMCU (HUZZAH) einen Spannungsteiler.
soweit alles gut . Alles miteinander verbunden und das Image draufgespielt.
WLAN OK aber Staubi macht keinen mux.
Bin nicht der Programmierer nur der Anwender bzw. copy and paste .
hat mir da jemand ein How to für den Staubi.
hab das Image von Users HoWL
hat da jemand evtl ein Arduino Sketch
oder wo liegt mein Fehler.
Bekomme keinerlei Rückmeldungen bzw. befehle Start StPO werden nicht ausgeführt.
Wo mein Staubi fast leer war (Bat.) kam wenigstens die Rückmeldung : "Laden sie den Roomba ...."
also müsste ja die Kommunikation i.O. sein

danke für eure Tipps
Markus