Ich habe eine Schaltung mit einem STM32WB55CEU6 aufgebaut. Dieser hat Bluetooth integriert. Noch nutze ich diese Funktionalität nicht, ich habe lediglich schonmal die Antenne mit realisiert, so dass ich später Bluetooth nutzen kann. Zuerst wollte ich eine App schreiben, um meine Hardware per Smartphone steuern zu können. Dann kann mir jedoch die Idee, dass ich stattdessen auch einen Webserver simulieren könnte? Ist es prinzipiell möglich mit Bluetooth einen Webserver zu simulieren? Meiner Vorstellung nach würde sich das Smartphone per Bluetooth mit meiner Schaltung verbinden und anschließend kann mann über den Browser über einen Namen das Webinterface öffnen. Muss ich dann als Blueooth Device quasi ein virtuelles Netzwerk simulieren? Muss der Controller das nativ unterstützen oder kann ich das in Software realisieren? Oder geht das gar nicht?
Bluetooth schrieb: > Bluetooth einen Webserver zu simulieren Nein, das sind zwei völlig verschiedenen Paar Schuhe. Das eine Ist Übertragungschicht, dass andere Anwendung. Ein (Server)http-demon (und der Web-Browser auf der Client-Seite) kann aber durchaus BT als Übertragungsmedium nutzen wenn dies bei dir TCP/IP unterstützt (TCP/IP Over Bluetooth)
Irgend W. schrieb: > Ein (Server)http-demon (und der Web-Browser auf der Client-Seite) kann > aber durchaus BT als Übertragungsmedium nutzen wenn dies bei dir TCP/IP > unterstützt (TCP/IP Over Bluetooth) Ich verstehe deine Antwort nicht ganz. Ich stelle also von meinem Smartphone aus mit meiner Anwendung eine Bluetoth Verbindung her. Jetzt gebe ich z.B. in Safari die URL http://meineanwendung ein, wie stelle ich sicher, dass die HTTP Anfrage auch bei meiner Anwendung ankommt? Das Smartphone muss doch erstmal die Anfrage über Bluetooth an meine Anwendung tunneln?
Bluetooth schrieb: > Ich verstehe deine Antwort nicht ganz. Ich stelle also von meinem > Smartphone aus mit meiner Anwendung eine Bluetoth Verbindung her Dein µC behauptet über Bluetooth, er wäre ein Modem/PAN-AP. Dein Telefon verbindet daran. Dein Telefon kriegt darüber eine IP-Adresse Dein Telefon meckert, dass er zwar eine IP-Verbindung hat aber keine funktionierende Default-Route, und bietet sofort das Beenden der Verbindung an. Wenn man das wegbekommen hat, ist dein Telefon ohne Internet, kann aber an den http-port auf der "anderen Seite" der Bluetooth-Verbindung zugreifen. Also: Im Prinzip "Bluetooth-Tethering", nur umgekehrt, das Telefon ist Client, nicht Server, und ohne NAT.
Safari? Also iPhone? Vergiss es, da ist alles zugedongelt was BT betrifft. Ich hab mal ein BT Modul an einen ARM SoC mit RTOS gehangen und das PAN Profil genutzt. Mit Android und Win geht das wunderbar, Crapple kann zwar pairen, aber es wird keine Verbindung aufgebaut. Jedenfalls wars zu Zeiten vom 8er der Fall. Zudem brauchste noch einen DHCP Server der eine IP vergeben kann, feste IPs vergeben auf Handys ist nervig. Ansonsten wird da kein Webserver "simuliert". Sondern da wird ein Webserver auf dem STM32 laufen müssen. Guck dir mal den lwip an. Da ist alles dabei vom TCP Stack bis zum Webserver und CGI Callbacks. Kann der Treiber vom STM32WB55 überhaupt das PAN Profil? Das wird leider eher selten unterstützt. Ich hatte damals ein externes TI BT Modul genutzt (direkt über HCI) und bluekitchen als BT Stack. https://github.com/bluekitchen/btstack
Εrnst B. schrieb: > Dein Telefon kriegt darüber eine IP-Adresse > Dein Telefon meckert, dass er zwar eine IP-Verbindung hat aber keine > funktionierende Default-Route, und bietet sofort das Beenden der > Verbindung an. > Wenn man das wegbekommen hat, ist dein Telefon ohne Internet, kann aber > an den http-port auf der "anderen Seite" der Bluetooth-Verbindung > zugreifen. Können Android und ios immernoch keine multiplen Verbindungen?
Mw E. schrieb: > Kann der Treiber vom STM32WB55 überhaupt das PAN Profil? Das muss ich mal nachsehen. Mw E. schrieb: > Safari? > Also iPhone? > Vergiss es, da ist alles zugedongelt was BT betrifft. Ich habe ein IPhone5S, also ein ganz altes. Aber ich dachte mir schon, dass das Probleme machen wird. Εrnst B. schrieb: > Wenn man das wegbekommen hat, ist dein Telefon ohne Internet, kann aber > an den http-port auf der "anderen Seite" der Bluetooth-Verbindung > zugreifen. Das ist natürlich auch doof.
Mw E. schrieb: > Können Android und ios immernoch keine multiplen Verbindungen? Keine Ahnung. Könnte sogar sein, wenn der AP "kooperativ" konfiguriert ist. Üblich ist jedoch, für die echte "Plug-n-Play"-Erfahrung, dass der AP sich per DHCP als Default-Route einträgt, und alle HTTP-Anfragen auf seinen eigenen Webserver umleitet, "Captive Portal". Vorteil: Fast Deppensicher: Verbinden, Browser aufmachen, fertig. Nachteile: HTTPS, HSTS gehen nicht. Default-Route unterbricht das Internet am Gerät.
Bluetooth schrieb: > Ist es prinzipiell möglich mit Bluetooth einen Webserver zu simulieren? Web Server und Browser kommunizieren mittels TCP/IP Protokoll. Du musst daher einen umfangreichen Protokollstack kaufen, der nicht nur einfache Bluetooth Kommunikation ermöglicht, sondern auch noch noch TCP/IP über Bluetooth tunnelt. Viele Smartphones kann man so als mobiles Internet Modem für Laptops verwenden. Diese Funktionalität musst du nachbauen. Die Frage ist, ob dein Smartphone das überhaupt unterstützt. Mit Linux und Windows Laptops würde es auf jeden Fall gehen. Als billige Bastellösung tut es vielleicht auch das Bluetooth SPP Protokoll in Kombination mit einer UART-zu-TCP/IP Brücke (z.B. socat) auf dem Laptop. Dann geht aber nur eine IP Verbindung gleichzeitig. Deinem Web Browser könnte dies zu wenig sein, so dass er Dateien nicht laden kann, die von der HTML Seite referenziert werden (Bilder, CSS, Scripte). Manche Browser brauchen mindestens zwei gleichzeitige Verbindungen zum Server. Mit mobilen Apple Geräten geht das aber definitiv nicht, die können nämlich weder Bluetooth SPP, noch kannst du da nach belieben Fremdsoftware installieren die Apple nicht vorgesehen hat. Mir wäre das zu sehr von hinten herum durch die Brust. Ich würde da nicht viel Zeit rein stecken, denn Bluetooth ist Zickig. Irgend etwas geht immer nicht. Wie kommst du denn an die Bluetooth Firmware heran? Soweit ich weiß kostet sie Lizenzgebühren und eine Mitgliedschaft in einem teuren Club.
Hallo Bluetooth, Dein µController macht ja Bluetooth Low Energy. Dafür gibt es massenweise generische GATT Clients, mit denen Du Dich sofort und ohne viel Aufwand mit Deinem (auf Deinem µC implementierten) GATT Server verbinden kannst und so die Hardware bequem ansteuern kannst. Wir machen das häufig in Projekten, bei denen wir uns die Bedienelemente an der Hardware (Displays, Knöpfe etc.) sparen wollen. Es gibt ein Protokoll zum Umsetzen von BLE auf IP V6 (https://en.wikipedia.org/wiki/6LoWPAN), dazu müsstest Du dann mal prüfen, ob TI das in seinem BLE stack implementiert hat und ob Dein Telefon dass umsetzen kann. Wenn Du das aber nicht weiter in die Welt routen willst, ist das meiner Meinung nach überflüssig. schöne Grüße, Torsten
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.