Bluetooth und App: Unterschied zwischen den Versionen

Aus www.wiki.ardumower.de
Wechseln zu: Navigation, Suche
(Kommunikation-Protokoll)
(Kommunikation-Protokoll)
Zeile 65: Zeile 65:
 
  3. Der Benutzer klickt den Menüpunkt 'text1' an, die App sendetden entsprechenden Befehl {key1} zurück
 
  3. Der Benutzer klickt den Menüpunkt 'text1' an, die App sendetden entsprechenden Befehl {key1} zurück
  
Man kann die Kommunikation protokollieren und in einer Datei auf dem auf dem Hand/Tablet speichern (Ordner 'pfodAppRawData' or 'ArduRemote'). In ArduRemote, muss man die 'Android Menütaste' drücken und  'Enable logging' wählen.
+
Man kann die Kommunikation protokollieren und in einer Datei auf dem Handy/Tablet speichern (Ordner 'pfodAppRawData' or 'ArduRemote'). In ArduRemote, muss man noch die 'Android Menütaste' drücken und  'Enable logging' wählen.
  
 
<gallery>
 
<gallery>

Version vom 8. Juli 2015, 12:59 Uhr

Zusammenfassung

Der Ardumower kann drahtlos überwacht und gesteuert werden:

  • über Handy/Tablet (Android App)
  • über USB Bluetooth Dongle (PC serial console)

Auf den Handy/Tablet benötigst du folgende App 'pfodApp'. alternativ kannst du diese App benutzen 'ArduRemote'.

Das Handy-Menü enthält:

  • Statusinformationen (Akku-Spannungg, Ladestrom usw.)
  • Einstellungen (Timer usw.)
  • Abgleich (Motor, IMU etc.)
  • Fernsteuerung (Start/Stop, Ein/Aus Mähmotor, Messermodulation usw.)

Bluetooth Module

Der Roboter benötigt ein Bluetooth-Modul das das Serial Port Profil (SPP) unterstützt. SPP verwendet das Bluetooth Service Discovery Protocol (SDP) und das RFCOMM protocol. Abhängig von der gefoderten Reichweite kann man unterschiedliche Bluetooth-Klassen verwenden:

  • Bluetooth class 2 (bis ca. 50m Reichweite), z.B. HC03/04/05/06
  • Bluetooth class 1 (bis ca. 100m Reichweite), z.B. BTM220, erfordert eine Zusatzschaltung

Bluetooth HC-05

Das Bluetooth-Modul wird mit 3,3V betrieben. Man benötigt deshalb einen Spannungsteiler an der RX-Leitung und einen PullUp-Widerstand an der TX-Leitung so, wie es in der Schaltung zu sehen ist.

Zur Programmierung wird der Key-Pin des BT-Modules mit 3,3V vom Arduino verbunden und danach die Verbindung wieder getrennt.

Die Schritte im Einzelnen

  1. Konfigurationsmodus: Das Bluetooth-Modul muss für die nächsten Schritte im Konfigurationsmodus sein:
    1. für HC05: Nachdem das Modul an die Betriebsspannung angeschlossen wurde, verbinde den KEY-Pin mit 3,3V
    2. für HC06/linvor: nicht paaren/verbinden (LED muss blinken)
    3. für FBT06/MBTV4: Zuerst muss ein dünner Draht von Pin PIO11 nach VCC (PIN 12)das sind 3.3 Volt gelötet werden.
  2. Baudrate: Das Bluetooth-Modul und der Arduino Mega müssen die gleiche Baudrate (19200) verwenden - Die Baudrate des Bluetooth-Modules kann über die serielle Konsole des Ardumowers geändert werden. Verbinde das Ardumower Mega Board mit deinem PC (USB), gehe in die serielle Konsole in der Arduino IDE (Strg+M), und wähle dort Baudrate 19200, dann drücke Taste 'd' um ins Ardumower-Menü zu gelangen um hier die richtige Baudrate für das BT-Modul einzustellen.
  3. Neustart: Nachdem das BT-Modul erfolgreich konfiguriert wurde, muss die Verbindung des KEY-Pins zu 3,3V wieder getrennt werden (HC05). Danach startet man das Modul neu.
  4. Pairing: Das BT-Modul muss dem Handy oder Tablet (über Android/Einstellungen) bekanntgemacht werden. Diesen Vorgang nennt man Pairing. Wähle auf dem Android-Gerät das Symbol "Einstellungen" (über Android Menü). Nun wähle "Drahtlos und Netzwerke/Bluetooth->Bluetooth Einstellungen" und "Finde Gerät(Scannen)". Wurde der Ardumower in der Liste der gefundenen Geräte angezeigt, wählt man ihn aus und sagt dann -verbinden-. Nach der Eingabe der Sicherheits-PIN (als Vorgabe "1234"), sollte das Bluetooth-Modul des Arduino mit dem Handy gepaart sein (paired).
  5. pfodApp: Jetzt kann die APP pfodApp/ArduRemote gestartet werden und sich mit dem Ardumower verbinden.

Kommunikation-Protokoll

Das Kommunikation-Protokoll für die Verbindung zwischen Roboter und Androis-App (die 'pfodSpecification') ist hier definiert: http://www.forward.com.au/pfod/.

Alle Menüs (Menüpunkte, Schieberegler, Taster) werden innerhalb der Robotersoftware definiert. Die App stellt die kreierten Menüs nur dar und sendet einen Befehl zurück, wenn ein Menüpunkt durch den Benutzer angeklickt wurde.

Beispiel Kommunikation:

1. App verlangt das Hauptmenü: {.}
2. Roboter sendet Hauptmenü zur App: {.title`1000|key1~text1|key2~text2|key3~text3}
   Die App stellt das Hauptmenü wie folgt dar:
   title
   [text1]
   [text2]
   [text3]
3. Der Benutzer klickt den Menüpunkt 'text1' an, die App sendetden entsprechenden Befehl {key1} zurück

Man kann die Kommunikation protokollieren und in einer Datei auf dem Handy/Tablet speichern (Ordner 'pfodAppRawData' or 'ArduRemote'). In ArduRemote, muss man noch die 'Android Menütaste' drücken und 'Enable logging' wählen.

Sensor-Protokollierung

See this section

Videos

  1. menu demo v0.8.8
  2. menu demo live v0.8.8
  3. tutorial video