logo elektroda
logo elektroda
X
logo elektroda
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Bluetooth SPP z otwartym firmware, kodem źródłowym i kompilatorem od producenta

jaco777 19 Sty 2021 23:34 915 10
  • #1 19196474
    jaco777
    Poziom 24  
    Witam.

    Na wstępie zaznaczam, że nie chodzi o konfigurowanie Bluetooth SPP typu szybkość transmisji, nazwa urządzenia, PIN.

    Chodzi o pełną możliwość modyfikacji firmware producenta modułu Bluetooth SPP, a dokładniej warstwy mikrokontrolera.

    Coś jak Bluegiga BT121 - https://www.elektroda.pl/rtvforum/topic3054050.html

    Z tego co pobieżnie wynalazłem, to NRF51, NRF52 https://os.mbed.com/platforms/Nordic-nRF51-DK/ też oferuje taką możliwość.

    Podsumowując:
    Proszę o Wasze doświadczenia z konkretnym modułem/producentem, który wybrać aby był łatwo dostępny, w miarę tani a producent udostępniał kod oraz środowisko.
  • Pomocny post
    #2 19196668
    TvWidget
    Poziom 38  
    Profil SPP jest znany ze standardu BT2.1. Coraz większa ilość urządzeń z jaki moduł BT może się komunikować obecnie już nie wspiera bezpośrednio SPP. Obecnie mamy BT5.2.
    Układy NRF jakie wskazałeś obsługują chyba jedynie tryb BLE. Czyli to czym głównie różni się BT4.0 od BT2.1
    Jeśli chcesz coś zrobić z SPP to szukaj starych układów lub "dual mode".
  • #3 19197057
    jaco777
    Poziom 24  
    TvWidget napisał:

    Jeśli chcesz coś zrobić z SPP to szukaj starych układów lub "dual mode".


    Zgadza się, potrzebuję raczej starego SPP - mam już go w miarę dobrze opanowanego.
    Do BLE się przymierzam, ale ciągle czasu brak. O wersji BT5.2 już nie wspominam.
    Czyli w ostateczności układy BLE też mogą być - trzeba się będzie nauczyć.
  • Pomocny post
    #4 19197620
    w_d
    Poziom 13  
    jaco777 napisał:
    Witam.

    Z tego co pobieżnie wynalazłem, to NRF51, NRF52 https://os.mbed.com/platforms/Nordic-nRF51-DK/ też oferuje taką możliwość.

    No to się musiało pozmieniać. Dotychczas kod do protokołu BT (i do obsługi HW) był zamknięty. Udostępnione było API (w sumie dość wygodne). Z tego co pamiętam też nie wszystkie rejestry są w pełni udostępnione. W Polsce Nordik ma biuro aplikacyjne...
    Nordic (*jak i ktokolwiek) dając sprzęt i soft poniósł też koszta związane z certyfikacją. Zmiana kodu unieważnia certyfikację. Oczywiście nie dla nich a tylko dla zmienionej sztuki ale warto o tym pamiętać
    Bardziej otwarty jest chińczyk z ESP32 ale przyznam że nie przeglądałem ile z tego jest rzeczywiście otwarte na zmiany. Tam jest spory ROM i nie wiem ile siedzi w ROM. Nie wiem też ile jest 'nieopisanych' rejestrów.
  • #5 19200526
    jaco777
    Poziom 24  
    w_d napisał:
    Dotychczas kod do protokołu BT (i do obsługi HW) był zamknięty. Udostępnione było API (w sumie dość wygodne).

    Pisząc "otwartym firmware, kodem źródłowym" napisałem trochę na wyrost, ale wiadomo o co chodzi.

    Dzięki za przypomnienie o ESP32 - właśnie to gdzieś, kiedyś widziałem, czytałem ale wyleciało z głowy. Są biblioteki do Arduino, strony z gotowcami, ceny przystępne, brak tylko profilu SPP - trzeba przysiąść do BLE, ale z WiFi też pewnie będzie łatwo.

    Poprawka: ESP32 na profil SPP Bluetooth.
  • Pomocny post
    #6 19201165
    w_d
    Poziom 13  
    jaco777 napisał:
    z WiFi też pewnie będzie łatwo.


    Pierwszy raz jak usiadłem to kod do zainicjowania transmisji zrobiłem w godzinę - tylko w oparciu o jakieś przykłady.
    Co do wygody programowania to ESP32 jest lata świetlne przed NS 51 (przynajmniej w tych wersjach które poznałem). No i pisałem w 'native' C + FreeRTOS a nie z bibliotekami Arduino.
  • Pomocny post
    #7 19201795
    khoam
    Poziom 42  
    jaco777 napisał:
    Są biblioteki do Arduino, strony z gotowcami, ceny przystępne, brak tylko profilu SPP - trzeba przysiąść do BLE, ale z WiFi też pewnie będzie łatwo.

    W kwestii BT SPP: Link
    To co jest dostarczane z Arduino Core dla ESP32 jest fajne, ale niestety zbudowane jest w oparciu o starszą wersję ESP-IDF 3.3. Aktualnie jest dostępna wersja ESP-IDF 4.2.
  • #8 19227265
    Mocny Amper
    Poziom 10  
    jaco777 napisał:
    Są biblioteki do Arduino, strony z gotowcami, ceny przystępne, brak tylko profilu SPP - trzeba przysiąść do BLE, ale z WiFi też pewnie będzie łatwo.

    Żebyś się nie zdziwił, używając Arduino HAL na ESP32
    Ja właśnie usiłuję uruchomić w swoim projekcie jednocześnie: BLE (serwer) oraz WiFi żeby robić HTTPS POSTy pod jakiśtam adres w sieci. No i się nie da - brakuje pamięci!
    Może działać albo to, albo to. Naraz oba - wykluczone, zresztą można znaleźć sporo narzekań na to w sieci, samo wywołanie BLEDevice::init() zżera 94 kB (!!!) Koszmar. Usiłuję używać tego naprzemiennie, ale to też jest dramat, po prostu nie wiadomo, jak poprawnie zamknąć serwer BLE. Zółtki nie napisały :) bo po co to komu?
  • #10 19227496
    TvWidget
    Poziom 38  
    Mocny Amper napisał:
    Ja właśnie usiłuję uruchomić w swoim projekcie jednocześnie: BLE (serwer) oraz WiFi żeby robić HTTPS POSTy pod jakiśtam adres w sieci. No i się nie da - brakuje pamięci!

    Robiłem to z użyciem NodeMCU i problemów nie było.
    Mocny Amper napisał:
    Usiłuję używać tego naprzemiennie, ale to też jest dramat, po prostu nie wiadomo, jak poprawnie zamknąć serwer BLE. Zółtki nie napisały :) bo po co to komu?

    Wyłączenie serwera = wyłączenie rozgłaszania.
    Samo rozgłaszanie np. co 1 sek. nie przeszkadza używaniu WiFi. Problem może się pojawić gdy włączysz skanowanie BLE. Trzeba zmniejszyć współczynnik wypełnienia np. do 20%.
  • #11 19228386
    jaco777
    Poziom 24  
    Powracając do głównego wątku tematu :-), kupiłem na próbę ESP32 Lolin32 Lite.

    Ma to stary profil Bluetooth SPP - uruchomiłem bezproblemowo z projektu przykładowego, wymiana informacji po Bluetooth SPP też bezproblemowa.
    Serwer WiFi + Bluetooth SPP też z przykładowych projektów poszło łatwo - działa tak jak chcę.
    Co do Bluetooth BLE - udało się uruchomić, coś tam się działo, wykrywało ale nie łączyło - tak jak pisałem, muszę jeszcze BLE ogarnąć.

    Ogólnie ESP32 to jest to czego potrzebowałem (ma SPP). Na razie starcza pamięci, ale faktem jest, że już przekraczam 75% zajętości.
REKLAMA