Ardumower Control Center (Entwicklungsecke)

nero76

Moderator
Hallo,

wir tüfteln bereits an einer Web Oberfläche mit der wir alle jetzigen und auch zukünftigen Anwendungsmöglichkeiten ausprobieren und abdecken könnten. Unser Prototyp besteht aus einem Client-/Server-System, d.h. Client (Handy/PC/Tablet) verbindet sich mit dem Server (Raspberry PI) und beide tauschen dann Daten (Echtzeitdaten, Konfiguration, Kamerabild, Kommandos usw.) aus. Das Ardumower PCB führt weiterhin die Ansteuerung der Hardware-Komponenten durch.

Technisch umgesetzt wird das ganze derzeit mit node.js - Der so entwickelte nodes.js Server wird mit Javascript programmiert, arbeitet Ereignisgesteuert (keine Warte-Schleifen) und ist ganz stark für Echtzeitanwendungen entwickelt worden. Wer schon mal eine Javascript-Web-Anwendung programmiert hat, wird ganz schnell mit node.js zurecht kommen um z.B. eigene Anpassungen am Code durchzuführen.

Hier ein Vorgeschmack (zeigt den Prototyp einer Beispieloberfläche für ein DW1000 System): https://www.youtube.com/watch?v=JCyqrt7CBqY
Demnächst (wenn ein paar Tests abgeschlossen sind) dann mehr :)

Gruss,
Alexander
 
Hallo,

wir tüfteln bereits an einer Web Oberfläche mit der wir alle jetzigen und auch zukünftigen Anwendungsmöglichkeiten ausprobieren und abdecken könnten. Unser Prototyp besteht aus einem Client-/Server-System, d.h. Client (Handy/PC/Tablet) verbindet sich mit dem Server (Raspberry PI) und beide tauschen dann Daten (Echtzeitdaten, Konfiguration, Kamerabild, Kommandos usw.) aus. Das Ardumower PCB führt weiterhin die Ansteuerung der Hardware-Komponenten durch.

Technisch umgesetzt wird das ganze derzeit mit node.js - Der so entwickelte nodes.js Server wird mit Javascript programmiert, arbeitet Ereignisgesteuert (keine Warte-Schleifen) und ist ganz stark für Echtzeitanwendungen entwickelt worden. Wer schon mal eine Javascript-Web-Anwendung programmiert hat, wird ganz schnell mit node.js zurecht kommen um z.B. eigene Anpassungen am Code durchzuführen.

Hier ein Vorgeschmack (zeigt den Prototyp einer Beispieloberfläche für ein DW1000 System): https://www.youtube.com/watch?v=JCyqrt7CBqY
Demnächst (wenn ein paar Tests abgeschlossen sind) dann mehr :)

Gruss,
Alexander
 
Hi Alexander,

schön dass der PI seinen Platz einnimmt. Was für eine Version hast Du im Einsatz und wie hoch ist der zusätzliche Stromverbrauch durch ein zweites Prozessorboard? Habt ihr den Stromverbrauch der Elektronik ohne Motoren schon mal gemessen?

Grüße
Rajiva
 
In der aktuellen Make sind gerade einige Beispiele zu node.js und der Entwicklungsumgebung node red drin.
Sehr Interessant.
 
Ich verwende einen Raspberry PI B+. Der Verbrauch eines Raspberry PI liegt zwischen 1 Watt bis 1.5 Watt (abhängig davon wie viele Hardwarebausteine aktiv sind).

Das Tolle aber ist man kann ihn heruntertakten und so den Stromverbrauch weiter drücken (das ist doch genial oder). https://www.raspberrypi.org/forums/viewtopic.php?f=63&t=83085
Alle Elektronik-Komponenten des Ardumower PCB brauchen zwischen 3 und 5 Watt (abhängig davon wie viele Module aktiv sind).
 
Hi Alexander,


AlexanderG schrieb:
Ich verwende einen Raspberry PI B+. Der Verbrauch eines Raspberry PI liegt zwischen 1 Watt bis 1.5 Watt
danke für die Info! Ich bin ja auf den PI Zero eingestiegen, der liegt so bei 0,4W - 1W.

Das Tolle aber ist man kann ihn heruntertakten und so den Stromverbrauch weiter drücken (das ist doch genial oder).
Ja, meines Erachtens ist der PI die beste Lösung da er klein, schnell, super günstig und unglaublich gut supported ist.

Alle Elektronik-Komponenten des Ardumower PCB brauchen zwischen 3 und 5 Watt (abhängig davon wie viele Module aktiv sind).
5W ist aber schon ne Menge Zeug nur für die Elektronik. Da bin ich mal gespannt was ich da messe. Wenn ich denn endlich alles da habe und messen darf/kann. :(

Viele Grüße
Rajiva
 
Zuletzt bearbeitet von einem Moderator:
Hallo,

hat das mit dem PI Zero eigentlich geklappt?
Sollte doch für einen einfachen Web Server mit Kamera ausreichen?
 
Hallo Alexander,

vielen Dank für den Code. Sieht schon mal interessant aus.

Hast Du vielleicht auch eine Vorlage für /uploads/config.json ?

Wenn das ganze auf GitHub wäre könnte man vielleicht leichter zusammen arbeiten...

btw sorry wenn ich das Forum hier falsch benutze, bin gerade ein wenig irritiert, was mir zu dem dem Thema angezeigt wird

Gruß,
Volker
 
Hallo Volker,

die config.json legt das Programm an wenn Du dich mit einem Browser verbindest und Daten änderst. Die Default-Config ist in der server.js.

Das mit Github ist eine gute Idee - ich habe Dich zum Ardumower-Github hinzugefügt, Du müsstest nur noch die E-Mail bestätigen.

Gruss,
Alexander
 
Hi Alexander,

ups, gibts ja schon ;) . Danke für die Einladung

Ok ich schaue mir das noch mal genauer an

Danke und Gruß,
Volker
 
Hi,

die App sieht cool aus, wünschte ich hätte schon einen Ardumower fertig um sie drauf los zu lassen ;-)

Auf Github würde ich dafür ein neues Repository anlegen wollen und nicht das vorhandene zu mischen. OK ?

Wenn ja wie soll das ganze denn heissen ? ardmumowerjs ? ardumower control center ? ...?

Gruß,
Volker
 
Hallo Volker,

Neues Repository klingt sinnvoll - Such Dir einen Namen aus, unter Control Center kann sich jeder vielleicht etwas vorstellen ;-)

Gruss,
Alexander
 
Hallo,

würdest du uns auch verraten, wo auf Github man das control center finden kann? Ist es das hier?
https://github.com/vkuehn/ros-control-center
 
habe es noch ein wenig aktualisiert und unter Windows und Linux ausprobiert.
Müsste jetzt ohne Fehler starten

Zur Installation muss git und node.js vorhanden sein. Dann einfach die letzte Version von Github runterladen und "npm install" im Verzeichnis mit der package.json machen

wer viel Debug messages haben möchte muss vorher DEBUG=true oder DEBUG =* im Betriebssystm setzen.
 
Super! Hast Du es mal am Raspberry PI ausprobiert, da fühlt sich das elendig langsam an (Startzeit 10 Sek., Karte übertragen nochmal 10 Sek...) :(
 
das ganze läuft auf einem Raspberry nicht weil die usb lirbrary nur für Windows ist...

die scheint nur für die Android Verbindung gebraucht zu werden. Macht es nicht Sinn das ganze raus zu schmeissen und auf einem Mobile Device das Web frontend zu benutzen ?

Zur Not könnte man auch eine App machen, die den Ardumower im Lan findet und einfache Infos/Bedienelemente bietet....

So oder so würde ich das ControlCenter auf eine Server App mit API/Socket und Webfrontend reduzieren wollen. Wer sich dann wie darauf verbindet steht dann frei.

Habe ich was übersehen ?
 
Oben