Autor Thema: Steuerung ROOMBA - Trägerplatine für DC/DC, ESP8266-01 [HW fertig, Modul nicht]  (Gelesen 10368 mal)

Offline thorschtn

  • Full Member
  • ***
  • Beiträge: 147
Hallo ma, cotecmania, irgendsowas,

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

Viele Grüße

thorschtn
RPi 3 - FHEM 5.9 - Smartvisu 2.9
MapleCUN, Homematic, 433MHz, AB440, 1-Wire Bewässerung & Pool, Jarolift (Bastelbudenbuben), Signal Messenger, Denon AVR, LG WebOS, AmazonEcho, Jura S90 (ESP8266), Sonoff, Xiaomi Mii Sauger, Worx SO500i

Offline irgendsowas

  • New Member
  • *
  • Beiträge: 19
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?

Offline thorschtn

  • Full Member
  • ***
  • Beiträge: 147
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...
RPi 3 - FHEM 5.9 - Smartvisu 2.9
MapleCUN, Homematic, 433MHz, AB440, 1-Wire Bewässerung & Pool, Jarolift (Bastelbudenbuben), Signal Messenger, Denon AVR, LG WebOS, AmazonEcho, Jura S90 (ESP8266), Sonoff, Xiaomi Mii Sauger, Worx SO500i

Offline gloob

  • Hero Member
  • *****
  • Beiträge: 2985
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

Offline cotecmania

  • Sr. Member
  • ****
  • Beiträge: 516
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 (jessie)
2xCUL868 für MAX/Slow_RF, HM-LAN, JeeLink
MAX!/HM-Thermostate, FS20/HM-Rolladenschalter, FS20-EM, LevelJet-Ölstandsmessung, PCA301, IT, KM271, IPCAM, ACER Iconia One mit AMAD/FTUI

Offline timo74

  • New Member
  • *
  • Beiträge: 17
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

Offline irgendsowas

  • New Member
  • *
  • Beiträge: 19
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

Offline f-zappa

  • Full Member
  • ***
  • Beiträge: 105
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

Offline irgendsowas

  • New Member
  • *
  • Beiträge: 19
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


Offline Lomi

  • New Member
  • *
  • Beiträge: 5
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 :-)

Offline projectsun

  • Jr. Member
  • **
  • Beiträge: 52
Hier mal noch der Link zu einer Faceplate, die ich gebastelt habe.
https://www.thingiverse.com/thing:3028291
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

Offline irgendsowas

  • New Member
  • *
  • Beiträge: 19
Sehr geil!

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

Edit: MIst, passt nicht auf meinen Drucker.  :-\
« Letzte Änderung: 18 September 2018, 18:33:49 von irgendsowas »

Offline projectsun

  • Jr. Member
  • **
  • Beiträge: 52
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]}\
« Letzte Änderung: 18 September 2018, 18:51:44 von 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

Offline HoWL

  • Newbie
  • Beiträge: 1
    • ESP8266 Roomba
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

Offline ThomasFh

  • New Member
  • *
  • Beiträge: 43
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

 

decade-submarginal