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

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