supla-device 22.12.01

User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

petione wrote: Wed Jan 11, 2023 7:03 am Wszystko pięknie działa, dzięki wielkie:)
Jest jakaś szansa na dodanie OTA lub pomoc w zaimplementowaniu tej funkcjonalności do kodu? :roll:
Kiedyś na pewno dodam, ale nie spodziewałbym się tego bardzo szybko.

Pomóc też raczej nie pomogę, bo nie robiłem nigdy OTA na bazie Arduino, więc taka pomoc by pewnie zajęła niewiele mniej czasu niż samodzielne sprawdzenie tematu i zaimplementowanie OTA.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
kris.sg
Posts: 482
Joined: Mon Aug 07, 2017 8:08 pm
Location: Przezchlebie
Has thanked: 1 time
Been thanked: 1 time

Post

@klew mam pytanie, co z RTOS czy będzie zaimplementowana OTA jak w NONOS ?
■Rpi4(m.2) Supla Cloud, Scripts ■Rpi3(sd) SD: 6x MI ATC, 1x W.S.
ROLETY_V3 x12 ■SWITCH_DUAL x4 ■GATE_MODULE_V3 x1 ■SOCKET_SSR x1 ■SMOKE_MODULE x1
SONOFF_TOUCH x4 ■YUNSCHAN x1 ■STAITCASE_DIMMER x1 ■MEW-01 x2 ■mROW-02 x1 ■LEW-01 x1
POW_R2 x2 ■SP111 x3
User avatar
klimasstudio
Posts: 1273
Joined: Wed Aug 28, 2019 9:35 pm
Location: localhost

Post

Jeżeli WebSerwer można włączyć virtualrelayem...

W GUI pokazywać można by lokalny IP I dać guzik wlacz/wyłącz WebSerwer "Stronę Konfiguracyjna"

:?:
Więc chodź OSUPLUJE Ci dom :mrgreen:

Druk 3D - > https://klimastech.eu.org/druk-3d
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

kris.sg wrote: Wed Jan 11, 2023 8:08 am @klew mam pytanie, co z RTOS czy będzie zaimplementowana OTA jak w NONOS ?
Biblioteka w wersji dla ESP8266 na Arduino jest oparta o NONOS, bo tak są zrobione boardy do ESP8266 na Arduino.

Natomiast jeśli chcesz zainstalować ESP8266 RTOS, to też możesz użyć z supla-device, ale wtedy już bez Arduino. Tam jest dodane OTA, ale to jest w zasadzie tylko dla komercyjnych urządzeń, bo wymaga aby binarki były podpisane RSA i wgrywane na serwer updates.supla.org.

Oczywiście nic nie stoi na przeszkodzie, aby zrobić własną implementację serwera updateów podobną do tą z updates i ustawić inny URL w sofcie na urządzeniach. Tylko wtedy musiałbyś gdzieś ten serwer utrzymywać.
Urządzenie w zasadzie odpytuje serwer updateów na jednym konkretnym URL i wysyła swoje parametry identyfikacyjne (nazwa, producent, jakieś id, mail potraktowany hashem itp.) i oczekuje otrzymania w odpowiedzi jsona ze statusem oraz ewentualnym url do pobrania binarki. Binarki i soft na urządzeniu muszą być też podpisane RSA. Gdzieś na forum była dokładna instrukcja jak to zrobić.

Dla celów DIY raczej myślałem o możliwości uploadu pliku bezpośrednio przez formularz na stronie konfiguracyjnej.
Najlepsze suple dla Twojego domu :mrgreen:
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

klimasstudio wrote: Wed Jan 11, 2023 8:14 am Jeżeli WebSerwer można włączyć virtualrelayem...

W GUI pokazywać można by lokalny IP I dać guzik wlacz/wyłącz WebSerwer "Stronę Konfiguracyjna"

:?:
Planujemy rozbudować możliwość konfiguracji urządzenia/kanałów z poziomu clouda i apek na telefony, więc raczej w tą stronę będzie temat konfiguracji urządzeń szedł.

Oczywiście takiej rozbudowanej konfiguracji, jak np. w GG, raczej nikt nie będzie robił na Cloud czy w apkach. Raczej konfiguracja podstawowych i wspólnym między urządzenami parametrów.
Najlepsze suple dla Twojego domu :mrgreen:
petione
Posts: 121
Joined: Sat Jul 21, 2018 4:26 pm

Post

klew wrote: Wed Jan 11, 2023 7:07 am
petione wrote: Wed Jan 11, 2023 7:03 am Wszystko pięknie działa, dzięki wielkie:)
Jest jakaś szansa na dodanie OTA lub pomoc w zaimplementowaniu tej funkcjonalności do kodu? :roll:
Kiedyś na pewno dodam, ale nie spodziewałbym się tego bardzo szybko.

Pomóc też raczej nie pomogę, bo nie robiłem nigdy OTA na bazie Arduino, więc taka pomoc by pewnie zajęła niewiele mniej czasu niż samodzielne sprawdzenie tematu i zaimplementowanie OTA.
Wracając do tematu OTA bo pomału wgryzam się w temat, narazie prosta aktualizacja bezpośrednio z PIO..
Za pomocą jakiego polecenia można odczytać do zmiennej zapisane wcześniej w Webconfig nazwę sieci do której podłączony jest moduł, hasło tej sieci oraz jego IP?
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

petione wrote: Fri Jan 13, 2023 9:15 am
Wracając do tematu OTA bo pomału wgryzam się w temat, narazie prosta aktualizacja bezpośrednio z PIO..
Za pomocą jakiego polecenia można odczytać do zmiennej zapisane wcześniej w Webconfig nazwę sieci do której podłączony jest moduł, hasło tej sieci oraz jego IP?
Co to "PIO"?

Tu jest odczyt zapisanego SSID: https://github.com/SUPLA/supla-device/b ... e.cpp#L607

A kilka linijek niżej jest odczyt hasła do WiFi.

Adres IP nie jest nigdzie zapisywany. Go można odczytać mając aktywne połączenie Wi-Fi w taki sposób:
https://github.com/SUPLA/supla-device/b ... ifi.h#L147
Najlepsze suple dla Twojego domu :mrgreen:
petione
Posts: 121
Joined: Sat Jul 21, 2018 4:26 pm

Post

PIO czyli VSC z nakładką PlatformIO sorki taki skrót myślowy.
Orientujesz się może jeszcze jak w pliku konfiguracyjnym platformio.ini dodać zmienną, której zawartość można zmienić w kodzie w dowolnym pliku?
Chodzi mi tu o adres w upload_port, tak aby nie trzeba go było przypisywać na sztywno tylko w nawiązaniu do postu wyżej działo by się to automatycznie.

Code: Select all

[env:d1_mini_ota]
extends = env:d1_mini
upload_protocol = espota
upload_port = 192.168.1.111
User avatar
klew
Posts: 13907
Joined: Thu Jun 27, 2019 12:16 pm
Location: Wrocław
Has thanked: 134 times
Been thanked: 137 times

Post

petione wrote: Fri Jan 13, 2023 9:32 am PIO czyli VSC z nakładką PlatformIO sorki taki skrót myślowy.
Orientujesz się może jeszcze jak w pliku konfiguracyjnym platformio.ini dodać zmienną, której zawartość można zmienić w kodzie w dowolnym pliku?
Chodzi mi tu o adres w upload_port, tak aby nie trzeba go było przypisywać na sztywno tylko w nawiązaniu do postu wyżej działo by się to automatycznie.

Code: Select all

[env:d1_mini_ota]
extends = env:d1_mini
upload_protocol = espota
upload_port = 192.168.1.111
Niestety nigdy nie używałem PIO :)
Najlepsze suple dla Twojego domu :mrgreen:

Return to “supla-dev”