{"id":1845,"date":"2020-07-30T09:27:43","date_gmt":"2020-07-30T07:27:43","guid":{"rendered":"https:\/\/polluxlabs.net\/?p=1845"},"modified":"2024-09-19T11:56:24","modified_gmt":"2024-09-19T10:56:24","slug":"so-verwendest-du-bluetooth-am-esp32","status":"publish","type":"post","link":"https:\/\/polluxlabs.net\/arduino-tutorials\/so-verwendest-du-bluetooth-am-esp32\/","title":{"rendered":"So verwendest du Bluetooth am ESP32"},"content":{"rendered":"\n

Bluetooth ist allgegenw\u00e4rtig und auch dein ESP32 kann damit umgehen. Lerne in diesem Tutorial, wie du Bluetooth Classic verwendest und Daten zwischen einem Smartphone und deinem ESP32 austauschst.<\/p>\n\n\n\n

F\u00fcr dieses Tutorial ben\u00f6tigst du nur einen ESP32 und ein Android-Smartphone, auf dem du die kostenfreie App Serial Bluetooth Terminal<\/strong> installieren kannst.<\/p>\n\n\n\n

So machst du deinen ESP32 in der Arduino IDE verf\u00fcgbar<\/h2>\n\n\n\n

Falls du deinen ESP32 bisher noch nicht mit der Arduino IDE programmiert hast, f\u00fchre bitte erst die folgenden Schritte durch:<\/p>\n\n\n\n

\u00d6ffne die Einstellungen der IDE und trage in des Feld Zus\u00e4tzliche Boardverwalter-URLs<\/strong> folgenden Link ein.<\/p>\n\n\n\n

https://dl.espressif.com\/dl\/package_esp32_index.json<\/code><\/pre>\n\n\n\n
<\/div>\n\n\n\n

\u00d6ffne anschlie\u00dfend den Boardverwalter<\/strong> unter Werkzeuge\/Board<\/strong>. Suche dort nach ESP32<\/strong> und installiere dir die neueste Version des gleichnamigen Pakets von espressif Systems<\/strong>. Und das war es auch schon \u2013 du solltest deinen ESP32 nun wie jedes andere Board in der Arduino IDE ausw\u00e4hlen und verbinden k\u00f6nnen.<\/p>\n\n\n\n

Der Sketch f\u00fcr deinen ESP32<\/h2>\n\n\n\n

F\u00fcr ein grundlegendes Experiment mit Bluetooth ben\u00f6tigst du nur wenig Code:<\/p>\n\n\n\n

#include \"BluetoothSerial.h\"\n\nBluetoothSerial SerialBT;\n\nvoid setup() {\n  Serial.begin(115200);\n  SerialBT.begin(\"ESP32test\"); \/\/Name des ESP32\n  Serial.println(\"Der ESP32 ist bereit. Verbinde dich nun \u00fcber Bluetooth.\");\n}\n\nvoid loop() {\n  if (Serial.available()) {\n    SerialBT.write(Serial.read());\n  }\n  if (SerialBT.available()) {\n    Serial.write(SerialBT.read());\n  }\n  delay(25);\n}<\/code><\/pre>\n\n\n\n
<\/div>\n\n\n\n

Schauen wir uns die wichtigsten Teile genauer an: Zun\u00e4chst bindest du die Bibliothek BluetoothSerial.h<\/strong> ein, die bereits in deiner Arduino IDE verf\u00fcgbar ist und nicht extra installiert werden muss. Anschlie\u00dfend erstellst du eine Instanz namens SerialBT<\/strong>. <\/p>\n\n\n\n

Im Setup startest du die serielle Kommunikation mit einer Baudrate von 115200 \u2013 achte darauf, dass dein Serieller Monitor auch auf diese Rate eingestellt ist.<\/strong> Anschlie\u00dfend initialisierst du Bluetooth und gibst deinem ESP32 den Namen ESP32test<\/strong>.<\/p>\n\n\n\n

Im Loop befinden sich zwei Abfragen: Die erste pr\u00fcft, ob du etwas in den Seriellen Monitor eingetragen und abgeschickt hast. <\/p>\n\n\n\n

Wenn das der Fall ist, schickst du die Daten an den ESP32:<\/p>\n\n\n\n

SerialBT.write(Serial.read());<\/code><\/pre>\n\n\n\n
<\/div>\n\n\n\n

In der zweiten Abfrage wird gepr\u00fcft, ob der ESP32 etwas \u00fcber Bluetooth empfangen hat. Diese Daten werden dann im Seriellen Monitor ausgegeben.<\/p>\n\n\n\n

Ein erster Test<\/h2>\n\n\n\n

Gehen wir also zur Praxis \u00fcber. F\u00fcr diesen Test verbindest du ein Android-Smartphone mit deinem ESP32 und schickst Nachrichten von einem Ger\u00e4t aufs andere.<\/p>\n\n\n\n

Lade zun\u00e4chst den obigen Sketch wie gewohnt auf deinen ESP32 und starte den Seriellen Monitor mit der Baudrate 115200. Sollte sich hier nichts tun, dr\u00fccke den Reset- oder Enable-Button am ESP32. Anschlie\u00dfend sollte nach einigen Hardware-Informationen folgender Satz aus deinem Sketch angezeigt werden: Der ESP32 ist bereit. Verbinde dich nun \u00fcber Bluetooth.<\/strong><\/p>\n\n\n\n

In den Bluetooth-Einstellungen deines Smartphone solltest du nun deinen ESP32 mit dem Namen ESP32test <\/strong>sehen und eine Verbindung herstellen k\u00f6nnen.<\/p>\n\n\n\n

\"ESP32<\/figure>\n\n\n\n
<\/div>\n\n\n\n

Falls noch nicht geschehen, lade dir die App Serial Bluetooth Terminal<\/a> aus dem Play Store und \u00f6ffne sie. Unter dem Men\u00fcpunkt Devices\/Bluetooth Classic<\/strong> erscheint nun ebenfalls dein ESP32, mit dem du dich mit einem Tap verbinden kannst.<\/p>\n\n\n\n

\"ESP32<\/figure>\n\n\n\n
<\/div>\n\n\n\n

Zeit f\u00fcr etwas Konversation! Schreibe deinem ESP32 in der App eine Nachricht und sende sie ab. Dein Text wird auf der Gegenseite empfangen und im Seriellen Monitor ausgegeben.<\/p>\n\n\n\n

\"Nachricht<\/figure>\n\n\n\n
<\/div>\n\n\n\n

In die andere Richtung funktioniert das genauso. Schreibe etwas in das Eingabefeld oben in deinem Seriellen Monitor und klicke auf Senden. Diese Nachricht wird dann von deinem ESP32 aus an dein Smartphone gesendet und dort angezeigt:<\/p>\n\n\n\n

\"Nachricht<\/figure>\n\n\n\n

Und das war auch schon dein erster Test. Wenn du Nachrichten hin und herschicken kannst, geht das nat\u00fcrlich auch mit allen anderen Daten. <\/p>\n\n\n\n

Als n\u00e4chstes kannst du einen Sensor an den ESP32 anschlie\u00dfen<\/a> und dessen Daten in regelm\u00e4\u00dfigen Abst\u00e4nden an dein Smartphone senden. Oder andersherum mit deinem Smartphone z.B. eine LED an deinem Microcontroller an- und ausschalten. Wie du vom Smartphone aus Ger\u00e4te steuert, lernst du auch in unserem Kurs Dein eigener ESP8266 Webserver<\/a>.<\/p>\n\n\n\n

<\/p>\n","protected":false},"excerpt":{"rendered":"

Bluetooth ist allgegenw\u00e4rtig und auch dein ESP32 kann damit umgehen. Lerne in diesem Tutorial, wie du Bluetooth Classic verwendest und Daten zwischen einem Smartphone und deinem ESP32 austauschst. F\u00fcr dieses Tutorial ben\u00f6tigst du nur einen ESP32 und ein Android-Smartphone, auf dem du die kostenfreie App Serial Bluetooth Terminal installieren kannst. So machst du deinen ESP32 …<\/p>\n

So verwendest du Bluetooth am ESP32<\/span> Weiterlesen »<\/a><\/p>\n","protected":false},"author":1,"featured_media":1975,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"site-sidebar-layout":"","site-content-layout":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","footnotes":""},"categories":[4,32],"tags":[233,48],"class_list":["post-1845","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arduino-tutorials","category-esp8266-projekte","tag-esp32-projekte","tag-internet"],"acf":[],"wp-worthy-pixel":{"ignored":false,"public":"c2c5d9f7575a4aa4ad1a879e2496d9a0","server":"vg04.met.vgwort.de","url":"https:\/\/vg04.met.vgwort.de\/na\/c2c5d9f7575a4aa4ad1a879e2496d9a0"},"wp-worthy-type":"normal","_links":{"self":[{"href":"https:\/\/polluxlabs.net\/wp-json\/wp\/v2\/posts\/1845"}],"collection":[{"href":"https:\/\/polluxlabs.net\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/polluxlabs.net\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/polluxlabs.net\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/polluxlabs.net\/wp-json\/wp\/v2\/comments?post=1845"}],"version-history":[{"count":0,"href":"https:\/\/polluxlabs.net\/wp-json\/wp\/v2\/posts\/1845\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/polluxlabs.net\/wp-json\/wp\/v2\/media\/1975"}],"wp:attachment":[{"href":"https:\/\/polluxlabs.net\/wp-json\/wp\/v2\/media?parent=1845"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/polluxlabs.net\/wp-json\/wp\/v2\/categories?post=1845"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/polluxlabs.net\/wp-json\/wp\/v2\/tags?post=1845"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}