Create a BLE app for your mobile phone! Control an ESP32 with BLE

Поделиться
HTML-код
  • Опубликовано: 14 окт 2024
  • Summary:
    In this video I show you how to create your own Bluetooth Low Energy (BLE) App to control an ESP32 (Arduino platform). For creation of the app I use the MIT app inventor in combination with the MIT AI2 Companion. I have tested this on an Android phone. I have heard in the meantime that unfortunately MIT App Inventor does not support BLE for the Iphone yet. Please make sure your ESP32 has Bluetooth to make this work. Note that some older ESP32 will not work with MIT App Inventor.
    Confirmed to work on:
    ESP32-WROOM-32D
    ESP32-WROOM-32 (Mini D1 ESP32)
    Does not work on (will not connect):
    ESP32-WROOM-32 (some of the older versions)
    NOTE: In order for the App to work as compiled .apk file, the "BluetoothClient" element needs to be added to the MIT App Inventor project (can be found in the "Connectivity" section). I forgot to mention this in the video.
    Starting point for coding along for the Arduino is:
    github.com/mo-...
    Final code:
    github.com/mo-...
    MIT App Inventor:
    appinventor.mi...
    MIT App Inventor BLE extension:
    mit-cml.github...
    BLE on ESP32 Tutorial:
    • BLE with ESP32 tutoria...
    • BLE with ESP32 tutoria...
    Might you have problems programming the ESP32, pls refer to:
    • Programming ESP32: how...
    Have fun with the code and let me know in the comments below what application you are working on :-)
    Correction:
    6:36 Under "Connectivity" add also the "BluetoothClient" to the project. This is needed so that the app can ask for the appropriate permissions when compiled.
    32:06 I mis-spoke here. The correct number to multiply the third byte with is 65536 (2^16).

Комментарии • 225

  • @domebevi
    @domebevi 6 месяцев назад +3

    FIX for people having issue with sending data from app to esp32: I followed every step (nice job mate), but my app was crashing with no error whenever I tried to send data (after changing the slider position). So I've tried different things, apparently what works is to stick with only one characteristic, add the write and read property and the callback to it, and of course use the same UUID for both receiving and sending functions in the app inventor. Do know why, maybe it's my cheap phone, but it worked for me

    • @wanangwanyasulu7715
      @wanangwanyasulu7715 3 месяца назад +1

      man, I have the same issue. @mothunderz, do you know why this is an issue?

  • @Galeazzi2006
    @Galeazzi2006 10 месяцев назад +8

    Awesome! One of the best ESP32 BLE video on youtube

    • @mothunderz
      @mothunderz  8 месяцев назад

      Thank you very much!

  • @JohnKnapp-l9r
    @JohnKnapp-l9r День назад

    Many thanks for this. Took me two goes but I got it working. Used it to make a speedometer for a model train. I can't say it was easy, but it was much easier than I expected. Now planning to add a load cell to make a dynamometer car.

  • @marcobuttner6357
    @marcobuttner6357 8 месяцев назад +4

    Tested on ESP32-WROOM-32 (Mini D1 ESP32) and Samsung S23+ today. Works fine for me. Thank's for this great tutorial!

    • @mothunderz
      @mothunderz  6 месяцев назад

      Thank you for the feedback!

  • @davidkempton2894
    @davidkempton2894 7 месяцев назад +4

    Crikey! That was very very good. Thanks very much for sharing your knowledge in this very clear and concise video.

    • @mothunderz
      @mothunderz  6 месяцев назад

      Glad it was helpful!

  • @guestofmiketraveler4813
    @guestofmiketraveler4813 2 месяца назад +2

    Hi Mo,
    I have been looking for a solution like this very long. It covers everything i wanted to do from the Arduino to the buttons on the website. And the real time updating with the Json system. Wonderful. Thank you so much for your contribute.
    Very Good. 5 Stars from me.

    • @mothunderz
      @mothunderz  6 дней назад

      Thank you very much for the feedback Mike!

  • @kenmeyer100
    @kenmeyer100 4 месяца назад +1

    Great video. Exactly what I need. I am going to build a precision real time gradient indicator for my bike. Literally every bike computer on the market, no matter the "quality" and price just shows nonsensical or fake values. I have no experience with BLE nor Android apps. So, lets get to work.

  • @hemersonallan
    @hemersonallan 6 дней назад

    Awesome Tutorial ! Greetings from Brazil !!!

  • @geralltgriffiths7772
    @geralltgriffiths7772 Год назад

    An absolutely indispensable guide, expertly explained! Thank you.
    (Just to show that I was paying attention -- and I hesitate to mention it -- but 2^16 is 65,536, not 56,536).

    • @mothunderz
      @mothunderz  Год назад +4

      🤣 Amazing how I manage to say it wrong while writing down the right number
      Thank you for your feedback!

    • @geralltgriffiths7772
      @geralltgriffiths7772 Год назад

      @@mothunderz With the screen resolution I had, I couldn't quite see what you wrote, so I was going by the audio only. I suspect that it has much to do with the old chestnut of German being fünfundsechzig, whereas English uses sixty-five. (Apart from arcane use, like in the old nursery rhyme, were "four and twenty blackbirds were baked in a pie" -- the things we teach our kids leave much to be desired!). Thanks for all the great work. It's much appreciated.

    • @mothunderz
      @mothunderz  Год назад +1

      I never quite figured out why in many European languages we pronounce numbers in such a weird way, but yes, most likely that is where this came from :-)

  • @RobertoAguero-s4i
    @RobertoAguero-s4i 6 месяцев назад +1

    You are the goat. You just saved us so much time and it actually worked.

  • @GoontoKogle
    @GoontoKogle Год назад +1

    Very good and interesting explanation! I am just working on Smartphone connected to ESP32 to open Garage door as for exchange an old remote control!

    • @mothunderz
      @mothunderz  Год назад

      Thank you for your feedback. That is an excellent application :-)

  • @hernandobolanos798
    @hernandobolanos798 5 месяцев назад

    Good tutorial. The APP is available in MIT app Inventor Gallery?

  • @jak_k
    @jak_k Год назад +1

    Just something to note and I may have missed you covering it, is that BLE scan doesn't work unless you allow MIT App Companion permission to access your precise location! At least on a Pixel 5. Even the Emulator didn't work until I clicked on allowing location permission. The permission request may have flashed on the screen but only briefly.
    Please keep up the good work with your excellent videos. I am trying to use your code as a basis for a small 6V solar panel meter using an ESP32-C3 although about to modify my board due to a tiny screwup with the voltage supervisor.

    • @mothunderz
      @mothunderz  Год назад +1

      Thank you for your comment! Yes, some Android platforms do require location information when bluetooth is used. As far as I understood this is not caused my MIT App Inventor, but rather a requirement from the Android platform itself. Indeed on my samsung s22 I have to have GPS enabled as well for ble to work. Good luck with your project!

    • @GameChanger77
      @GameChanger77 Год назад

      Yeah, precise location is required for bluetooth on android except for some of the older versions.

  • @ming-huiChen-pl7lg
    @ming-huiChen-pl7lg 8 месяцев назад

    First of all, thanks for such a great video. It is very helpful to understand from the scratch.
    I have a question. It seems like that the App will disconnect with ESP32 after awhile (phone screen off awhile). I have to re-scan and connect to ESP32.
    Is it possible to keep it connected? Thank you so much!

  • @csongorvarga
    @csongorvarga 8 месяцев назад

    Thanks a lot for this. I have an ESP32 which measures a few data points and I want to log it to a CSV file. I was thinking about ESP32 with a SD card reader, but I rather transfer the data over BT to have the phone log the data into CSV. My values will be float values but only with 1 decimal place precision, therefore I was considering pushing them over as integers. All my values should fit into 2 bytes and I can easily split them up in the app. I did not watch you first video, I hope that explains how to define what data type a characteristic is. Or that is always assumed to be byte list? I assume there is an option to install the app permanently on the phone eventually.

    • @csongorvarga
      @csongorvarga 8 месяцев назад

      I watched your part 1 video and I got answers to these questions. I modified the Arduino code to send multiple values in an array over the same characteristic and it works fine. CSV export in the Android app is working fine as well. So I am very happy.

    • @mothunderz
      @mothunderz  6 месяцев назад +1

      Great to hear you got it all working and good stuff you were able to solve the problem yourself!

  • @rodrigomatos7267
    @rodrigomatos7267 6 месяцев назад

    I'm very happy for discover yours videos, Thank you for a graet contribution. Do you know if is possible using this app or esp32 conect direct to a smartband to get data from heart beat? thank in advanced...

  • @fatih_basaris
    @fatih_basaris 5 месяцев назад

    Thanks a lot from Turkey. Explanation is really good. I really appreciate your works..

    • @darkofshine1679
      @darkofshine1679 5 месяцев назад

      merhabalar size bir şey sormak istiyorumda acaba MIT App te bunu yaptınız ve düzgün çalıştı mı?

    • @fatih_basaris
      @fatih_basaris 5 месяцев назад

      @@darkofshine1679 evet.

    • @hacimwalker
      @hacimwalker 3 месяца назад

      @@fatih_basaris iyi günler 12. dakikaya kadar yapıp ilk test ettiğinizde liste geldi mi bende gelmiyor, bi de bluetooth extensionunu nereden buldunuz belki extensionda sorun vardır bende

  • @mysporelo
    @mysporelo Год назад

    Well this series is going amazingly! I've found your channel because I was looking for exactly this, a mobile app that communicates with esp32! Since I didn't expect for you to make just what I needed I launched myself into doing an app of my own in ReactNative, which works fine, but... I'm actually having a problem with the communication, and since you did this tutorials I think you probably can help me or at least point me in a direction that leads to an answer:
    Using your previos video example (the BLE sending a increasing number) I've modify it a bit so it reads a sensor value that goes from -127 to 127, and it works fine until the sensor (correctly sensing, btw) reads many data together, but never as fast as the 3ms that the example code says. The thing is, when it happens, the esp32 freezes and stops. Only a reset un-freezes it. Do you happen to know what could be? It's not the sensor because without the BLE it never happens..
    Thanks a lot for the time you take in doing this guides, I really love them!!

    • @mothunderz
      @mothunderz  Год назад +1

      Thank you for your feedback. BLE is not the best with "fast" communication. The 3ms was the absolut minimum that can be achieved with two ESP32s communicating together on one single Characteristic. If you add more complexity to the code, the required delay between packets will definitely go up (especially if your packets are more than just 1 to 4 bytes). What I would recommend it that you implement a minimum time for BLE packets to be sent. You can vary this time to see if the communication stabilizes with for instance 100ms or 500ms buffer time. If it still does not stabilize with such buffer times, then definitely something else is wrong. I found it often can be simple things such as that you added a characteristic that is not known on the other side or something like that. Hope you find what the problem is!

  • @rafaelbarajas650
    @rafaelbarajas650 Месяц назад

    Thank you very much, your explanation is very good.

  • @veedonfleece3694
    @veedonfleece3694 Год назад

    Once again, very clear and helpful.
    In my project I am trying to switch (in the client,) between the data feeds from 2 connected BLE servers. It seems to be possible?
    If I understand correctly there can be many connected servers at once, depending on chipset used and memory, etc?

    • @mothunderz
      @mothunderz  Год назад

      Thank you for your feedback. So if I understand correctly you want to connect with one phone to multiple ESP32 servers? Yes, in principle this is possible, however, I have not tried this with MIT App Inventor yet. From what I have seen, the MIT App Inventor library for BLE works, but is not 100% mature. I would not be surprised if multi-server connections have not been implemented .

  • @cliffs6479
    @cliffs6479 Год назад

    First let me thank you for a great tutorial, my question is, I have been working with the bluetoothserial library and wondered if this project could be adapted for it?

    • @mothunderz
      @mothunderz  Год назад

      Yes, it is definitely possible to change from Bluetooth serial to BLE. Hopefully you can understand from my video how to send and receive and then adapting the code should be relatively straightforward.

  • @erenkaya5371
    @erenkaya5371 Год назад

    Thank you for this great series. I wonder if it is possible to use this same ESP board as a client simultaneously. I mean, in this same system the ESP32 will get sensor readings from another BLE device (server) and send it to mobile app. Although I am not expert, this may be possible with multitasking via FreeRTOS. Another small demonstration of this would be great.

    • @mothunderz
      @mothunderz  Год назад

      I have so far not looked into FreeRTOS. While it might be possible to create a BLE server and BLE client at the same time, there is a way simpler solution and that would be to communicate with your sensors using BLE and with your mobile phone through Wifi, for this, see:
      ruclips.net/video/DEFPSfLRObk/видео.html
      (and the explanation of the code starts here: ruclips.net/video/15X0WvGaVg8/видео.html)

  • @quadepchai
    @quadepchai 4 месяца назад +1

    Is there a way to adjust the list view to only display ESP32 devices?

  • @guohaoyu-u4h
    @guohaoyu-u4h 6 месяцев назад +1

    if I want to transmit bytes and then drive the motor to rotate. How should I do this? Thankyou

  • @olaabrahamsson9441
    @olaabrahamsson9441 11 месяцев назад +1

    Thank you for a nice and very clear review.
    Unfortunately, it doesn't seem to work from Android version 12 and up. There will be problems with security and permissions. You can see but no connection takes place.

    • @JLaurel
      @JLaurel 10 месяцев назад +1

      in Android 12 and up you should not ask for permission to bluetooth_connect or bluetooth_scan, it's dome automatically. Remove the Block Screen1.PermissionGranted, and from Screen1.Initialize remove the call for BLUETOOTH_CONNECT and it's working. I had the same problem and did an intensive research and found out this... now it works. And don't forget to give MIT App Companion permission to access your location!

    • @mothunderz
      @mothunderz  8 месяцев назад

      Thank you Laurel for answering here!!

  • @TNHT_rnd
    @TNHT_rnd 9 месяцев назад

    Hi, great video. I want to send a text from android app to BLE, how to setup translate from bytes to text on MIT app inventor ? All i recieve is a array of decimal number but i cant find a way to process them in MIT app.

  • @unpredictable14686
    @unpredictable14686 Год назад

    Thank you for this great series, I want know will it work with ESP32 WROVER IE ?
    I have tried with ESP32 WROVER IE but not able to connect with ESP32.
    I could get data on nRF Connect & BLE Scanner App.

    • @mothunderz
      @mothunderz  Год назад

      Thank you for your feedback. I dont have the ESP32 WROVER IE myself, so have not tested this version myself, but as said in the description, there are some models where the "connect" does not work. As far as I have understood this is predominantly on the older ESPs. I used the ESP32-WROOM-32D myself.

  • @makimcleary393
    @makimcleary393 3 месяца назад +1

    The extension BluetoothLE is no longer available through the link. It shows "This page is obsolete" and I can't find it anywhere else to download. Can someone please help?

  • @messiassousa7151
    @messiassousa7151 4 месяца назад

    Hi dear, thank you for the content. I'm trying to get an app to connect to an unknown uuid, for this app to discover the uuids and connect, including to more than one BLE device simultaneously, specifically with ESP32-C3 SuperMini or Zero modules. By sending separate commands to each ESP32-C3 on the same app screen. Could you tell me if this is possible in the inventor app?

  • @andresmateo4281
    @andresmateo4281 4 месяца назад +1

    I tried to send data of 4 sliders to Arduino, each slider with a different UUID, 3 sliders work perfectly but the last one, doesn´t work. When I move the slider 4 the app crashes and closes, please help me :(

  • @minkduchoangduc5630
    @minkduchoangduc5630 Год назад

    Great video! Could you please suggest the way to plot the receiving BLE data?

    • @mothunderz
      @mothunderz  Год назад

      Great suggestion. At the moment I am a bit overloaded with work, but as an intermediate solution you might want to use a WEB interface instead:
      ruclips.net/video/DEFPSfLRObk/видео.html

  • @khalidfcaixeiro
    @khalidfcaixeiro Год назад

    Thankyou for this videos. I want to ask question, recently I am trying to build a project in which I am using BLE sensor known as TPMS(Tire Pressure Monitoring System) with ESP32 or Arduino Uno.
    If i use ESP 32 then how can i see the uuid of the BLE sensor? . Also If i used Arduino Uno then I have to used Bluetooth module which has different programming as compared to ESP32.
    I only need to know how can i captured the data from the BLE sensor ? IF you can assist me in this I will be very thankful for you. :)

    • @mothunderz
      @mothunderz  11 месяцев назад

      I have not looked into this, but for BLE basics I recommend this video series: ruclips.net/video/0Yvd_k0hbVs/видео.html

  • @MaikMühle-r8x
    @MaikMühle-r8x 9 месяцев назад

    Hello,
    first of all, sorry for my english, it is not my native language,
    With a lot of interest I pulled in all of your videos (several times): Im exactly looking for such program to get my IOT boards connected to a smart phone. Thanks a lot for this lessons and the time you spent.
    I followed your instruction to import the extension for BluetoothBLE. While connecting to my iphone13 with iOS 17.1.2 I received the message: Extensions are not currently supported by iOS devices.
    Do I something wrong here, is there a work around ?

    • @mothunderz
      @mothunderz  8 месяцев назад

      My apologies, but unfortunately MIT app inventor is not available for iphone. As I dont have an iphone myself I dont have the right code for that...

  • @bartdenturck5134
    @bartdenturck5134 11 месяцев назад

    First, BIG thank you! just what I needed, or almost. Now the question of course. What if you have two sliders p.e. that send data (not together of course). I see nowhere in the CharacteristicCallBack class a way to differentiate between UUID's of chars from the app.

    • @mothunderz
      @mothunderz  11 месяцев назад

      Hi Bart, you can check in the callback function what UUID the data was sent from. See for instance:
      github.com/mo-thunderz/Esp32BleServerCallback/blob/main/Arduino/BLE_client_2characteristics/BLE_client_2characteristics.ino

    • @bartdenturck5134
      @bartdenturck5134 11 месяцев назад

      Thank you! I found out overnight myself too :-) Took me a while to get the code right but it is an elegant way indeed.

  • @quadepchai
    @quadepchai 7 месяцев назад

    Hello friend, im from Vietnam, I am participating in a contest and I have a question and need your help. I want to create a touch application on the phone, meaning that when the phone receives a signal from the BLE device, it will go to a layout or screen available on mitapp. Do you think this is possible?

  • @Soundlmpact
    @Soundlmpact 6 месяцев назад

    what if you dont know the uuids of the device you connect to?
    edit: ok nvm, I just watched your other BLE videos, all clear, thank you for the videos!

  • @OsmanyFerrerBorges-cv6hw
    @OsmanyFerrerBorges-cv6hw 4 месяца назад

    Can i get my app connected to multiple BLE devices simultaneously. Should i have multiple instances of BluetoothLE?

  • @cristian980t
    @cristian980t 8 месяцев назад

    Hello MoThunderz, do you plan to make an web app that uses web ble and do the same as in the android app, by the way, your videos are cool, I like them.

    • @mothunderz
      @mothunderz  6 месяцев назад

      Thank you very much for your feedback. Unfortunately I am overloaded with work at the moment and cant make any YT videos :-/ However, once my work load improves I will look into this :-)

  • @MrRichn01
    @MrRichn01 11 месяцев назад +1

    Hell, great video, would you no how to make it work for Ios? Says the Ios does not suport extensions. Thnakyou

    • @mothunderz
      @mothunderz  8 месяцев назад

      Thank you very much for your feedback. My apologies for my late reply, I am swamped with work at the moment. What do you mean with los? Loss of Signal?

  • @ernestorivero9909
    @ernestorivero9909 Год назад

    Very good video, you have some to send text from the phone to esp32

  • @MassimilianoBellugoogle
    @MassimilianoBellugoogle 2 месяца назад

    it works great with char1 but the app doesn't start when char2 blocks are in 😐... Thanks for this very detailed description and step by step creation

    • @mothunderz
      @mothunderz  6 дней назад

      sorry to hear that does not work, will try to re-produce the error

    • @MassimilianoBellugoogle
      @MassimilianoBellugoogle 6 дней назад

      @@mothunderz the crash was due to my typing mistake probably. Then I've also recognized that UUID shall not contains capital letters 😅, that's a tricky bug because there is no specific notification. Everything is working great! ... but I've simplified a bit the Arduino code 🙂

  • @Alvaelectronics
    @Alvaelectronics 3 месяца назад

    Hi
    i am creating a device that has esp32 and the other device is Pi5 which runs android os an app can be installed in this os . Now , i need to connect my esp32 with the pi5 only . Can you guide how i could do this ? In my mind .. it is giving characterstic id call from esp32 and the app would have the same the characterstic app . If the app detects the characterstic uuid , then connect directly to esp32 . Please let me know if this is right or show a video/code on how to do this as a refernce

  • @guides03
    @guides03 6 месяцев назад

    hi this video helped me a lot but I still have an issue: I would like to receive data from an esp32 even when the phone is off or when the app is in the background, do you have any advice for this?

    • @guides03
      @guides03 6 месяцев назад

      I'm actually creating an app which receives a message from the esp32, and if the message is equal to a certain thing, it makes a phone call. I would like that it makes the phone call even if the phone is off or the app is in the background, so that I just have to plug the esp32 in and just wait for the call. I would really appreciate if you know how to solve this problem :)

  • @jacquesdebruyn7884
    @jacquesdebruyn7884 4 месяца назад

    Hi thanks for your video. I follow it up to the point where I need to upload the app. I failed to find the MIT app inventor in combination. When I click on the open it downloads the normal MIT which prompt that IO is currently not compatible. Please suggest a solution.

  • @ernestorivero9909
    @ernestorivero9909 12 дней назад

    Muy bueno el video pero con las complicaciones que tiene programar con ble yo sigo usando bluetooth serie que es más super sencillo de programar aunque consuma un poquito más que el ble

  • @absabs6481
    @absabs6481 Год назад

    Good job bro. Thank you very much.
    I'm following. The eyes are a little weak, I hope I can handle it.
    Good luck.
    Greetings at friends who follow you

    • @mothunderz
      @mothunderz  Год назад

      Thank you very much for your feedback! Well appreciated

  • @ernestorivero9909
    @ernestorivero9909 Год назад

    Muy bueno el video,tienes alguno de mandar texto desde el teléfono al esp32

  • @tsalazar3289
    @tsalazar3289 3 месяца назад

    Hi would this work with the Arduino giga R1 wifi? I want to display load cell readings in digital format using BLE

  • @randallyoung6715
    @randallyoung6715 11 месяцев назад +1

    Thanks for posting, this is a tremendous help to my project.

    • @mothunderz
      @mothunderz  8 месяцев назад +1

      Great to hear, thank you for your feedback!

  • @RominaZamani-e3o
    @RominaZamani-e3o 3 месяца назад

    i receive an error in final code at line ''std::string pChar2_value_stdstr = pChar->getValue();''
    and the error is ''error: conversion from 'String' to non-scalar type 'std::string' {aka 'std::__cxx11::basic_string'} requested''
    can you fix this?

  • @AravindSS-w2j
    @AravindSS-w2j Год назад

    @7:40 Could you please mention the reason for adding a custom permission name in the form of a text "BLUETOOTH_CONNECT". I see that the inbuild permission name list also have a permission name "BluetoothConnect". Could you please clarify on why that was not used. Thanks in advance.

    • @mothunderz
      @mothunderz  Год назад

      I tried to use the inbuild one, but that did not work for me at the time. Please try and let me know if it works for you.

  • @SeekingSuccess22
    @SeekingSuccess22 14 дней назад

    how would you make this app a very user friendly beautiful app?

    • @mothunderz
      @mothunderz  6 дней назад

      Thank you for your interest in my channel. There are very many ways to make an app intuitive, however, I cannot make a video on this at the moment as I am swamped with work, hope you understand...

  • @kelleyga
    @kelleyga 8 месяцев назад

    Great Video thanks. I followed very closely and everything works, except: When I move the slider I get the message on the phone "The variable $Slider_var is not bound in the current context". Also, no data shows up on the serial monitor. The data from the ESP32 shows up as expected on the phone app. I would appreciate any help!

    • @kelleyga
      @kelleyga 8 месяцев назад

      Disregard! I improperly constructed the Initialize local variable block. Everything good now.

    • @mothunderz
      @mothunderz  6 месяцев назад

      Great to hear it works!

  • @andrem4c
    @andrem4c 4 месяца назад

    Can’t download the app in my iPhone with AI companion. It says: Extentions dont work with iOS devices, any solution? :(

  • @trevmansp
    @trevmansp 5 месяцев назад

    I did exactly the same! However, the list does not find any device even with Blueooth turned on. BLE Scanner works in other apps, but in App Inventor. Scanner doesn't work, "Device Found" never works. Does anyone know the reason?

  • @stevedevspace6970
    @stevedevspace6970 8 месяцев назад

    hiya, just such a great help .. im trying to achieve a specific task and have a lot to do, and having to write an app is the last thing i need to be doing lol .. so app inventor is going to speed things up a LOT .. however, you have kindly uploaded your bluetooth aia file for reference and i just CANT get it to upload - it says its not a correct file type .. i tried zipping it as well .. and using its url as a repository .. any ideas? .. just to save me a little bit of a mountain climb :)? kindest regards - steve

    • @mothunderz
      @mothunderz  6 месяцев назад

      The aia file is to be imported in MIT App Inventor. Can you confirm that that is what you have tried to do? Or did you try to open the aia file with the Arduino editor? that wont work... Regards, Sander

  • @JacquesdeBruyn-nl5vu
    @JacquesdeBruyn-nl5vu 4 месяца назад

    Hi there is the App expansion working on iPhones as I tried it but it is not compatible.

  • @marwan.naasan
    @marwan.naasan Год назад

    Hi, Great video, what if i want to connect to my ESP32 auto ? without list and chosing the Bluetooth.

    • @mothunderz
      @mothunderz  Год назад +1

      Thank you for your feedback. In case you want to automatically connect to a certain Bluetooth interface, the easiest would be to skip the whole list and use the ConnectWithUUID function. You can find this function by clicking in MIT App Inventor on the Blocks page on BluetoothClient1 on the left (part of Screen1). I have not tried this function myself yet. It might just continue scanning until it finds the BT interface with the correct UUID, or you might need a clock to periodically run this until it can connect.

    • @marwan.naasan
      @marwan.naasan Год назад

      @@mothunderz
      Thank you for your response to your followers' questions. In fact, I'm having a problem running the application...because whenever I want to try it, it shows errors as it appeared to the rest of the users as they wrote on your channel, but I may dispense with this matter after I explain to you what my project is exactly, I have an ESP32 I want to make Bluetooth somewhat safe because I will be controlling a real car, so it is a matter of safety... Now I have relied on the Bluetooth serial library.. There is no PASSKEY for Bluetooth and this is what makes anyone connect to it.... Also, do not forget that the messages sent are a One letter is easy to guess.... What do you think is the solution to my problem? Is BLE technology safer? (Sorry about my language, I use translation)

    • @mothunderz
      @mothunderz  Год назад +1

      First of all I would not use MIT App Inventor for a project like that. MIT App inventor is great for fast prototyping, for switching on some lights or doing home automation, but not for an application with a car. Either you should use a more professional App development environment like react native, Maui, etc, or you should consider using wifi like I show in some of my other videos.

    • @marwan.naasan
      @marwan.naasan Год назад

      @@mothunderz
      I apologize for my long comment, but I am a beginner in the application industry... Is react native and the development environments you mentioned easy to use? Can it be learned quickly? I've been learning kotlin for a while and it's not easy to be honest

    • @marwan.naasan
      @marwan.naasan Год назад

      @@mothunderz
      Thank you for your interest. I actually managed to design it using the MIT app. The approach I used was slightly different from yours, and I'm surprised that your method didn't work. However, I'm currently facing some challenges. But before I discuss them, I want to mention that I've uploaded a brief video on my channel demonstrating the car control process. Feel free to watch it if you're interested.
      One of the issues I encountered is that the Bluetooth connection remains open, allowing anyone to pair with it. I addressed this problem by setting a 6-digit Bluetooth password. However, here's the strange part: even without pairing, I discovered that I can retrieve the UUID using an application that displays numbers and codes. This compromises the car's security. Although I implemented complex operational commands with long numbers that are nearly impossible to guess, I'm concerned about this vulnerability.
      What are your thoughts on this matter? How can I solve this problem and conceal the UUID from devices that aren't paired with Bluetooth?

  • @RominaZamani-e3o
    @RominaZamani-e3o 3 месяца назад

    i receive an error in final code at line ''std::string pChar2_value_stdstr = pChar->getValue();''
    and the error is ''error: conversion from 'String' to non-scalar type 'std::string' {aka 'std::__cxx11::basic_string'} requested''
    can you fix this?😓

  • @leighpringle286
    @leighpringle286 Год назад

    Thanks so much! Big help in learning how to do this. My project is for an automotive security product.

    • @mothunderz
      @mothunderz  Год назад

      Glad it helped! Thank you for your post :-)

  • @Chris_Mn
    @Chris_Mn Год назад

    Hi great video, it is veru helpfull for me , I'm doing a little rc car, it is really small so im using the xiao esp32, but the BLE dfficult to make an application

    • @mothunderz
      @mothunderz  Год назад

      Glad it helped, good luck with your project!

  • @dhanushkawijesinghe4393
    @dhanushkawijesinghe4393 Год назад

    Hi, I am using this tutorial and build a app to connect my ESP32 via BLE. When I click scan devices, it shows me a whole bunch of BLE devices. But if I use inbuild nrf connect app it only shows a very few BLE devices. Further, when I click on my ESP-32 server in the list, it doesn't connect to the device. Is there any particular reason? anyone can help please.

    • @mothunderz
      @mothunderz  11 месяцев назад

      My apologies, but it is from your description not clear to me what exactly is going wrong in your case.

  • @PaulCan2006
    @PaulCan2006 Год назад

    Hi Mo,working using a BLE and wondering if you can assist me please.
    I just want to send AT commands over to the BLE without using arduino - serial over BLE.

    • @mothunderz
      @mothunderz  11 месяцев назад

      If you want to use serial Bluetooth, please refer to:
      ruclips.net/video/aM2ktMKAunw/видео.html
      (part 1 to 3)

  • @JeahBee66
    @JeahBee66 10 месяцев назад

    Hi Mo,
    You ask for our projects.
    I'm creating a control for a greenhouse in which mushrooms will grow.
    Thank you for your educational videos. They are very clear and understandable.
    ciao Joerg

    • @mothunderz
      @mothunderz  8 месяцев назад

      Hi Joerg,
      What a fun project, thank you very much for your feedback. I with you all the best and hope the project worked out for you!
      ciao Sander

  • @sagarmulagund9256
    @sagarmulagund9256 8 месяцев назад

    hello sir, Can you make it for the wifi scan and connect to entered ssid and password and make user to control led?

  • @robertdubard7959
    @robertdubard7959 4 месяца назад

    Can the phone/tablet work as the server, rather than the client?

  • @JeahBee66
    @JeahBee66 9 месяцев назад

    Hello Mo,
    I send and receive several variables to and from the ESP32 without any problems.
    But I also have variables that have to be sent by the ESP32 after the connection has been established and then sent back again after they have been changed in the app. I think this should work with one UUID. Do you have a solution for this?
    regards
    Joerg

    • @mothunderz
      @mothunderz  8 месяцев назад

      Yes, you could do that with a single UUID, but why not take two UUIDs -> one to send and one to receive. That way you dont get confused. See the "Server Callback" section here. That should help with the return path:
      ruclips.net/video/zxs__8CykDA/видео.html

    • @JeahBee66
      @JeahBee66 8 месяцев назад

      I don't think that is a good idea with 2 ids for 1 variable
      @@mothunderz

  • @SaiRam-c1i
    @SaiRam-c1i 6 месяцев назад

    i am useing same library for esp32 but it showing name in NRF app in IOS but not showing in IOS Bluetooth setting place help me. i tried your code also but it not show name in ios Bluetooth setting.

  • @nickleonhardt847
    @nickleonhardt847 3 месяца назад

    I am at the Point 12:22 and the App can't find the ESP32. The list doesn't open. When I search for it over Bluetooth from my phone, I can find the ESP. I did everything exactly like in the video and can't find the issue. Can anyone help me with that please? It's the ESP32-WROOM-32E

    • @hacimwalker
      @hacimwalker 3 месяца назад +1

      i am struggling same problem did you find a solution

    • @makimcleary393
      @makimcleary393 3 месяца назад

      same here. I also didn't get a permission dialogue

  • @a_boy_can_dream
    @a_boy_can_dream 11 месяцев назад

    Thanks so much!

  • @GameChanger77
    @GameChanger77 Год назад

    I would like to write the app in java with Android studio or something, can you provide some information on how to do this?

    • @mothunderz
      @mothunderz  Год назад

      It is not very common to write Java with the ESP32. I personally have not done this yet, but looked around for you a bit. It seems that MicroEJ has a solution here that could work for you:
      developer.microej.com/create-your-first-application/get-started-app-development-on-espressif-esp32-wroverkit-v41/
      However it is unclear to me if this solution has a license fee to it. Please check it out for yourself. Would be great if you could post here if it worked out for you.

    • @GameChanger77
      @GameChanger77 Год назад

      @@mothunderz Thanks for the response! However, I think you may have misunderstood my question. Instead of writing the android app with MIT app inventor and blocks, I would like to use java in android studio. I'm just not sure how to write the Bluetooth code in Java. I am totally fine with using the arduino IDE in my project, and I am already using it.
      Thanks!

    • @mothunderz
      @mothunderz  Год назад +1

      Ah, that makes a lot more sense :-)
      Sorry, totally understood that the wrong way. I have not looked into java in android studio, but recently uploaded a video on how to implement the Bluetooth code in Xamarin:
      ruclips.net/video/SfGuLsKeOeE/видео.html
      Xamarin really works nicely for me. At the moment that is all I can contribute on this topic. Will ping you if I get around to implementing it in Android Studio as well.

  • @gearsssssable
    @gearsssssable 10 месяцев назад

    I have a problem. I tried with de first block code when the app only show the devices list, but it never find any bluetooth device. I conced permission to use bluetooth and the precise location. Any idea? :c
    Note: using the tradicional BluetoothClient the app show the list of paired devices, but when i tried to connect with ESP32, the app shows me the error 507 like ESP32 was off

    • @mothunderz
      @mothunderz  8 месяцев назад

      It is a bit tricky to debug remote. But lets try: are you using Android or Iphone (only Android works). Which version ESP32 are you using exactly? Have you tried this final code?
      github.com/mo-thunderz/BleMobileAppMitAppInventor

  • @sdranju
    @sdranju Год назад

    Is it possible to show Android native app example other than MIT App Inventor. I got it working with MIT App Inventor but failed to make it working in native Android (Java) app. App is not connecting to ESP32.

    • @mothunderz
      @mothunderz  11 месяцев назад

      The only other app I have looked into myself is Xamarin:
      ruclips.net/video/SfGuLsKeOeE/видео.html
      However, there are many other implementations online

  • @masdikaaliman6425
    @masdikaaliman6425 2 месяца назад

    can i send two data type in one characteristic or receive it with a list or something ?

    • @mothunderz
      @mothunderz  6 дней назад

      Yes, of course possible. The easiest way is to combine them with a character you dont use in the strings, like $ for instance. You then transmit string1$string2 and separate them on the other side.

  • @ernestorivero9909
    @ernestorivero9909 Год назад

    I am confused and I would like you to clarify if I send text or message from a cell phone to an esp32 so that the esp32 shows me on a screen who is the server and who is the client, clarify that I am confused to know that code to load the esp32 if the server or the client

    • @mothunderz
      @mothunderz  11 месяцев назад

      My apologies for my late reply, I have been very busy. One can use the WriteStrings function in MIT App Inventor to send strings from the mobile phone to the ESP32.

  • @LearningToFly77
    @LearningToFly77 9 месяцев назад

    How can i automatically pair a Device with Pin Code? I don't want to enter it every Time i start the App.

    • @mothunderz
      @mothunderz  8 месяцев назад

      That should indeed be possible, however, so far I have not looked into that yet...

  • @rittol2365
    @rittol2365 Год назад

    Can you try to do this with actual android studio, the docs are terrible and the old videos do not work because the methods are depreciated

    • @mothunderz
      @mothunderz  Год назад

      Unfortunately I am a bit overloaded with work at the moment, so have not yet had the time to look into this.

  • @fabrizionovello
    @fabrizionovello Год назад

    Hello. Thank you for the tutorial. I can't get the app to ask for permission to scan o connect to bluetooth devices, when the app starts I get a message with error 908 saying that the permission has been denied and that I need to enable in the settings, but I can't do that either. I'm using a moto g51 with android 12.
    I also tried a beta version of the extension (20230223).
    Do you know any solution to this problem?

    • @mothunderz
      @mothunderz  Год назад

      Hi, it is a bit difficult to figure out the root cause without being in front of your computer, but here some ideas:
      Could it be that you have rejected the permissions at some point in time?Do you have the possibility to try with a different phone?
      On your phone, can you go to "settings->Apps->MIT AI2 Companion" and make sure that "Location" and "Nearby devices" are included under the list with "Allowed permissions"? It will need location permission to work.
      I hope you can figure out what the root cause is. I use a Samsuns s22 with android 13, but also have used older android versions without a problem.

    • @fabrizionovello
      @fabrizionovello Год назад

      @@mothunderz Hello. Thank you for your response. I didn't use MIT companion, I directly install the app on the phone. At first I was trying to make my own app following your steps, then I used your .aia and your sketch for the esp32 but the error message was still appearing. The solution was to add a BluetoothClient (classic bluetooth) from the built-in options in MIT app inventor without using any blocks of classic bluetooth, and then when I start the app for the first time it ask me for permissions.

    • @mothunderz
      @mothunderz  Год назад +2

      @Fabrizio: thank you very much for your comment. Yes, you are right, you need to add the classic bluetooth interface when you want to compile it to run it directly on a phone. I should have included this in the video and will add a correction to the description so that others are informed as well. Thank you very much for bringing this up!

  • @jak_k
    @jak_k Год назад

    I have a problem when trying to create more than 4 Characteristics. Using your BLE_Server code if I copy CHAR1_UUID renaming as _3, _4 etc the first 2 copies create Characteristics but more than that fails. So far after several days I am at a loss as to why. Grateful for any help.
    I did see a 5th Characteristic but that disappeared after I added the Descriptors and even without a 6th can't be created.

    • @mothunderz
      @mothunderz  Год назад

      I was able to reproduce the issue and the solution is quite simple. Just make sure you first define all the descriptors before you define the callbacks, so for instance:
      pCharacteristic->addDescriptor(pBLE2902);
      pCharacteristic_2->addDescriptor(new BLE2902());
      pCharacteristic_3->addDescriptor(new BLE2902());
      pCharacteristic_4->addDescriptor(new BLE2902());
      pCharacteristic_5->addDescriptor(new BLE2902());
      and then
      pCharacteristic_2->setCallbacks(new CharacteristicCallBack());
      This should work up to 15 Characteristics. If you need more than that, than you should add the maximum number of characteristics in the service definition, so here:
      BLEService *pService = pServer->createService(SERVICE_UUID);
      This will become:
      static BLEUUID BLESERVICE_UUID("4fafc201-1fb5-459e-8fcc-c5c9c331914b"); // this line right below the #define statements at the top
      BLEService *pService = pServer->createService(BLESERVICE_UUID, 30, 0); // the "30" in this statement defines the max number of characteristics, feel free to increase.
      Hope this is understandable for you. I can cover it in my next BLE video as well.

    • @mothunderz
      @mothunderz  Год назад

      Actually, I need to correct myself. I did some more investigations and you always will need to extend the max number of characteristics to make this work. Please see my latest video where I specifically address this topic:
      ruclips.net/video/zxs__8CykDA/видео.html

    • @jak_k
      @jak_k Год назад +1

      @@mothunderz ok, thanks. I did a quick test but no joy but I didn't yet try extending the number of characteristics. I will also let you know the result with creating more services as that did get around the problem but probably also related to max numbers limit. I should get to this at the weekend.

  • @adityagudadhe421
    @adityagudadhe421 4 месяца назад

    Can i create mit app to scan rssi value only of phone i connect to esp 32 ?

  • @ttoscanoqui
    @ttoscanoqui 6 месяцев назад

    Hello friend, help, I get a permission not granted error. I am up to minute 12, in the first test of the app, and I get that it does not grant the Bluetooth permission

  • @colinfinch8716
    @colinfinch8716 Месяц назад

    Hi i used part1 it connected to esp32 wroom but if i moved away from esp32 say 5m it does not connect

    • @mothunderz
      @mothunderz  6 дней назад

      sounds to me like a problem with the antenna / reception. does the ESP32 have a small connection for an antenna? Some ESPs dont have a built in antenna and need one connected to it

  • @harshavardhantangudu3239
    @harshavardhantangudu3239 Год назад

    I am not able to search nearby bluetooth devices using this.Can u help me to get out from this difficulty.

    • @mothunderz
      @mothunderz  Год назад

      My apologies, but with this little information I cannot help you. Did you download the latest .aia file from my github website? What platform are you using (Android or Apple)? What SW version is running on your phone? How are you testing the app SW (do you compile to an apk or do you use the Companion)? Did the phone ask for permission when you run the app? Which ESP32 did you use to test it with? etc etc

  • @ryanwilliams3014
    @ryanwilliams3014 8 месяцев назад

    so this BLE extension can it work on the new Samsung phone? s22 and up???

    • @mothunderz
      @mothunderz  6 месяцев назад

      Yes, I have an s22 myself and it works :-)

  • @JLaurel
    @JLaurel 10 месяцев назад

    Why MIT Companion stops every time I change the Slider? Everything else works fine.

    • @mothunderz
      @mothunderz  8 месяцев назад

      What do you mean with MIT Companion stops? Does it crash? It should not. Have you checked the final code? What phone are you trying it on?

  • @davidleswell8115
    @davidleswell8115 Год назад

    Hi , could you help, i am getting no serial output from the Arduino serial monitor .

    • @mothunderz
      @mothunderz  Год назад

      Hi, this is a very basic problem. The BLE code is quite advanced, you might want to first get some experience with arduino/esp before trying to implement this. But anyway, I assume you are using the Arduino IDE for programming? In that case, make sure you open the serial monitor to the correct serial port. Another thing you will run into is that the esp will not continuously write to the serial port. As such first program the esp, then open the serial monitor and then restart the esp with the reset push button.

  • @metronom_81
    @metronom_81 4 месяца назад

    thanks

  • @tommieedwardberry
    @tommieedwardberry 9 месяцев назад

    I guess this is not working for iPhone, since extensions for bluetooth are needed.

    • @mothunderz
      @mothunderz  8 месяцев назад

      Yes, iPhone is unfortunately not supported in MIT app inventor. A possibility would be Xamarin, but that is way more difficult:
      ruclips.net/video/SfGuLsKeOeE/видео.html

  • @janani.p.gjanani1028
    @janani.p.gjanani1028 7 месяцев назад

    I can't able to see my esp32 on my list view😢is there any solution

  • @krcao9511
    @krcao9511 Год назад

    is it possible to connect a esp32 ble to arduino nano 33 ble sense via ble?

    • @mothunderz
      @mothunderz  Год назад

      I have not tried to do this myself, but I see no reason why this would not be possible. Have you watched my video on esp32 to esp32 communication? The communication with a nano 33 will be quite similar:
      ruclips.net/video/s3yoZa6kzus/видео.html
      Good luck with your project!

  • @mubasirkhafid9582
    @mubasirkhafid9582 Год назад

    hi siri is it possible if communication using ble takes data from esp32 real time

    • @mothunderz
      @mothunderz  8 месяцев назад

      Yes, that is definitely possible. Here an example with a web browser and real-time data. You can do the same with BLE:
      ruclips.net/video/DEFPSfLRObk/видео.html

  • @sharankumar1480
    @sharankumar1480 Год назад

    Am getting an error stating " The companion has disconnected".
    May i know y ??

    • @mothunderz
      @mothunderz  Год назад

      Yes, I sometimes have seen this error as well with "The companion has disconnected". This has to do with the fact that the BLE drivers of MIT App Inventor are not very stable. However, if you compile to an .APK then you should not have any issues. As far as I have seen, the error only occurs when you mess around with the BLE interface itself. So as soon as you have set that up, it should work. Pls try that and worst case you will need to convert to apk. Alternatively you can use another language like Xamarin for the app development, but that has a steep learning curve to it:
      ruclips.net/video/SfGuLsKeOeE/видео.html

  • @flaviodenis9465
    @flaviodenis9465 Год назад

    I am using Arduino nano and Bluetooth module HC-05. But it is not visible in the app.

    • @mothunderz
      @mothunderz  Год назад

      The best way forward is to check first if your Arduino is working correctly. To do so there is a simple app you can use. Just go to 11:05 in this video an I show you how to do this. I am using an esp, but it works exactly the same with an arduino:
      ruclips.net/video/0Yvd_k0hbVs/видео.html

    • @flaviodenis9465
      @flaviodenis9465 Год назад

      @@mothunderz I'll try this and let u know

    • @flaviodenis9465
      @flaviodenis9465 Год назад

      @@mothunderz Can I contact you through mail? I need some help

    • @mothunderz
      @mothunderz  Год назад

      @@flaviodenis9465 my email address is my RUclips name at Gmail.com

    • @flaviodenis9465
      @flaviodenis9465 Год назад

      @@mothunderz 👍😊

  • @ernestorivero9909
    @ernestorivero9909 Год назад

    Yo estoy confundido y quisiera que usted me aclarara si yo mando texto o mensage desde un celular a un esp32 para que el esp32 me lo muestre en una pantalla quien es el servidor y quien es el cliente,aclareme eso estoy confundido para yo saber que codigo cargarle al esp32 si el de servidor o el de cliente

    • @mothunderz
      @mothunderz  8 месяцев назад

      Please refer to the final code:
      github.com/mo-thunderz/BleMobileAppMitAppInventor
      The BLE Server code will be loaded into the ESP32 and the MIT App inventor will be used for the phone. Please note that at the moment only Android phones are supported for BLE in MIT App Inventor. Good Luck with your project!

  • @andos1114
    @andos1114 Год назад

    Waiting for a real tutorial with Android Studio

    • @mothunderz
      @mothunderz  Год назад

      I am now working on a video with Xamarin, should be done in a week or two. Have not had the time to look into Android Studio yet.

    • @mothunderz
      @mothunderz  Год назад +2

      FYI: just uploaded my video on Xamarin and BLE
      ruclips.net/video/SfGuLsKeOeE/видео.html

  • @sridevipindi1547
    @sridevipindi1547 Год назад

    can u show us in espressif ide pls

    • @mothunderz
      @mothunderz  Год назад

      Thank you for your feedback. So far I have not had the time to look into espressif ide... its on my list though...

  • @mypatentlawyers1548
    @mypatentlawyers1548 Год назад

    Just keep getting this error "invoke: unable to invoke method `StartScanning` in object of type boolean. Irritants: ()
    Note: You will not see another error reported for 5 seconds

    • @mothunderz
      @mothunderz  Год назад

      Unfortunate that the code does not work for you. Can it be that you are using an IOS device? Unfortunately the BLE Extension for MIT App Inventor does not (yet) work on IOS devices. I did recently post an implementation for Xamarin that can be adapted to work with IOS. However, I do not have IOS devices myself thus cannot test this:
      ruclips.net/video/SfGuLsKeOeE/видео.html

  • @OLDNEWTECH
    @OLDNEWTECH Год назад

    It's not working on android 11 or greater

    • @mothunderz
      @mothunderz  Год назад

      Hi Burhan, thank you for your feedback. What exactly is not working at the moment? What exactly is not working? Are you testing the App with the AI Companion or as an APK on the phone? What ESP32 are you using? I have tested quite a few ESPs in the meantime and the ESP32-WROOM-32D does work while it will not connect to the ESP32-WROOM-32. I think the reason for that is that the 32 (without D) is older and treats BLE differently. The MIT App Inventor App does not like that.

    • @OLDNEWTECH
      @OLDNEWTECH Год назад

      @MoThunderz well I'm using AI companion for testing, but not showing any bluetooth devices

    • @mothunderz
      @mothunderz  Год назад

      Do you have GPS enabled on your phone? Did the app ask for permissions when you started it the first time? Have you checked with the nRF app whether or not bluetooth devices are around? Also what helps is to go into the bluetooth menu of your phone (swipe down and long press the bluetooth symbol) and manually connect to the ESP there once. Hope this helps

    • @OLDNEWTECH
      @OLDNEWTECH Год назад

      @MoThunderz i saw your previous video in this video your app used bluetoothclient2020 extension if you have please share with me through Email

    • @OLDNEWTECH
      @OLDNEWTECH Год назад

      Because its working with esp32

  • @deonbowers6706
    @deonbowers6706 Год назад

    @33:35 Mobile App to ESP32

    • @mothunderz
      @mothunderz  Год назад

      Actually, in this first example in the video the Server (so the ESP32) is generating a value and updating that every second. With Notify this value is sent to the mobile app and that is then shown on the mobile phone. So I do think that I say it the right way in the video. Please let me know if I miss something here. Thanks!

    • @deonbowers6706
      @deonbowers6706 Год назад

      @@mothunderz Sorry this was actually just a reference for myself.

    • @mothunderz
      @mothunderz  Год назад

      Ah understood, all set :-)

  • @kenaldo7707
    @kenaldo7707 Год назад

    hi there, thanks for the amazing work,
    after I scan the QR code on my phone, there's an error message on my laptop that says "Error from Companion: error: undefined variable. (irritants: yail/edu.mit.appinventor.ble.BluetoothLE)," could you possibly know how i can fix this issue please?

    • @mothunderz
      @mothunderz  Год назад

      Hi, could it be that you are using an Iphone? Unfortunately extensions are not yet supported by MIT App Inventor for Iphones. Please see this link for more details:
      community.appinventor.mit.edu/t/error-from-companion-undefined-variable-irritants-yail-1/28558/12
      So as long as extensions are not supported it will not be possible to use BLE with MIT App Inventor in an Iphone. I am now finishing a video on BLE with Xamarin. That should be able to run on an Iphone. I dont have an Iphone myself though, so cannot verify this.

    • @kenaldo7707
      @kenaldo7707 Год назад

      yes i did use an iphone. i have an android emulator tho, appreciate it!

    • @mothunderz
      @mothunderz  Год назад

      I have tested quite a few ESPs in the meantime and the ESP32-WROOM-32D does work while it will not connect to the ESP32-WROOM-32. I think the reason for that is that the 32 (without D) is older and treats BLE differently. The MIT App Inventor App does not like that. If this really does not work for you, perhaps have a look into Xamarin: that BLE implementation is more robust:
      ruclips.net/video/SfGuLsKeOeE/видео.html