{"id":9961,"date":"2024-01-04T17:55:43","date_gmt":"2024-01-04T17:55:43","guid":{"rendered":"https:\/\/www.fambach.net\/?p=9961"},"modified":"2024-02-09T21:15:09","modified_gmt":"2024-02-09T21:15:09","slug":"esp32-bluetooth-gamepad-2","status":"publish","type":"post","link":"https:\/\/www.fambach.net\/en\/esp32-bluetooth-gamepad-2\/","title":{"rendered":"ESP32 Bluetooth Gamepad"},"content":{"rendered":"<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_73 ez-toc-wrap-left counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewbox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewbox=\"0 0 24 24\" version=\"1.2\" baseprofile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-windows-10\/#Fakten\" title=\"Facts\">Facts<\/a><ul class='ez-toc-list-level-2' ><li class='ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-windows-10\/#Benotigte_Hardware\" title=\"Ben\u00f6tigte Hardware\">Ben\u00f6tigte Hardware<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-windows-10\/#Benotigte_Software\" title=\"Ben\u00f6tigte Software\">Ben\u00f6tigte Software<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-windows-10\/#Anwendungsbereiche\" title=\"Areas of application\">Areas of application<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-windows-10\/#Konfiguration\" title=\"Configuration\">Configuration<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-windows-10\/#Fazit\" title=\"Conclusion\">Conclusion<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-7\" href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-windows-10\/#Verwandte_Beitrage\" title=\"Related Posts\">Related Posts<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-8\" href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-windows-10\/#Quellen\" title=\"Sources\">Sources<\/a><\/li><\/ul><\/nav><\/div>\n\n<p>Manchmal braucht es eine Fernbedienung oder einen Joystick, um ein Projekt zu Testen oder einfach Spa\u00df zu haben. Im Folgenden wird die Anbindung eines ESP32 \u00fcber BlueTooth beschrieben. Zur Steuerung werden ein kleiner analog Joystick und zwei Potis angeschlossen<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Fakten\"><\/span>Facts<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Benotigte_Hardware\"><\/span>Ben\u00f6tigte Hardware<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul>\n<li>ESP32 BLE Board (ESP32, ESP32C3, ESP32S3)<\/li>\n\n\n\n<li>Taster, Joysticks, Potis &#8230; <\/li>\n\n\n\n<li>Kabel zum verdrahten<\/li>\n\n\n\n<li>(Optional) Bread Board<\/li>\n\n\n\n<li>(Optional) I\u00b2C Expansion Board<\/li>\n\n\n\n<li>(Optional) USB Dongle f\u00fcr den Rechner<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Benotigte_Software\"><\/span>Ben\u00f6tigte Software<span class=\"ez-toc-section-end\"><\/span><\/h2>\n\n\n\n<ul>\n<li>Arduino GUI<\/li>\n\n\n\n<li>https:\/\/github.com\/h2zero\/NimBLE-Arduino<\/li>\n\n\n\n<li>https:\/\/github.com\/lemmingDev\/ESP32-BLE-Gamepad<\/li>\n\n\n\n<li>(Optional) Custom Keyboard Bibliothek<\/li>\n\n\n\n<li>(Optional f\u00fcr Linux) bluez<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Anwendungsbereiche\"><\/span>Areas of application<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<ul>\n<li>Remote control<\/li>\n\n\n\n<li>RC Steuerung<\/li>\n\n\n\n<li>Joystick f\u00fcr Spiele<\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\">Views<\/h1>\n\n\n\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"4222\" height=\"2759\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/20240104_102733.jpg\" alt=\"\" class=\"wp-image-9957\" style=\"width:840px;height:auto\"\/><figcaption class=\"wp-element-caption\">Joystick Versuchsaufbau &#8211; Verdrahtung wird unten noch n\u00e4her beschrieben<\/figcaption><\/figure>\n\n\n\n<h1 class=\"wp-block-heading\">Programming<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Libraries<\/h2>\n\n\n\n<p>Die folgenden beiden Bibliotheken werden ben\u00f6tigt. Dies k\u00f6nnen \u00fcber den download des Zips von Git oder direkt in der Arduino GUI geschehen. Die dritte ist nicht n\u00f6tig f\u00fcr den BlueTooth Betrieb wird aber in meinen Beispielen verwendet.<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/h2zero\/NimBLE-Arduino\">NimBLE-Arduino<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/lemmingDev\/ESP32-BLE-Gamepad\">ESP32-BLE-Gamepad<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/sfambach\/CustomKeyboard\" target=\"_blank\" rel=\"noreferrer noopener\">CustomKeyboard<\/a><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"Verbindungstest\">Verbindungstest<\/h2>\n\n\n\n<p>Der erste Test soll zeigen ob eine Verbindung mit dem PC m\u00f6glich ist. Hierf\u00fcr habe ich einen USB-Dongel an den PC angelschossen umd mir einen ESP32 Wroom geschnappt. Das Testprogramm wird bei der <a href=\"https:\/\/github.com\/lemmingDev\/ESP32-BLE-Gamepad\">ESP32-BLE-Gamepad<\/a> Bibliothek mit geliefert und hei\u00dft <a href=\"https:\/\/github.com\/lemmingDev\/ESP32-BLE-Gamepad\/tree\/c8ee9fcb901852e65505dbe321dffb0b593976d7\/examples\/Gamepad\" target=\"_blank\" rel=\"noreferrer noopener\">Gamepad<\/a>. Das Programm simuliert in Abst\u00e4nden von einer halben Sekunde das Dr\u00fccken und L\u00f6sen der Taste 5 (bzw 4) sowie das Setzen der Achsenwerte.<\/p>\n\n\n\n<p>Den Sketch f\u00fcr den Arduino compilieren und aufspielen. Wie der Controller in <a href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-windows-10\/\" data-type=\"post\" data-id=\"9960\">Windows <\/a>oder in <a href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-ubuntu-22-04\/\" data-type=\"post\" data-id=\"9932\">Linux <\/a>eingebunden wird, kann in den gelinkten Beitr\u00e4gen nachgesehen werden. <\/p>\n\n\n\n<p>So sollte der Simulator dann im jeweiligen Betriebssystem aussehen.<\/p>\n\n\n\n<figure class=\"wp-block-gallery has-nested-images columns-2 is-cropped wp-block-gallery-1 is-layout-flex wp-block-gallery-is-layout-flex\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"396\" height=\"453\" data-id=\"9943\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2024-01-03-12_51_45.jpg\" alt=\"\" class=\"wp-image-9943\"\/><figcaption class=\"wp-element-caption\">Windows Gamecontroller Eigenschaften &#8211; Alle Achsen und Taste 5 im Ausgangszustand.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"397\" height=\"457\" data-id=\"9955\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2024-01-03-12_52_02-1.jpg\" alt=\"\" class=\"wp-image-9955\"\/><figcaption class=\"wp-element-caption\">Windows Gamecontroller Eigenschaften &#8211; Alle Achsen und Taste 5 bet\u00e4tigt.<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"327\" height=\"595\" data-id=\"9953\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2024-01-03-13_47_14.jpg\" alt=\"\" class=\"wp-image-9953\"\/><figcaption class=\"wp-element-caption\">Linux jstest-gtk &#8211; Achsen und Taster in Ruhestellung<\/figcaption><\/figure>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"329\" height=\"596\" data-id=\"9954\" src=\"https:\/\/www.fambach.net\/wp-content\/uploads\/2024-01-03-13_47_37.jpg\" alt=\"\" class=\"wp-image-9954\"\/><figcaption class=\"wp-element-caption\">Linux jstest-gtk &#8211; Achsen und Taster aktiviert<\/figcaption><\/figure>\n<\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Peripherietest<\/h2>\n\n\n\n<p>Um vorab zu \u00fcberpr\u00fcfen ob die Potis und der Joystick auch funktionieren, habe ich einen Peripheriestest erstellt, der einfach die entsprechenden Ports abfragt und auf der Konsole ausgibt. Er basiert auf meiner <a href=\"https:\/\/www.fambach.net\/en\/customkeyboard\/\" data-type=\"post\" data-id=\"9739\">CustomKeyboard <\/a>Bibliothek. Mein Versuchaufbau sieht wie folgt aus.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Versuchsaufbau<\/h3>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/github.com\/sfambach\/esp32\/blob\/master\/project\/ESP32BLE-Joystick\/img\/PinoutJoystickPrototype.jpg?raw=true\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Verbindungsplan<\/figcaption><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Pin assignment<\/h3>\n\n\n\n<p>Hier die verwendeten Pins. Diese sind im Grunde frei w\u00e4hlbar. F\u00fcr die Potis und die Achsen werden Analoge Input Pins ben\u00f6tigt und da der AD-Wandler 1 nicht funktioniert wenn Wifi oder BLE aktiv ist habe ich Pins des ADC2 Verwendet.<\/p>\n\n\n\n<figure class=\"wp-block-table is-style-stripes\"><table><thead><tr><th>Periphery<\/th><th>ESP GPIO<\/th><\/tr><\/thead><tbody><tr><td>Poti 1 Mittelpin<\/td><td>25<\/td><\/tr><tr><td>Poti 2 Mittelpin<\/td><td>26<\/td><\/tr><tr><td>Joystick X Achse<\/td><td>14<\/td><\/tr><tr><td>Joystick Y Achse<\/td><td>27<\/td><\/tr><tr><td>Joystick Taster<\/td><td>12<\/td><\/tr><\/tbody><\/table><figcaption class=\"wp-element-caption\">Pinbelegung am ESP32 Wroom<\/figcaption><\/figure>\n\n\n\n<p><strong>ATTENTION<\/strong> nicht vergessen die beiden anderen Pins der Potis mit der Versorgungsspannung und Masse zu verbinden und auch an die Stromversorgung f\u00fcr den Joystick denken. <\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Quellcode<\/h3>\n\n\n\n<p>Der Sourcecode f\u00fcr den Test ist unter folgenden Link zu finden:<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/sfambach\/esp32\/tree\/6e8ab27afbf1394bf51c2333cddb67b81479e9fd\/project\/ESP32BLE-Joystick\/src\/ESP32-BLE-Gamepad_InputTest\">https:\/\/github.com\/sfambach\/esp32\/tree\/6e8ab27afbf1394bf51c2333cddb67b81479e9fd\/project\/ESP32BLE-Joystick\/src\/ESP32-BLE-Gamepad_InputTest<\/a><\/p>\n\n\n\n<p>Die Ausgabe sollte wie folgt aussehen:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img decoding=\"async\" src=\"https:\/\/github.com\/sfambach\/esp32\/blob\/master\/project\/ESP32BLE-Joystick\/img\/OutputPeripheryTest.jpg?raw=true\" alt=\"\"\/><figcaption class=\"wp-element-caption\">Ausgabe Peripherietest<\/figcaption><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Alles zusammen<\/h2>\n\n\n\n<p>Nun bleibt nicht viel mehr als die beiden Test zusammen zu f\u00fcgen und die von der Physik gelesenen Werte mit BlueTooth zu \u00fcbermitteln. <\/p>\n\n\n\n<p>Der Beispielcode ist hier zu finden:<\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/sfambach\/esp32\/tree\/e442fb75d588c93a59c3316685182d3358aa51df\/project\/ESP32BLE-Joystick\/src\/ESP32-BLE-Gamepad_FinalTest\">https:\/\/github.com\/sfambach\/esp32\/tree\/e442fb75d588c93a59c3316685182d3358aa51df\/project\/ESP32BLE-Joystick\/src\/ESP32-BLE-Gamepad_FinalTest<\/a><\/p>\n\n\n\n<p>Es werden drei Achsen X,Y, RX und RY sowie der Knopf 0 \u00fcbertragen.<\/p>\n\n\n\n<p>Gesteste werden kann das Ganze wieder in Windows in der &#8222;GameController Einrichtung&#8220; und unter Linux mit dem Tool jstest.gtk (siehe Kapitel <a href=\"#Verbindungstest\" data-type=\"internal\" data-id=\"#Verbindungstest\">Verbindungstest<\/a>).<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Problems<\/h1>\n\n\n\n<p>Bis jetzt keine<\/p>\n\n\n\n<h1 class=\"wp-block-heading\">Miscellaneous<\/h1>\n\n\n\n<h2 class=\"wp-block-heading\">Controller unter Windows einbinden<\/h2>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-stefan-039-s-webblog wp-block-embed-stefan-039-s-webblog\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"id98W7kVe3\"><a href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-windows-10\/\">Bluetooth Gamecontroller unter Windows 10<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8222;Bluetooth Gamecontroller unter Windows 10&#8220; &#8212; Stefan&#039;s WebBlog\" src=\"https:\/\/www.fambach.net\/bluetooth-gamecontroller-unter-windows-10\/embed\/#?secret=KTM2Qd3h1X#?secret=id98W7kVe3\" data-secret=\"id98W7kVe3\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Controller unter Linux einbinden<\/h2>\n\n\n\n<p><\/p>\n\n\n\n<figure class=\"wp-block-embed\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"xQmAZx0SVK\"><a href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-ubuntu-22-04\/\">PS3-Controller unter Ubuntu 2x.04<\/a><\/blockquote><iframe class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#8222;PS3-Controller unter Ubuntu 2x.04&#8220; &#8212; Stefan&#039;s WebBlog\" src=\"https:\/\/www.fambach.net\/bluetooth-gamecontroller-unter-ubuntu-22-04\/embed\/#?secret=sFEnPHvPyA#?secret=xQmAZx0SVK\" data-secret=\"xQmAZx0SVK\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<p><\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Fazit\"><\/span>Conclusion<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p>Wie immer Schritt f\u00fcr Schritt zum Ziel. Zuerst die Blutooth Funktionalit\u00e4t herstellen, danach die Peripherie anschliessen und zum Schlu\u00df beides kombinieren. So fiel die Implementierung leicht. Die Bluetooth Funktionalit\u00e4t des ESP erscheint ausgereift. Die schlechte Analog-\/Digitalwandlung muss durch mittelwertbildung verbessert werden aber zum Spielen sollte es ausreichen.<\/p>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Verwandte_Beitrage\"><\/span>Related Posts<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n<ul class=\"display-posts-listing\">\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-ubuntu-22-04\/\">PS3-Controller unter Ubuntu 2x.04<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-ubuntu-22-04-2\/\">PS3 controller on Windows 10<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/esp32-bluetooth-gamepad-2\/\">ESP32 Bluetooth Gamepad<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-ubuntu-22-04-3\/\">Bluetooth Gamecontroller unter Ubuntu 2x.04<\/a><\/li>\n<li class=\"listing-item\"><a class=\"title\" href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-windows-10\/\">Bluetooth Gamecontroller unter Windows 10<\/a><\/li>\n<\/ul>\n\n\n\n<h1 class=\"wp-block-heading\"><span class=\"ez-toc-section\" id=\"Quellen\"><\/span>Sources<span class=\"ez-toc-section-end\"><\/span><\/h1>\n\n\n\n<p><a href=\"https:\/\/github.com\/h2zero\/NimBLE-Arduino\">NimBLE-Arduino<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/h2zero\/NimBLE-Arduino\/blob\/e46123a084e0aa336e4cbdd52bf001dac71e5afb\/docs\/New_user_guide.md\">NimBLE-Arduino New User Guide<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/h2zero.github.io\/NimBLE-Arduino\/\">NimBLE-Arduino API <\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/lemmingDev\/ESP32-BLE-Gamepad\">https:\/\/github.com\/lemmingDev\/ESP32-BLE-Gamepad<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/List_of_Bluetooth_profiles\">https:\/\/en.wikipedia.org\/wiki\/List_of_Bluetooth_profiles<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/USB_human_interface_device_class\">https:\/\/en.wikipedia.org\/wiki\/USB_human_interface_device_class<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.usb.org\/sites\/default\/files\/documents\/hid1_11.pdf\">https:\/\/www.usb.org\/sites\/default\/files\/documents\/hid1_11.pdf<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/github.com\/nilutpolkashyap\/esp32_microros_joystick\/blob\/main\/cmd_vel_publisher_udp\/cmd_vel_publisher_udp.ino\">https:\/\/github.com\/nilutpolkashyap\/esp32_microros_joystick\/blob\/main\/cmd_vel_publisher_udp\/cmd_vel_publisher_udp.ino<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>Manchmal braucht es eine Fernbedienung oder ein Joystick um ein Projekt zu Testen oder einfach Spa\u00df zu haben. Im Folgenden wird die Anbindung eines ESP32 \u00fcber BlueTooth beschrieben. <\/p>\n<a href=\"https:\/\/www.fambach.net\/en\/bluetooth-gamecontroller-unter-windows-10\/\" class=\"read-more-link\">Continue reading <span class=\"screen-reader-text\">\"Bluetooth Gamecontroller unter Windows 10\"<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a>","protected":false},"author":1,"featured_media":9957,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[216,742,745,256,169,255],"tags":[285,145,741,33,148,131,264,352],"modified_by":"sfambach","_links":{"self":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/9961"}],"collection":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/comments?post=9961"}],"version-history":[{"count":7,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/9961\/revisions"}],"predecessor-version":[{"id":10492,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/posts\/9961\/revisions\/10492"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media\/9957"}],"wp:attachment":[{"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/media?parent=9961"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/categories?post=9961"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fambach.net\/en\/wp-json\/wp\/v2\/tags?post=9961"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}