Forum: Mikrocontroller und Digitale Elektronik vom µC über Bluetooth ins Handy und von dort ins Internet


von Klaus (Gast)


Lesenswert?

Geht das mit beschaffbaren Apps oder müßte man da selber was machen?

von Stefan F. (Gast)


Lesenswert?

Bei Mikrocontroller-Shcaltung nutzt man meist preisgünstige Bluetooth 
Adapter, die nur das SPP Protokoll unterstützen. Also HC-05, HC-06, 
BTM-222 und so weiter. Damit kommst du (ohne spezielle App) nicht ins 
Internet.

Da die APP aber an deinen Anwendungsfall angepasst sein muss, wirst d 
sie wohl selbst schreiben müssen - was gar nicht schwierig ist. Ich 
würde Dir empfehlen, erst mal die Bluetooth-Chat Beispielanwendung aus 
dem SDK auf zwei Android Geräten auszuprobieren. Dann findest du heraus, 
wie die UUID für SPP lauten muss und schon hast du einTestprogramm für 
die Kommunikation zwischen Smartphone und Mikrocontroller.

Als Nächstes denkst Du Dir ein Textbasiertes Protokoll aus (mit Befehlen 
zum Verbindungsaufbau zum Internet-Server, Senden von Daten, Empfangen 
von Daten, Verbindung trennen) und implementierst das in Java.

Das kriegst du sicher hin, ist nicht schwer. Beispielanwendngen für 
Internet-Kommunikation sind im SDK ebenfalls enthalten.

von Timmo H. (masterfx)


Lesenswert?

Es geht auf jeden Fall einfacher mit dem esp8266. Da bist du ohne 
großartiges rum gefrickel und zusätzliche Tools im Internet. Ggf kannst 
du dir auch dann den uC selbst sparen da der esp8266 ja auch ein uC ist

von Max M. (maxmicr)


Lesenswert?

Der Anwendungsfall ist nicht bekannt, demnach sollen vielleicht auch 
Daten auf dem Handy angezeigt werden (über Bluetooth)?

Stefan U. schrieb:
> Als Nächstes denkst Du Dir ein Textbasiertes Protokoll aus (mit Befehlen
> zum Verbindungsaufbau zum Internet-Server, Senden von Daten, Empfangen
> von Daten, Verbindung trennen) und implementierst das in Java.

HTTP? Warum sollte er sich da selber was ausdenken? So sieht das in 
Android aus:
1
            URL u = new URL(url[0]);
2
            final HttpURLConnection connection = (HttpURLConnection)u.openConnection();
3
            BufferedInputStream bis = new BufferedInputStream(connection.getInputStream());
4
            byte[] content = new byte[1024];
5
            int bytesRead = 0;
6
            String strContent = "";
7
            while((bytesRead = bis.read(content)) != -1){
8
                strContent += new String(content,0,bytesRead);
9
            }
10
            returnString = strContent;

TCP-Sockets sind auch möglich.

Stefan U. schrieb:
> Das kriegst du sicher hin, ist nicht schwer.

Natürlich, alles super easy, wenn man es noch nie gemacht hat (was die 
Fragestellung andeutet).

: Bearbeitet durch User
von Klaus (Gast)


Lesenswert?

Danke erstmal für die Stichworte!

Man kann zwar nicht sagen, dass ich noch nie was in dem Spektrum gemacht 
habe. Aber man muß leider sagen, dass ich noch nie was über BT oder TCP 
gemacht habe. Allerdings schwebt mir als BT-Modul Microchip vor. Das 
sollte aber nicht um Weltem anders sein.

Ich fang dann mal an zu googlen. Wenn jemand für mich Literaturtipps 
übrig hat, wäre ich natürlich auch herzlich dankbar.


Kläuschen.

von Olaf (Gast)


Lesenswert?

> Ich fang dann mal an zu googlen. Wenn jemand für mich Literaturtipps
> übrig hat, wäre ich natürlich auch herzlich dankbar.

Informier dich ueber den Unterschied zwischen Bluetooth und BluetoothLE. 
Das heisst nur zufaellig so aehnlich. Je nach Anwendung (Datenrate, 
Stromverbrauch) ist das ziemlich wichtig.

Olaf

von Timmo H. (masterfx)


Lesenswert?

Könntest du mal erzählen was genau du mit dem µC "im Internet" machen 
willst? Wenn es nur darum geht z.B. Wetterdaten oder so abzufragen oder 
irgendwelche Daten an eine Webseite via POST/GET zu senden bin ich nach 
wie vor der Meinung dass der ESP8266 (entweder mit NodeMCU oder Arduino 
Firmware) sehr viel schneller zum Ziel kommst als per Bluetooth. Dafür 
machst du dann einfach ein Wlan-Hotspot im Handy an und verbindest dann 
das ESP-Modul mit dem Access Point.
Mit nur wenigen Zeilen Code hast du auch einen kleinen Webserver auf dem 
ESP am laufen sodass du mit jedem Browser direkt auf das Modul zugreifen 
und z.B. GPIOs setzen kannst. Auch i2c ist kein Problem. Zudem kosten 
die Module nur etwas über 1€.
https://www.aliexpress.com/item/Free-shipping-ESP8266-serial-WIFI-wireless-module-wireless-transceiver-ESP-01/32550786999.html
https://www.aliexpress.com/item/NodeMcu-Lua-WIFI-development-board-based-on-the-ESP8266-Internet-of-things/32338121965.html

http://nodemcu.com/index_en.html#fr_5475f7667976d8501100000f

: Bearbeitet durch User
von Klaus (Gast)


Lesenswert?

Timmo H. schrieb:
> Könntest du mal erzählen was genau du mit dem µC "im Internet" machen
> willst?

Ich habe Steuerungen, die Temperaturen messen, Sauerstoffwerte, Feuchten 
etc. und daraus Relais, Stellantriebe und Lüfter steuern. Die sollen 
fernwart- und fernüberwachbar werden. Wobei diese Steuerungen nicht 
immer nur in Häusern installiert werden, sondern auch in 
Ferienhütten(z.B. in der schwedischen Pampa)oder Caravans, wo nicht 
immer 230V zur Verfügung stehen.

Auf BLE käme es aber hierbei hinsichtlich des Stromverbauchs dennoch 
nicht ganz so an, weil die Aggregate -wenn kein Netzanschluß vorhanden- 
mit PV betrieben werden.
Aber es könnte durchaus auch eine andere Anwendung in die Pipeline 
rutschen, wo es ohne BLE auf keinen Fall mehr geht.

Hinsichtlich Datenraten werden keine Videostrems übertragen. Im 
Normalfall müssen Mess- und Zustandsvariablen, unkomplizierterweise am 
besten gleich der RAM des Controllers(4k) ausgelesen und ein paar 
Steuerbefehle hingesendet werden. Lediglich beim Softwareupdate werden 
vielleicht mal 128kB übertragen. Ich habe gelesen, dass bei SPP 128Kb/s 
übertragen werden können und das sollte absolut ausreichen.

von Frank E. (Firma: Q3) (qualidat)


Lesenswert?

In dem Falle wäre es wohl günstiger, auf den Umweg 
Bluetooth-Handy-Internet zu verzichten und gleich ein GSM-Modul zu 
nehmen, um die Messdaten auf einem Server abzulegen. Den kannst du ja 
dann per Handy besuchen, um die Ergebnisse anzusehen. Dafür gibts Hard- 
und Software-Beispiele zu Hauf ... Beispiel:

http://www.elechouse.com/elechouse/images/product/GSM_shield/GSM_3.jpg

: Bearbeitet durch User
von Stefan F. (Gast)


Lesenswert?

Statt Handy könnte man auch einen Raspberry Pi nehmen. Das neueste 
Modell kann auch Bluetooth, soweit ich das mitbekommen habe. Ansonsten 
halt einen USB Stick verwenden. Auf dem Raspberry Pi kann man recht 
bequem einen Webserver einrichten (z.B. mit PHP), der die Fernwartung 
unterstützt.

von Timmo H. (masterfx)


Lesenswert?

Klaus schrieb:
> Timmo H. schrieb:
>> Könntest du mal erzählen was genau du mit dem µC "im Internet" machen
>> willst?
>
> Ich habe Steuerungen, die Temperaturen messen, Sauerstoffwerte, Feuchten
> etc. und daraus Relais, Stellantriebe und Lüfter steuern. Die sollen
> fernwart- und fernüberwachbar werden. Wobei diese Steuerungen nicht
> immer nur in Häusern installiert werden, sondern auch in
> Ferienhütten(z.B. in der schwedischen Pampa)oder Caravans, wo nicht
> immer 230V zur Verfügung stehen.
Das kannst du alles Problemlos mit dem ESP alleine machen. Gibt auch 
Eval-Boards wo gleich ein Relais mit drauf ist.
https://www.aliexpress.com/item/1sets-ESP8266-Wireless-Wifi-Module-Develop-Board-8266-SDK-Development-Chip-with-the-cable/32291062990.html
Das ding habe ich auch zu Hause. Kann man entweder die PCB Antenne 
verwenden oder extern eine anschließen. Die Reichweite ist besser als 
bei Bluetooth und der Programmieraufwand wesentlich geringer weil du die 
Umwege über BT nicht machen musst, sondern entweder per Sockets oder 
http kommunizierst.

> Auf BLE käme es aber hierbei hinsichtlich des Stromverbauchs dennoch
> nicht ganz so an, weil die Aggregate -wenn kein Netzanschluß vorhanden-
> mit PV betrieben werden.
> Aber es könnte durchaus auch eine andere Anwendung in die Pipeline
> rutschen, wo es ohne BLE auf keinen Fall mehr geht.
Die ESP-Module beherrschen auch Deep-Sleep und brauchen dann nur noch 
wenige µA. Des weiteren fressen sie im normalen Betrieb je nach WIFI 
Sleep Type auch nur 0.5mA (Light-Sleep: CPU inaktiv, Wlan Verbindung 
bleibt erhalten; 15mA im Modem-Sleep: CPU bleibt an, Wlan Verbindung 
bleibt erhalten (U-APSD))

Alternativ ginge natürlich auch RPi, finde ich aber etwas overkill

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.