FOTA

User avatar
lesny8
Posts: 796
Joined: Mon Dec 11, 2017 9:43 pm

Mon Nov 19, 2018 5:55 pm

Z logu na bazie widać, że moduł próbował zrobić aktualizację, zapisał czas, swoje id i parametry z jakimi szukał
Być może, wgrałeś wersje do modułu z innym kluczem i nie przechodzi walidacji, albo w ogóle nie pobiera pliku, jeśli dioda nie mruga, bo nie znajduje wpisu, albo ma problem z rozwiązaniem nazwy.
Musisz sprawdzić wszystko dwa razy. Sprawdź wygenerowane klucze, czy czasem sobie nie nadpisałeś. Sprawdź rsa_public_key_bytes.

Najlepiej to zacznij od nowa.
Przejrzyj plik supla_update.c i zdejmij komentarz z każdego supla_log, możesz również wewnątrz każdej funkcji dodać własny log. Zapisz zmiany, skompiluj i wgraj do modułu, uruchom terminal i nasłuchuj.
Aha i wersja w supla_esp.h ma być "2.7.2". W tabeli esp_update będzie "2.7.3".

Skompiluj user1 i user2, podpisz kluczem z właściwej pary i wyślij na serwer www.

Zaloguj się do modułu w trybie konfiguracyjnym przestaw FirmwareUpdate=YES i zapisz. 1x Cfg lub restart modułu.
Obserwuj co się będzie pojawiało w terminalu, jakie logi dostaniesz, na pewno się wyjaśni.
kris.sg
Posts: 110
Joined: Mon Aug 07, 2017 8:08 pm
Location: Przezchlebie

Tue Nov 20, 2018 10:43 am

Dzięki @lesny8 za pomoc już fota pięknie działa
problemem była literówka :)
w bazie w pozycji device_name miałem wpis "gniazdko_neo", a moduł miał nazwę "gniazdko neo"

pozdrawiam
Krzysiek
Esteta
Posts: 15
Joined: Wed Oct 24, 2018 9:32 pm

Thu May 16, 2019 2:45 pm

Cześć,

może to głupie pytanie, ale czy plik "user1" wgrywamy po kablu podpisany czy nie (czy obojętne ) ?
Rozumiem, że w celu aktualizacji kompilujemy i wrzucamy na www ob podpisane pliki?

Coś nie mogę tego ogarnąć :(
User avatar
lesny8
Posts: 796
Joined: Mon Dec 11, 2017 9:43 pm

Thu May 16, 2019 5:07 pm

Tak. Do modułu po kablu wygrywamy nie podpisany user1.

Tak. Na www wypychamy oba podpisane pliki.
Esteta
Posts: 15
Joined: Wed Oct 24, 2018 9:32 pm

Wed Sep 25, 2019 6:33 am

Czy na bazie robimy coś jeszcze?
Gdyby nie było, ja już miałem

Code: Select all

DELIMITER $$
--
-- Procedures
--
DROP PROCEDURE IF EXISTS `supla_get_device_firmware_url`$$
CREATE DEFINER=`root`@`localhost` PROCEDURE `supla_get_device_firmware_url` (IN `device_id` INT, IN `platform` TINYINT, IN `fparam1` INT, IN `fparam2` INT, IN `fparam3` INT, IN `fparam4` INT, OUT `protocols` TINYINT, OUT `host` VARCHAR(100), OUT `port` INT, OUT `path` VARCHAR(100)) NO SQL
BEGIN

SET @protocols = 0;
SET @host = '';
SET @port = 0;
SET @path = '';

SET @fparam1 = fparam1;
SET @fparam2 = fparam2;
Chyba niestety nie ogarniam, jak sprawdzić czy to mam i tym bardziej jak to dodać :oops:
User avatar
lesny8
Posts: 796
Joined: Mon Dec 11, 2017 9:43 pm

Wed Sep 25, 2019 9:31 pm

Zaloguj się do RPi po SSH i kopiuj-wklej

Code: Select all

source supla-docker/.env
docker exec supla-db mysql -u supla --password=$DB_PASSWORD supla -e "show procedure status where name='supla_get_device_firmware_url'"
Esteta
Posts: 15
Joined: Wed Oct 24, 2018 9:32 pm

Thu Sep 26, 2019 7:29 am

Db Name Type Definer Modified Created Security_type Comment character_set_client collation_connection Database Collation
supla supla_get_device_firmware_url PROCEDURE supla@% 2019-05-07 06:58:45 2019-05-07 06:58:45 DEFINER utf8 utf8_general_ci latin1_swedish_ci
User avatar
lesny8
Posts: 796
Joined: Mon Dec 11, 2017 9:43 pm

Thu Sep 26, 2019 9:56 am

Czyli jest :D
To z czym masz problem?
Esteta
Posts: 15
Joined: Wed Oct 24, 2018 9:32 pm

Thu Sep 26, 2019 10:05 am

Problemu nie mam.
Nie wiedziałem tylko, jak to sprawdzić i ewentualnie dodać.
Nie ogarniam trochę operacji na tej bazie :(
Dzięki za pomoc :)
Post Reply