Jak zmodyfikować Firmware TI SensorTag, aby reklamować się w nieskończoność?

Po naciśnięciu bocznego przycisku TI SensorTag, parowanie z urządzeniem jest możliwe przez ok. 2-3 minuty. Jak zmodyfikować firmware Sensortagu tak, aby reklamował się w nieskończoność, a naciśnięcie bocznego przycisku nie jest konieczne za każdym razem?

A jak wgrać firmware z urządzenia iOS, więc bez użycia CC-debuggera?

Author: Mathijs, 2014-02-28

3 answers

Jak to zrobiłem, z Pomocą Chrisa Innanena (dzięki!!)

Będziesz potrzebował maszyny wirtualnej Windows, jeśli robisz to na komputerze Mac.

  1. Pobierz IAR Embedded Workbench dla 8051 (http://supp.iar.com/Download/SW/?item=EW8051-EVAL ). pamiętaj, aby wziąć 30-dniową kopię oceny, a nie 4K limited.

  2. Pobierz BLE-STACK z Texas Instruments (http://www.ti.com/tool/ble-stack ) i zainstaluj go na maszynie Windows (wirtualnej). Domyślnie, instalator zainstaluje się tutaj: "C:\Texas Instruments\BLE-CC254x-1.4.0 \ Projects\BLE \ SensorTag \ CC2541DB \ SensorTag.eww".

  3. Otwórz SensorTag.plik eww z wbudowanym Workbenchem IAR.

  4. Wybierz "Ck2541dk-Sensor-OAD-ImgA" z rozwijanego menu w sekcji "workspace" po lewej

  5. Aby później zapobiec błędowi kompilacji: przejdź do projektu - > opcje... I zmienić wartość "ilość wirtualnych rejestrów" z 16 na 8.

  6. Znajdź "SensorTag.c" w pliku w sekcji workspace po lewej stronie: "SensorTag - CK2541DK-Sensor-OAD-ImgA/APP / SensorTag.c "

  7. Wyszukaj GAP_ADTYPE_FLAGS_LIMITED i zmień go na GAP_ADTYPE_FLAGS_GENERAL, aby włączyć reklamy bezterminowe

  8. Zbuduj z Project - > Make. Wait until it ' s done

  9. Domyślnie nowy obraz firmware (.plik bin) jest teraz w "C:\Texas Instruments \ BLE-CC254x-1.4.0\Projects\BLE\SensorTag\CC2541DB\CC2541DK-Sensor-OAD-ImgA \ Exe" (upewnij się, że umieścisz go gdzieś, gdzie możesz dotrzeć do niego później z Mac OS X, Jeśli używasz maszyny wirtualnej)

  10. Powtórz kroki od 4 do 10, ale teraz dla "CC2541DK-Sensor-OAD-ImgB"

  11. Teraz pobierz aplikację, aby przesłać nowe oprogramowanie przez powietrze. Pobierz tutaj: https://itunes.apple.com/us/app/ti-sensortag/id552918064?mt=8

  12. Otwórz iTunes w Mac OS X i otwórz swój urządzenie z systemem iOS, przejdź do sekcji "Aplikacje", przewiń do dołu, aby zobaczyć aplikacje z możliwościami współdzielenia plików. "SensorTag" powinien być na tej liście. Kliknij na nim i dodaj dwa nowe pliki firmware, zarówno obraz A jak I B.

  13. Jeśli tak się stanie, otwórz aplikację SensorTag na urządzeniu z systemem iOS i podłącz ją do SensorTag. Następnie w dolnej części aplikacji dotknij "Aktualizuj FW" - > "Wybierz plik FW" - > udostępnione pliki>, a następnie dotknij obrazu B i prześlij go. To zajmie kilka minut. Firmware z typem A jest domyślnie już w Sensortagu. Ponieważ właśnie umieściłeś na nim obrazek B, z nowymi zmianami musisz załadować obrazek A.

Powodzenia!

Dodatkowe: zmiana siły sygnału

1) Znajdź "HCI_EXT_ClkDivOnHaltCmd", a po nim dodasz nową linię (I opcjonalny komentarz) : // dodanie Regulacja poziomu mocy TX HCI_EXT_SetTxPowerCmd (HCI_EXT_TX_POWER_0_DBM );

1b) możesz zmienić "_0_DBM" na "_4_DBM" lub "_MINUS_6_DBM" lub "_MINUS_23_DBM" również

2) Znajdź "GAP_ADTYPE_POWER_LEVEL" i zmień wartość w następnej linii, aby pasowała do powyższego poziomu mocy

 23
Author: Mathijs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-01 14:37:08

Powyższe rozwiązanie nie zadziałało u mnie dopóki nie zmieniłem:

  initial_advertising_enable = TRUE;

In SensorTag_Init ().

 7
Author: musicalengineer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-17 04:59:29

Używam tego firmware i zacznie nadawać, gdy nie jest podłączony. Przycisk boczny działa jak włącznik i wyłącznik.

Http://www.myweathercenter.net/installing-a-new-firmware-for-ti-sensortag/

 3
Author: briarfox,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-11-08 20:12:50