Opis protokołu Supla
Czy jest dostępny gdzieś opis protokołu łączności Arduino / ESP8266 z serwerem Supla? Dostępne źródła powodują u mnie ból głowy przy próbie ich analizy Przyjemniej by się przeczytało obszerny opis słowny. Pytam gdyż podobno ma być to otwarty protokół, a opisu zero.
Dokumentacji protokołu jeszcze nie ma. Za jakiś czas pewnie powstanie.
Dla zainteresowanych to tutaj są opisane struktury:
https://github.com/SUPLA/supla-core/blo ... on/proto.h
A tutaj funkcje wykorzystywane do komunikacji (srpc_dcs_async_*):
https://github.com/SUPLA/supla-core/blo ... mon/srpc.h
Dla zainteresowanych to tutaj są opisane struktury:
https://github.com/SUPLA/supla-core/blo ... on/proto.h
A tutaj funkcje wykorzystywane do komunikacji (srpc_dcs_async_*):
https://github.com/SUPLA/supla-core/blo ... mon/srpc.h
Nadal tylko źródła
Jest jeden "stary" opis:
https://github.com/SUPLA/supla-core/blo ... l-works.md
Da to ogólny pogląd na to co się dzieje.
W SuplaDevice są też domyślnie włączone logi zawierające całą komunikację (jako ciąg bajtów reprezentowanych przez hexy).
Na podstawie tych danych można próbować ogarnąć protokół.
Opis wszystkich typów wiadomości oraz przesyłanych struktur jest w proto.h, do którego wcześniej pzygmunt dał link.
https://github.com/SUPLA/supla-core/blo ... l-works.md
Da to ogólny pogląd na to co się dzieje.
W SuplaDevice są też domyślnie włączone logi zawierające całą komunikację (jako ciąg bajtów reprezentowanych przez hexy).
Na podstawie tych danych można próbować ogarnąć protokół.
Opis wszystkich typów wiadomości oraz przesyłanych struktur jest w proto.h, do którego wcześniej pzygmunt dał link.
Widzimy się na Supla Offline Party vol. 2
To "how protocol works" znalazłem prędzej, ale trzeba mieć sporo poczucia humoru, żeby to nazwać dokumentacją.
No ale lepsze to niż nic.
No ale lepsze to niż nic.
Co masz na myśli pisząc SuplaDevice? Jestem w tym świecie nowy, dostałem zlecenie zobaczyć czy się da protokół supli ogarnąć i szukam wszelkich informacji.W SuplaDevice są też domyślnie
SuplaDevice to biblioteka dla urządzeń wykonawczych w Arduino IDE. Możesz ją zainstalować bezpośrednio z managera bibliotek w Arduino IDE. Jest tam klika przykładów aplikacji na Arduino Mega, ESP82xx, ESP32 (większość przykładów działa na każdej z tych platform).
Jak wgrasz i odpalisz przykład, to w logach na serialu będzie widać wszystkie wymieniane wiadomości.
Z grubsza jest to:
1. Rejestracja urządzenia na serwerze + potwierdzenie rejestracji przez serwer
2. Ustawienie "activity timeout" + odpowiedź
3. Następnie urządzenie wysyła aktualizację stanu kanałów (cyklicznie lub po ich zmianie)
4. W tym samym czasie urządzenie może dostawać wiadomości z serwera modyfikujące np. stan przekaźnika
5. Poza tym co ~30 s lecą wewnętrzne pingi.
Widzimy się na Supla Offline Party vol. 2
Mów mi jeszcze
Nie mam bladego pojęcia o Arduino, nigdy nie widziałem ich IDE, nie jestem elektronikiem ani embedded developerem...
Jestem programistą od strony serwera, chciałbym umieć przyjąć połączenie TCP/IP od urządzenia działającego z firmwarem supli i z nim pogadać.
Czyli bardziej interesuje mnie strona serwera a nie klienta, choć protokół obejmuje obie strony, dlatego pytam o protokół.
Nie mam bladego pojęcia o Arduino, nigdy nie widziałem ich IDE, nie jestem elektronikiem ani embedded developerem...
Jestem programistą od strony serwera, chciałbym umieć przyjąć połączenie TCP/IP od urządzenia działającego z firmwarem supli i z nim pogadać.
Czyli bardziej interesuje mnie strona serwera a nie klienta, choć protokół obejmuje obie strony, dlatego pytam o protokół.