Supla -- zmiana nazwy urządzenia ESP8266 w Arduino

Miejsce na nasze Supełki nieoficjalne i suplowe przemyślenia
ODPOWIEDZ
Awatar użytkownika
SunRiver
Administrator
Posty: 779
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Opole
Kontakt:

Supla -- zmiana nazwy urządzenia ESP8266 w Arduino

Post autor: SunRiver » 03 lip 2019, 18:11

Większość używając Supli na ESP8266 korzysta z gotowego firmware lub używa biblioteki
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
  1. .......
  2.  
  3. if ( strnlen(Params.reg_dev.Name, SUPLA_DEVICE_NAME_MAXSIZE) == 0 ) {
  4.         setString(Params.reg_dev.Name, "ARDUINO", SUPLA_DEVICE_NAME_MAXSIZE);
  5.     }
  6.    
  7.     setString(Params.reg_dev.SoftVer, "1.6.1", SUPLA_SOFTVER_MAXSIZE);
  8.  
  9. .........
  10.  
  11.  
  12.  
Owszem możemy to zmieniać ręcznie za każdym razem jak robimy nowe urządzenie , ale to jest też noonsens
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 :
  1.  
  2. //-------------------------------------------------------------------------------------------------    
  3. // Uatawienia Nazwy urzadzenia i wersji oprogramowania    
  4. //-------------------------------------------------------------------------------------------------    
  5.  
  6. void setName(const char *Name);  
  7. void setVersion(const char* Vers);    
  8.  
  9. //-------------------------------------------------------------------------------------------------
  10.  
  11.  
w ten sposób definiujemy sobie funkcję dzięki której będziemy mogli nadać własną nazwę dla urządzenia oraz wersję firmware.

----->> SuplaDevice.cpp
  1.  
  2. void SuplaDeviceClass::setName(const char *Name)
  3. {      
  4.       setString(Params.reg_dev.Name, Name, SUPLA_DEVICE_NAME_MAXSIZE);
  5.  }
  6.  
  7. void SuplaDeviceClass::setVersion (const char* Vers)
  8. {  
  9.      setString(Params.reg_dev.SoftVer, Vers, SUPLA_SOFTVER_MAXSIZE);
  10. }
  11.  
  12.  
oczywiście musimy jeszcze za komentować ciąg definiujący nazwę widoczny wyżej ... i zapisać pliki

Od tej pory w naszym głównym programie możemy nadać nazwę po jakiej zidentyfikuje się nasze urządzenie w SUPLI

  1.  
  2. // ----------------------------------------------------------------------------------------------------------------------
  3. // -- Nazwa urządzenia i wersja oprogramowania
  4. // ----------------------------------------------------------------------------------------------------------------------
  5.  
  6. const char* nazwa = "Sun Light LeninBoard";
  7. const char* wersja = "0.3";
  8.  
  9. // ----------------------------------------------------------------------------------------------------------------------
  10. // Ustawienia wstępne
  11. // ----------------------------------------------------------------------------------------------------------------------
  12. void setup()
  13.  
  14. ............
  15.  
  16.  
  17. //SuplaDevice.addRgbController();
  18.  
  19.  
  20.  
  21.     SuplaDevice.setName(nazwa);          // Nazwa Urządzenia
  22.     SuplaDevice.setVersion(wersja);        // wersja oprogramowania
  23.  
  24.     SuplaDevice.begin(GUID,              // Global Unique Identifier
  25.    
  26. .............  
  27.  
Teraz jak nasza płytka się połączy z cloudem Supli nie będzie to już urządzenie ARDUINO v 1.xxxx
a przedstawi się nam jako :

Sun Light LeninBoard v0.3

Dzięki czemu jasno wiemy że jest to włącznik oświetlenia --- :) od razu lepiej i wiadomo co jest czym a nie ARDUINO ...
to takie moje paskudne rozwiązanie może , ale się sprawdza :)
.... z każdym bitem serca ....
💫SunDUINO
💦GitHUB
💦Google Drive
💦Sotton

Awatar użytkownika
l3n1n
Moderator
Posty: 322
Rejestracja: 28 paź 2017, 8:46
Lokalizacja: 3M

Re: Supla -- zmiana nazwy urządzenia ESP8266 w Arduino

Post autor: l3n1n » 03 lip 2019, 19:19

A co jest imieniem a co nazwiskiem w tej nazwie? ;p

Awatar użytkownika
SunRiver
Administrator
Posty: 779
Rejestracja: 08 paź 2017, 11:27
Lokalizacja: Opole
Kontakt:

Re: Supla -- zmiana nazwy urządzenia ESP8266 w Arduino

Post autor: SunRiver » 03 lip 2019, 19:52

JUż dodałem brakujący kawałek kody co mi się nie wkleił ... co powinno być wlepione w funkcji setup{}
.... z każdym bitem serca ....
💫SunDUINO
💦GitHUB
💦Google Drive
💦Sotton

ODPOWIEDZ