WLAN statt Bluetooth?

Gast #2802657
Lesenswert?

Hallo!
Eigentlich wollte ich Daten vom PC via Bluetooth zu meinem AVR senden.
Leider ist die Übertragung via SPP beim Macbook extrem langsam. Warum 
weiß ich nicht. Mit einem externen Bluetooth Dongle geht es 
merkwürdigerweise. Vermutlich mag der Chipsatz im Rechner den Chipsatz 
der Bluetooth Adapter wie BTM222 nicht.

Nun habe ich mich nach WLAN Module umgesehen und festgestellt dass das 
Empfangen und Aufbereiten der Daten wohl recht komplex ist.
Wie empfehlenswert sind jedoch solche Module die sich als Wifi-Serial 
Verbindung ausgeben wie dieses hier:

http://www.gainspan.com/gs1011mxx

?

Sind da Treiber auf der PC seite nötig und wie funktioniert der Betrieb 
mit Smartphones und Konsorten?
Leider muss man sich für weitere Informationen einloggen..

Gruss

Gerd
Gast #2803059
Lesenswert?

Nutzt Du WIndows oder Mac OS? Der Bluetooth Stack von Windows stellt 
sich beim SPP Protokoll oft zickig an. Installiere den Stack von 
Widcomm, dann geht es. Externe Sticks sind meist nicht betroffen, da sie 
mit einem anständigen Bluetooth Stack geliefert werden (z.B. eben den 
von Widcomm).

Diese Wifi Module sind eine feine Sache, aber dennoch erheblich 
aufwändiger zu programmieren, als Bluetooth SPP Module, weil DU dich da 
halt auch noch mit Ethernet un d TCP/IP beschäftigen musst.

Wenn Du etwas ähnlich transparentes suchst, dann schau Dir man 
Lantronics Xport oder Digi Connect Module an.
#2803192
Lesenswert?

das sollte relativ einfach sein:
https://www.sparkfun.com/products/10822
nein, du brauchst keinen treiber, der ist ja bereits bei deiner lan 
karte dabei.

es ist eigentlich relativ simpel einen TCP server zu eröffnen und den 
bytestream auszulesen.

wäre sogar meine erste wahl vor blauzahn.
zudem möchte ich in zukunft mit denen anfangen:
http://at.rs-online.com/web/p/wlan-netzwerktechnik/7588134/
willst du dich vor wagen ;)

sg clemens
Gast #2803368
Lesenswert?

Hallo!
Das Sparkfun Modul sieht gut aus und ist bezahlbar. Werde es evtl. mal 
über Mouser bestellen.
Welches Protokoll bietet sich an um Bidirektional Daten zu 
verschicken, ähnlich wie über eine Serielle Schnittstelle? UDP?
Gast #2803498
Lesenswert?

nein tcp.

UDP nur, wenn daten möglichst schnell hintereinander, aber fehlerhaft 
übertragen werden dürfen (videotelefonie, sprache...)

TCP wenns länger dauern darf, aber sicher sein willst, dass das zeug 
auch vollständig, in der richtigen reihenfolge und nur einmal ankommt.

im prinzip schlagen die daten am pc wie ein serieller string ein. nur 
als block (0-xx Byte)

das ganze header zeug stellt bereits das modul und auf der anderen seite 
übernimmt das die HW der netzwerkkarte.

einrichten server am pc:
einstellen port (vll in der firewall freigeben)
einstellen IP (welche schnittstelle wlan, buchse...)
Protokoll

genau das gleiche auf seiten des µC
IP die er hat
Ziel IP
zielport
Protokoll

dann einen array füllen, Länge bestimmen und auf senden drücken
Gast #2803587
Lesenswert?

Ich möchte eine Motosteuerung steuern. Diese wird über RS485 Strings 
gesteuert (z.B fahren X Schritte mit Beschleunigungsrampe Z usw).
Allerdings möchte ich auch einen Joystick am Rechner anschliessen können 
und den Motor dann über diesen Steuern.
Dafür muss die aktuelle Geschwindigkeit sehr schnell über Strings stets 
geändert werden.. da weiß ich nicht ob es über TCP nicht evtl. zu einer 
großen Latenz kommt und die Steuerung keinen Spaß macht? Hat da Jemand 
Erfahrung mit?

Gruss

Gerd
Gast #2803621
Lesenswert?

willkommen im glaubenskrieg:
http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/

die ms des Tcp headers wirken sich kaum aus (nehmen wir an dass du nicht 
mehr wie 1024Bytes versendet, dann kann das der router SICHER in einem 
rutsch) dann bleibst du sicher einstellig (der zeitnachteil, nicht die 
übertragung selbst).

zudem gab es vor einiger zeit einen artikel, wie das tcp protokoll 
verwendet werden kann, um aus dem eingangsstack zu lesen, ohne auf das 
ack des streams zu warten. damit verbindest du die siche übertragung per 
tcp mit dem vorteil von UDP, da du hinterher ja immer noch weißt, was 
passiert ist und kannst verlorene pakete korriegieren.

optimal ist ein kombination aus beidem:
motorbefehle per udp (auch wenn ich es hier für sinnlos halte)
und statusmeldungen per tcp

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren