Forum: Mikrocontroller und Digitale Elektronik WLAN statt Bluetooth?


von Gerd (Gast)


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

von Stefan (Gast)


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.

von Clemens S. (zoggl)


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

von Gerd (Gast)


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?

von zoggl (Gast)


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

von Gerd (Gast)


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

von zoggl (Gast)


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

von Gerd (Gast)


Lesenswert?

Befehle wie Motorstart oder vor allem Motorstop werden ja in der Regel 
nur einmal gesendet. Wenn das nicht ankommt wäre das schon doof.

Gruss

Gerd

von Gerd (Gast)


Lesenswert?

Ein Bluetooth Modul welches mit Apple Handheld Devices funktioniert 
kostet 170 EURO????

http://components.arrow.com/part/detail/0323_05851420

(Und dann nicht mal Rohs Konform?)

Es muss auch anders gehen, immerhin gibt es doch auch Konsumerquatsch 
für wenig Geld der sich über Apple-SPP steuern lässt..

Hat Jemand eine Idee?

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.