dla Arduino , jest to poniekąd wygodne i w zasadzie wystarczające jednak niesie za sobą pewne
narzucone małe problemy ....
Narzucona przez autorów nazwa dla SuplaDevice
To poważna sprawa ... pomimo że ładnie działa i super się spisuje do sterowania smarkfonem urządzeniami
ale jest pewna wada mianowicie każde urządzenie niezależnie czy będzie do sterowania roletami , czy listwą RGB
czy też termometrem zgłosi się nam zawsze jako ARDUINO 1.1 jak podpinamy jedno urządzenie to spoko , albo 2 sterowniki rolet
ale przy różnych w sumie nie mamy od początku pojęcia co jest czym ... i ew zgadujemy po ID albo po połączeniu
patrzymy co gdzie reaguje ... bez sensu (nonsens)
Nazwa urządzenia którą widzimy po połączeniu jest ujęta w pliku SuplaDEVICE.cpp
- .......
- if ( strnlen(Params.reg_dev.Name, SUPLA_DEVICE_NAME_MAXSIZE) == 0 ) {
- setString(Params.reg_dev.Name, "ARDUINO", SUPLA_DEVICE_NAME_MAXSIZE);
- }
- setString(Params.reg_dev.SoftVer, "1.6.1", SUPLA_SOFTVER_MAXSIZE);
- .........
Dlatego postanowiłem się z tym rozprawić po mojemu .... Pisałem już na czacie ... ale czat to nie jest dobre miejsce na takie rzeczy
wiec postanowiłem problem opisać tu w odpowiednim dziale ....
W celu poprawienia tego nonsensu musimy dokonać zmian w plikach zatem jedziemy:
----->> SuplaDevice.h
Musimy dodać 2 linijki :
- //-------------------------------------------------------------------------------------------------
- // Uatawienia Nazwy urzadzenia i wersji oprogramowania
- //-------------------------------------------------------------------------------------------------
- void setName(const char *Name);
- void setVersion(const char* Vers);
- //-------------------------------------------------------------------------------------------------
----->> SuplaDevice.cpp
- void SuplaDeviceClass::setName(const char *Name)
- {
- setString(Params.reg_dev.Name, Name, SUPLA_DEVICE_NAME_MAXSIZE);
- }
- void SuplaDeviceClass::setVersion (const char* Vers)
- {
- setString(Params.reg_dev.SoftVer, Vers, SUPLA_SOFTVER_MAXSIZE);
- }
Od tej pory w naszym głównym programie możemy nadać nazwę po jakiej zidentyfikuje się nasze urządzenie w SUPLI
- // ----------------------------------------------------------------------------------------------------------------------
- // -- Nazwa urządzenia i wersja oprogramowania
- // ----------------------------------------------------------------------------------------------------------------------
- const char* nazwa = "Sun Light LeninBoard";
- const char* wersja = "0.3";
- // ----------------------------------------------------------------------------------------------------------------------
- // Ustawienia wstępne
- // ----------------------------------------------------------------------------------------------------------------------
- void setup()
- ............
- //SuplaDevice.addRgbController();
- SuplaDevice.setName(nazwa); // Nazwa Urządzenia
- SuplaDevice.setVersion(wersja); // wersja oprogramowania
- SuplaDevice.begin(GUID, // Global Unique Identifier
- .............
a przedstawi się nam jako :
Sun Light LeninBoard v0.3
Dzięki czemu jasno wiemy że jest to włącznik oświetlenia ---
to takie moje paskudne rozwiązanie może , ale się sprawdza