{"id":1298,"date":"2021-05-13T10:09:06","date_gmt":"2021-05-13T08:09:06","guid":{"rendered":"http:\/\/www.g-heinrichs.de\/wordpress\/?page_id=1298"},"modified":"2023-11-30T16:39:25","modified_gmt":"2023-11-30T15:39:25","slug":"ble-mit-dem-esp32","status":"publish","type":"page","link":"https:\/\/www.g-heinrichs.de\/wordpress\/index.php\/informatik\/ble-mit-dem-esp32\/","title":{"rendered":"BLE mit dem ESP32"},"content":{"rendered":"<h4><strong><span style=\"color: #3366ff;\"><em data-rich-text-format-boundary=\"true\">BLE steht f\u00fcr Bluetooth Low Energy. Hierbei handelt es sich um einen neuen Bluetooth-Standard. Dieser ist auf m\u00f6glichst geringen Energiebedarf ausgerichtet. <\/em><\/span><\/strong><strong><span style=\"color: #3366ff;\"><em data-rich-text-format-boundary=\"true\">Wie funktioniert nun BLE?\u00a0<\/em><\/span><\/strong><strong><span style=\"color: #3366ff;\"><em data-rich-text-format-boundary=\"true\">Was steckt hinter den Begriffen und Abk\u00fcrzungen Advertiser, Scanner, BLE-Datenpakete, Central und Peripheral, Connecting, GATT und GAP? Wie kann man mit Micropython selbst BLE-Programme entwickeln?<\/em><\/span><\/strong><\/h4>\n\n\n<p><\/p>\n\n\n\n<p>Wenn Sie auf diese Fragen Antworten suchen, dann empfehle ich Ihnen meinen  Kurs <strong>Bluetooth Low Energy: Eine praktische Einf\u00fchrung mit Micropython und dem ESP32-Board TTGO T-Display<\/strong>. In diesem Kurs stelle ich zum Einen  &#8211; nach Schwierigkeitsgrad gestaffelt &#8211;  eine <strong>Reihe von einfachen, aber ausbauf\u00e4higen Beispielen<\/strong> zur Anwendung von BLE mit dem ESP32 vor; zum Anderen sollen aber auch  die oben erw\u00e4hnten Begriffe und Konzepte so weit dargelegt werden, wie wir es f\u00fcr ein Verst\u00e4ndnis der BLE-Programmierung erforderlich halten. Ziel ist es, dem Leser damit <strong>grundlegende Kenntnisse zu vermitteln<\/strong> und bei ihm eine <strong>tragf\u00e4hige Vorstellung zu entwickeln<\/strong>, die es ihm erlauben, die vorgestellten Programme selbstst\u00e4ndig weiter auszubauen und auch neue Anwendungen zu realisieren.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"495\" height=\"262\" src=\"http:\/\/www.g-heinrichs.de\/wordpress\/wp-content\/uploads\/2020\/07\/ttgo_3.jpg\" alt=\"\" class=\"wp-image-1155\" srcset=\"https:\/\/www.g-heinrichs.de\/wordpress\/wp-content\/uploads\/2020\/07\/ttgo_3.jpg 495w, https:\/\/www.g-heinrichs.de\/wordpress\/wp-content\/uploads\/2020\/07\/ttgo_3-300x159.jpg 300w\" sizes=\"(max-width: 495px) 100vw, 495px\" \/><\/figure>\n\n\n\n<p>Der Kurs benutzt als ESP32-Modul eine Variante mit der Bezeichnung <strong>TTGO T-Display<\/strong>. Dieses Modul besitzt bereits ein Farb-Display mit 240 x 135 Pixeln. (Weitere Informationen zu diesem Modul finden sie <a href=\"http:\/\/www.forum.g-heinrichs.de\/viewforum.php?f=18&amp;sid=e7782d2ad2377135e802ffe6ca8eddfe\"><strong><em>hier<\/em><\/strong><\/a>.) F\u00fcr den \u00fcberwiegenden Teil der Beispiele k\u00f6nnen Sie allerdings auch andere ESP32-Module einsetzen. <\/p>\n\n\n\n<p>Als Programmiersprache setzen wir <strong>Micropython<\/strong> ein. Speziell f\u00fcr dieses Board gibt es eine Micropython-Firmware, die auch das Display des Moduls TTGO T-Display unterst\u00fctzt.  <\/p>\n\n\n\n<p><em>Weitere Informationen zu diesem Kurs finden Sie <strong><a href=\"https:\/\/www.g-heinrichs.de\/wordpress\/wp-content\/uploads\/2021\/05\/ble_vorwort.pdf\" data-type=\"URL\">hier<\/a><\/strong>.<\/em><\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p>Zu dem Kurs geh\u00f6ren folgende <strong>Materialien<\/strong>:<\/p>\n\n\n\n<ul>\n<li>Ein <strong>Skript<\/strong> (pdf-Datei, ca. 80 Seiten)<\/li>\n\n\n\n<li>Weitere Unterlagen (Pin-Out und Schaltskizze f\u00fcr das TTGO-Modul, Links f\u00fcr die benutzte Firmware und die Thonny-IDE, &#8230;)<\/li>\n\n\n\n<li><strong>Beispiel-Programme<\/strong><\/li>\n<\/ul>\n\n\n\n<p><\/p>\n\n\n\n<p>Hier k\u00f6nnen Sie s\u00e4mtliche Materialien in Form einer einzigen zip-Datei herunterladen (<strong>Stand: 08.03.2022<\/strong>):<\/p>\n\n\n\n<div class=\"sdm_download_button_box_default\"><div class=\"sdm_download_link\"><a href=\"https:\/\/www.g-heinrichs.de\/wordpress\/?sdm_process_download=1&download_id=1209\" class=\"sdm_download green\" title=\"Materialien f\u00fcr ESP32\" >Jetzt herunterladen!<\/a><\/div><\/div>\n\n\n\n<p><\/p>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity\"\/>\n\n\n\n<p><\/p>\n\n\n\n<p><strong>F\u00fcr einen ersten \u00dcberblick: Das Inhaltsverzeichnis des Skripts:<\/strong><\/p>\n\n\n\n<ul>\n<li><em>Vorwort<\/em><\/li>\n\n\n\n<li><em>Vorbereitung (Hardware, Software)<\/em><\/li>\n\n\n\n<li><em>Einf\u00fchrung (Micropython-Crash-Kurs)<\/em><\/li>\n\n\n\n<li><em>Grundlagen<\/em><\/li>\n\n\n\n<li><em>Experimente: Scan &amp; Connect<\/em><\/li>\n\n\n\n<li><em>Struktur der Advertising-Datenpakete<\/em><\/li>\n\n\n\n<li><em>Interrupt-Intermezzo<\/em><\/li>\n\n\n\n<li><em>Scan-Programm<\/em><\/li>\n\n\n\n<li><em>BLE-Konstanten<\/em><\/li>\n\n\n\n<li><em>Passives und aktives Scannen<\/em><\/li>\n\n\n\n<li><em>Broadcaster und Observer programmieren<\/em><\/li>\n\n\n\n<li><em>Connect &amp; Disconnect<\/em><\/li>\n\n\n\n<li><em>Eine eigene BLE-Klasse<\/em><\/li>\n\n\n\n<li><em>Der Heart Rate Service<\/em> <em>(HRS)<\/em><\/li>\n\n\n\n<li><em>Der Nordic UART Service (NUS)<\/em><\/li>\n\n\n\n<li><em>Das GATT-Profil unter der Lupe<\/em><\/li>\n\n\n\n<li><em>Quellenangaben und Stichwortverzeichnis<\/em><\/li>\n<\/ul>\n\n\n\n<hr class=\"wp-block-separator has-css-opacity is-style-default\"\/>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>BLE steht f\u00fcr Bluetooth Low Energy. Hierbei handelt es sich um einen neuen Bluetooth-Standard. Dieser ist auf m\u00f6glichst geringen Energiebedarf ausgerichtet. Wie funktioniert nun BLE?\u00a0Was steckt hinter den Begriffen und Abk\u00fcrzungen Advertiser, Scanner, BLE-Datenpakete, Central und Peripheral, Connecting, GATT und GAP? Wie kann man mit Micropython selbst BLE-Programme entwickeln? Wenn Sie auf diese Fragen Antworten <span class=\"ellipsis\">&hellip;<\/span> <span class=\"more-link-wrap\"><a href=\"https:\/\/www.g-heinrichs.de\/wordpress\/index.php\/informatik\/ble-mit-dem-esp32\/\" class=\"more-link\"><span>Read More &rarr;<\/span><\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":190,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"_links":{"self":[{"href":"https:\/\/www.g-heinrichs.de\/wordpress\/index.php\/wp-json\/wp\/v2\/pages\/1298"}],"collection":[{"href":"https:\/\/www.g-heinrichs.de\/wordpress\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.g-heinrichs.de\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.g-heinrichs.de\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.g-heinrichs.de\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=1298"}],"version-history":[{"count":19,"href":"https:\/\/www.g-heinrichs.de\/wordpress\/index.php\/wp-json\/wp\/v2\/pages\/1298\/revisions"}],"predecessor-version":[{"id":1844,"href":"https:\/\/www.g-heinrichs.de\/wordpress\/index.php\/wp-json\/wp\/v2\/pages\/1298\/revisions\/1844"}],"up":[{"embeddable":true,"href":"https:\/\/www.g-heinrichs.de\/wordpress\/index.php\/wp-json\/wp\/v2\/pages\/190"}],"wp:attachment":[{"href":"https:\/\/www.g-heinrichs.de\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=1298"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}