PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Welche verbinding für Datenaustausch mit PC



Greven
24.02.2016, 09:16
Hallo,
Ich bin gerade dabei eine Platine für einen neuen Roboter zu Entwickeln. Als Controller verwende ich einen Xmega 128 A3U.
Jetzt suche ich nach einer möglichst einfachen Weg um einen bidirektionalen Datenaustausch ( am bestwn über eine Funkverbindung) mit dem Pc zu erstellen.
Über die verbindung möchte ich den Bot steuern und paar Sensoren auslesen können.
Welche möglichkeit ist da von der Programmierung am einfachsten zu verwirklichen? Ist es Sinnfoll direkt mit Bluetooth oder Wlan zu arbeiten oder kann man mit gekauften 433 MHz Modulen eine einfacjere verbindung aufbauen?
Mir geht es vor allem um eine einfache implementierung der Software, Hardware wäre erstmal zweitranig. Da kann ich auf Hilfe zurückgreifen. Oder gibt es da vorgefertigte Softwarebausteine?

Holomino
24.02.2016, 10:05
Welche Programmiersprachen/-Umgebungen willst Du verwenden (Controller und PC)?

Greven
24.02.2016, 10:20
Den Controller werde ich in C mit dem Atmel AVR Studio programmieren.
Auf det PC Seite hsb ich im moment noch keine Idee wie ich es umsetzen könnte.
Es soll halt unter Windows laufen. Wenn es deutlich einfacher ist könnte ich auch einen Rasberry pi einsetzten, hab hier noch einen liegen der auf dinnvolle verwendung wartet aber mit Windows kenn ich mich besser aus.
Ich bin mir total unsicher welche entscheidung ich zuverst treffen muss; welche hardware nutzen oder was ist die beste Umgebumg für mich.

Holomino
24.02.2016, 10:45
Hmm,

unter Windows bietet sich eine Peer-To-Peer-Verbindung per Bluetooth an. Das ist dann beidseitig eine UART, die Du z.B. mit C#/VB.NET am Rechner nutzt (die KOSTNIX-Express/Community-Versionen kosten nix, wenn Du allerdings noch nicht damit gearbeitet hast, brauchst Du eine gewisse Einarbeitungsphase).

Ein üblicher Bluetooth-Verdächtiger wäre das HC-06-Modul auf der Controllerseite und das eingebaute Bluetooth im Notebook respektive ein Bluetooth-Stick im Rechner.

Einschränkungen: Die Reichweite wird nicht durch die ganze Wohnung gehen, nach 5..10m ist Schluss und Stahlbeton ist der Supergau für Bluetooth (allerdings auch für Funk allgemein).

Was genau willst Du denn verbinden? Über welche Reichweite soll's gehen? Kannst Du ggf. ein Handy oder Tablet onboard mitnehmen und die dort eingebauten Schnittstellen nutzen?

Greven
24.02.2016, 13:16
Ich fang mit Antworten mal hinten an.
Ein Handy oder Tablet möchte ivh nicht mitnehmen, passt auch kaum noch auf den Bot drauf, so wie er bis jetzt geplant ist.
Reichweite ist nicht ganz so wichtig, wäre zwar super wenn es über zwei oder drei Räume funktioniert, ist aber kein muss.
Was ich genau verbinden will ist der Controller, aus dem ich Sensorwerte und eeprom inhslte auslesen und befehle wie PWM3 wert auf 255 setzten zum Controller schicken kann. Was ich auf pc seite nutzten will weiss ich nich nicht. Zu beginn würde ein Terminal reichen.

- - - Aktualisiert - - -

Was ich noch nicht beschrieben habe ist das es darum geht einen etwa 8 x 20 cm kleinen auf Gummiketten fahrenden Bot geht.

Holomino
24.02.2016, 13:35
Hast Du denn schon mal die UART an einem AVR oder XMega ausprogrammiert? Welche Programmierumgebungen hast Du denn für dem PC mal ausprobiert? Welche davon favorisierst Du?

damfino
25.02.2016, 07:29
Mit dem BTM222 komme ich durchs Haus durch, am PC muss dann auch ein Class 1 Stick sein. Dann sind theoretisch 100m Reichweite möglich.
Gibt auch fertige Apps um Roboter übers Tablet zu steuern, die ich kennen sind aber für Arduino.

Die Kommunikation an meinem Roboter ist ähnlich wie die GPS Daten aufgebaut: Datenstring, am Steuerzeichen erkennt man dass der String anfängt, dann die einzelnen Werte/Befehle.

Greven
26.02.2016, 22:06
Schonmal danke für euro mühe,
ich habe mir grede mal eineige Daten zum BTM222 angesehen, das scheint scheint für meine Wünsche schon sher passend. Auf der Controllerseite kann man warscheinlich einen teil des Codes für den Ardino auf den Xmega umschreiben.
Auf PC Seite habe ich schonmal einige kleine Programme mit Lazarus (Free Pascal) geschieben. Ich bin mir nicht sicher ob ich damit auf die Buetooth Schnittstelle zugreifen kann, oder welche Entwicklugsumgebung da nötig ist.

Bisher habe ich nur mal die PC Kommunikation mit einem Arduino in einem Terminal umgestzt. Das sind die einzigen erfahrungen die ich bisher auf dem Gebiet habe.

HerrWerWolf
27.02.2016, 08:18
Den Datenaustausch zwischen Roboter und PC könntest du auch mit Xbee-Modulen (Serie 1) durchführen.
Das funktioniert recht einfach über die serielle Schnittstelle und ist unabhängig vom Betriebssystem.

i_make_it
27.02.2016, 14:11
Hat nichts mit der Fragestellung zu tun, aber mir ist eben der Fehler im Titel aufgefallen.

Ver-31380

Da wäre aber wohl ab 0,8 Promille schluß mit Datenaustausch ;)

nikolaus10
29.02.2016, 08:39
Hallo

Wenn es etwas einfaches funktionierendes sein soll nimm Processing und FIRMATA

73

Greven
02.03.2016, 11:38
Danke für die hilfreichen Tipps.
Ich habe mich jetzt für das BTM-222 Modul entschieden und das mal in mein Layout eingefügt. Jetzt muss ich erstmal zusehen das die Platine geätzt wird und ich den ganzen Bot überhaupt mal ans laufen bekommen...