Hallo Experten :) Ich hätte eine Frage undzwar, es gibt doch einige Geräte die per Wifi Daten senden, zb. an Smartphones. Ich denke dabei an ein OBD2 - Wifi Sender, der die Daten vom Auto an ein Smartphone sendet, und man das Smartphone praktisch als "Boardcomputer" verwendet. Ich hätte dazu ein paar Fragen. Undzwar ist Wifi doch mit verschiedenen Layern aufgebaut, wie können wir also Daten alleine gesendet werden? Ich meine, ich verbinde mich via Handy mit dem AVR ( der einen Wifi Sender angeschlossen hat ). Soweit so klar, nur wie kommen nun Daten an, bzw. welche Möglichkeiten gibt es Daten für das Smartphone bereitzustellen. Hat hiervon jemand Erfahrung/Ahnung und kann mir dazu eventuell ein paar Informationen geben? Danke! MfG Florian
Hallo nochmal! Etwas zum Hintergrund: Ich möchte etwas ähnliches bauen, es soll allerdings keine OBD Daten senden, sondern andere Daten. Am Smartphone würde ich das ganze in Java programmieren. Meines Erachtens brauche ich hier doch kaum TCP/IP Fähigkeiten bzw. Stack am µC da ich ja nur Daten senden möchte, aber keine wirklichen Netzwerkzugriffe mache oder? Ich weiß dass es mit Bluetooth einfacher wäre, aber viele Smartphones haben selbiges leider nicht. Per Bluetooth würde ich auch einen UART - Bluetooth Adapter setzen, ist auch per Java am Smartphone einfach zu machen. Es geht auch nicht um große Übertragungsraten, es reicht locker 9600Baud. Ich bedanke mich schonmal für jegliche Anregungen und Informationen! Lg Florian
Hallo, Florian schrieb: > Meines Erachtens brauche ich hier doch kaum TCP/IP Fähigkeiten bzw. > Stack am µC da ich ja nur Daten senden möchte, aber keine wirklichen > Netzwerkzugriffe mache oder? das kommt denke ich mal auf dein Modul an. Wenn dies den kompletten Stack-Kram übernimmt und dir die Daten meinetwegen per SPI/Uart/I²C/USB oder sonst irgenteine Schnittstelle bereit stellt, dann brauchste das nicht. Sollte das Modul aber ein reines Sende/Empfangsmodul sein, wo du alles "zu Fuß" lösen musst, dann brauchste so ein Stack. Mal ganz davon abgeseheen: Ist Wi-Fi nicht mit Wlan gleichzusetzen. Weil laut google ist das nur ein Marketing-Name für Wlan, der dem User irgentetwas suggerieren soll. Florian schrieb: > Ich weiß dass es mit Bluetooth einfacher wäre, aber viele Smartphones > haben selbiges leider nicht. Wieso sollten sie sowas nicht haben? Was machen denn dann die ganzen Chefs mit ihren Headsets? Wichtig ist doch erstmal hat DEIN Smartphone BT. Wenn ja kannst du ein BTM-222 modul verwenden, diese stellt dann direkt einen Uart auf der anderen Seite bereit und du brauchst nur die Daten einlesen. Grüße Tobi
Florian schrieb: > Hat hiervon jemand Erfahrung/Ahnung und kann mir dazu eventuell ein paar > Informationen geben? Schau hier: http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&nodeId=2884 Da gibt es kleine WiFi Module, die über SPI angesprochen werden, und es gibt einen fertigen TCP/IP-Stack, der diese Module ansteuern kann. Das kannst Du so für Dein Projekt verwenden. Häkchen dabei: Du wirst einen PIC benutzen müssen, weil der TCP/IP-Stack und der WLAN-Treiber nur damit funktioniert und nur dafür lizensiert ist. Das sollte aber auch kein großes Problem sein. Du lädst Dir das MPLAB8, den C-Compiler für die Architektur, die Du verwenden willst (PIC18, PIC24/dsPIC, PIC32) und kaufst ein PICKIT3, und damit hast Du alles beisammen. fchk
Hallo ! Das sieht doch gut aus, ich werde mir das mit dem PIC einmal anschauen. Ich hätte noch etwas gefunden: http://cgi.ebay.com/ConnectBlue-OWLAN211g-802-11-wireless-WLAN-SPI-module-/180687579091?pt=UK_BOI_Electrical_Components_Supplies_ET&hash=item2a11d1a7d3 Das hat aber auch keinen TCP/IP Stack integriert oder ? Im Datenblatt kann ich das zumindest so nicht wirklich herauslesen. Ich würde gerne erst versuchen ob es mit Wlan nicht doch geht, falls es absolut unmöglich ist, würde ich auf Bluetooth umsteigen. Aber probieren kann man es ja, aus Fehlern wird man klug. Danke Florian
Welches Smartphone hat denn bitteschön kein Bluetooth? Das war ja noch vor WLAN Serienausstattung. Klar geht das über WLAN auch, ist aber um ein vielfaches aufwendiger.
Hallo Christian! Ja die meisten Smartphones, bis auf ein paar Billiggeräte haben natürlich alle Bluetooth da hast du schon recht! Aber wie gesagt ich würde es hald gerne einmal per Wlan probieren! Wie die Daten per Bluetooth mehr oder weniger übertragen werden ist soweit kalr, ist ja eher wie ein virtueller RS232, aber wie sieht es per Wlan aus? Welches Protokoll sollte ich da verwenden? UDP oder soetwas? weil HTTP Protokoll bräuchte ich ja nur wenn ich eine Web Oberfläche machen möchte, aber ich möchte ja rein Daten übertragen. Danke! Florian
Florian schrieb: > Welches Protokoll sollte ich da verwenden? UDP oder soetwas? weil HTTP > Protokoll bräuchte ich ja nur wenn ich eine Web Oberfläche machen > möchte, aber ich möchte ja rein Daten übertragen. UDP: Blockorientiert, kein Schutz gegen Paketverlust (das muss die Anwendung abkönnen oder selber behandeln) TCP: Stromorientiert, Schutz gegen Paketverlust Installiere Dir die Microchip Application Libraries und schaue Dir das GenericTCPServer bzw GenericUDPServer Beispiel an. Das kannst Du dann nach Deinen Bedürfnissen erweitern. fchk
Hallo! Wäre für mich nicht die UART Funktion interessanter ? Oder kann ich die Daten dann nicht rückrechnen am Smartphone, da die Funktion nur dazu da ist, zwischen 2 gleichen Microchip Wlan Adapter + PIC zu funktionieren? Lg Florian
Florian schrieb: > Wäre für mich nicht die UART Funktion interessanter ? Nein, das ist ein Gateway zwischen dem physikalischen UART und einem TCP-Socket. GenericTCPServer ist das passende Beispiel. fchk
Hallo Frank! Ja ich dachte eventuell, dass ich den PIC als eigenständigen UART - WLan übersetzer nehme, und den Rest per AVR mache ( Da habe ich schon alles Programmiert ) Weißt du wie ich meine? Lg Florian
Florian schrieb: > Ja ich dachte eventuell, dass ich den PIC als eigenständigen UART - WLan > übersetzer nehme, und den Rest per AVR mache ( Da habe ich schon alles > Programmiert ) Das ist technisch gesehen Unsinn - der PIC könnte das sicher problemlos mitmachen. Außerdem hat das UART-Beispiel kein Handshake. Aber natürlich kann man das so machen. fchk
Hallo und danke Frank! Ich weiß dass es technisch wirklich schlecht ist, aber ich habe den rest eben schon Programmiert am AtMega644 und würde deshalb gerne das ganze einfach per UART anschließen. Wie schlecht ist es denn, wenn kein Handshake dabei ist ? Das ganze wird doch dann per TCP Protokoll gesendet richtig? Eventuell fehlt mir das Verständnis für TCP/IP aber ist das ganze steht doch als Ad-Hoc Netzwerk zur Verfügung. Angenommen ich verbinde mich dann darauf mit einem PC, so habe ich dann die IP von meinem Gerät, wie kann ich nun die Daten abgreifen die per TCP kommen ? Ich meine jetzt zb. ob die wenn ich ein Programm wie Putty starte und das richtige Protokoll auswähle einfach so reinpurzeln oder wie das genau funktioniert? Sorry für die etwas Laienhafte Frage ich schäme ich Danke! Lg Florian
Florian schrieb: > Ich weiß dass es technisch wirklich schlecht ist, aber ich habe den rest > eben schon Programmiert am AtMega644 und würde deshalb gerne das ganze > einfach per UART anschließen. Du hast das sicher in C programmiert. Dann solltest Du das auch einigermaßen einfach portieren können. > Wie schlecht ist es denn, wenn kein Handshake dabei ist ? Ziemlich. Außerdem brauchst Du den UART für die initiale Konfiguration, wenn Du das Beispiel so 1:1 verwenden willst. Außerdem weiß Deine Anwendung nicht, ob überhaupt eine Verbindung besteht. Du sendest und empfängst also praktisch blind. > Das ganze wird doch dann per TCP Protokoll gesendet richtig? Ja. > Eventuell fehlt mir das Verständnis für TCP/IP aber ist das ganze steht > doch als Ad-Hoc Netzwerk zur Verfügung. Angenommen ich verbinde mich > dann darauf mit einem PC, so habe ich dann die IP von meinem Gerät, wie > kann ich nun die Daten abgreifen die per TCP kommen ? Ich meine jetzt > zb. ob die wenn ich ein Programm wie Putty starte und das richtige > Protokoll auswähle einfach so reinpurzeln oder wie das genau > funktioniert? Bei TCP muss irgendeine Seite Server und irgendeine Seite Client sein. Der Client verbindet sich zum Server, und dann können Daten übertragen werden, bis die Verbindung beendet wird. Putty wäre ein möglicher Telnet bzw SSH Client. Bei UDP gibts keine Verbindung. Da kannst Du einfach so senden, und wenn einer zuhört, dann empfängt er das auch. Wenn nicht, dann geht das Paket verloren. Dann ist noch die Frage der IP-Adressen. Wie werden die zugeordnet? Wie finden sich die beiden Teilnehmer? Da weiß ich nicht, was auf Deinem Smartphone konfigurationstechnisch geht. Möglicherweise wirst Du beides brauchen - UDP Broadcasts zum Finden des Gerätes und TCP für die eigentliche Datenübertragung. Da Du ohnehin auf dem PIC entwickeln werden wirst (die Beispiele sind Beispiele, die musst Du noch an Deine eigenen Wünsche anpassen), und zwar nicht zu knapp, kannst Du auch gleich das gesamte Projekt dadrauf machen. fchk
Hallo! ja vermutlich wäre es einfacher alles auf dem PIC zu machen. Kann ich mir ja noch überlegen. Ich brauche nicht zu wissen ob eine Verbindung besteht, und empfangen brauche ich auch nichts, rein theoretisch reicht es, einfach die ganze Zeit die Daten rauszusenden, wenn jemand "zuhört" schön, wenn nicht, auch egal. Also am liebsten wäre mit, dass die PIC/Wlan Kombi als Server dient. Ich schalte das Smartphone ein, suche nach Wlan, finde es und verbinde mich, IP Adressenvergabe wäre natürlich am schönsen per DHCP, damit sollte der Default Gateway auch schon feststehen ( PIC/Wlan Kombi ) So bräuchte ich nicht zuvor UDP verwenden und danach erst auf TCP umsteigen oder ? Lg Florian
Florian schrieb: > Also am liebsten wäre mit, dass die PIC/Wlan Kombi als Server dient. Ich > schalte das Smartphone ein, suche nach Wlan, finde es und verbinde mich, > IP Adressenvergabe wäre natürlich am schönsen per DHCP, damit sollte der > Default Gateway auch schon feststehen ( PIC/Wlan Kombi ) Ich glaube, einen DHCP-Server und einen DNS-Server in dem Paket gesehen zu haben. Ich habe ihn aber noch nicht ausprobiert. Ich denke, Du wirst ihn anpassen müssen. fchk
Hallo Frank! Ok dann verstehe ich das soweit. Eine Frage bleibt da noch offen, undzwar, wenn das Servermäßig alles klappt und ich eine Verbindung zum PC habe, wie kann ich die Daten dann bekommen ? Lg Manuel
Florian schrieb: > Eine Frage bleibt da noch offen, undzwar, wenn das Servermäßig alles > klappt und ich eine Verbindung zum PC habe, wie kann ich die Daten dann > bekommen ? Winsock2 heißt das Stichwort bei der PC-Programmierung. fchk
Also, WLAN ist nicht so einfach wie Bluetooth, weil Bluetooth für Ad-hoc Kommunikation ausgelegt ist, während WLAN normalerweise im Infrastructure-mode (Accesspoint/Client Modus) gefahren wird. Es gibt zwar einen Ad-hoc Modus, der wird aber extrem selten benutzt. Das Einrichten ist am PC schon eine Frickelei, ich bin skeptisch ob das mit allen Handys geht. Wenn nicht braucht man also entweder einen Accesspoint in der Nähe über den beide kommunizieren können, oder Telefon oder Wifi-Modul müssen Accesspoint spielen. Und da geht der Spass dann weiter: Erstmal prüfen welche Handys das alle können, bzw. ob die Module das können.
Hallo! Ja ich habe auch schon meine Probleme mit Ad-Hoc verbindungen gehabt. Ideal wäre natürlich wenn das Wlan Modul als Access Point arbeitet, und ich per Handy wie auf einen normalen Wlan AP zugreifen kann. Ob und wie das geht muss ich mir noch genauer ansehen. Danke Lg Florian
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.