S20 Smart Socket kompilacja v2.0.2

Awatar użytkownika
julekjulek
Posty: 36
Rejestracja: śr kwie 12, 2017 9:26 am

Witam,

sprzęt S20 Smart Socket taki jak w tym linku
po wgraniu tego SUPLA/ESP8266/tree/master/sonoff_socket oprogramowania Smart Socket współpracuje z supla prawidłowo.

Chciałem zaprogramować Smart Socket nową wersją oprogramowania v2.0.2.
Skompilowałem "./build.sh sonoff_socket".
Kompilacja przebiegła bez błędów (w wyniku podane adresy do zaprogramowania).

Po zaprogramowaniu sprzęt jednak "nie wstaje".
Pytanie 1 - czy przy wgrywaniu skompilowanej nowej wersji v2.0.2 trzeba jeszcze dodatkowo wgrać jakiś inny plik np. esp_init_data_default.bin ?

Pytanie 2 - proszę o podpowiedź co trzeba zmienić, dodać w plikach źródłowych aby do Smart Socket przy kompilacji dodać obsługę czujnika temperatury ds18b20.
Wydaje mi się, że trzeba zmienić pliki sonoff_socket.h i sonoff_socket.c (katalog supla-espressif-esp/src/include/board/) dodając fragmenty takie jak np. w sonoff.h

Kod: Zaznacz cały

#ifdef __BOARD_sonoff_ds18b20
	#define DS18B20
	#define TEMPERATURE_CHANNEL 1

    // Sonoff TH (v1)
	//#define W1_GPIO3

    // Sonoff TH (v2)
    #define W1_GPIO14
w powyższym code zmieniając oczywiście
#ifdef __BOARD_sonoff_ds18b20
na
#ifdef __BOARD_sonoff_socket_ds18b20
oraz dodając odpowiednie fragmenty dla sonoff_socket_ds18b20 w build.sh.

Będę wdzięczny za pomoc i wyjaśnienia.

Pozdrawiam,
julek
Wszystko jest możliwe, ale na wszystko jest potrzebny czas ;)
Awatar użytkownika
slawek
Posty: 2465
Rejestracja: pn mar 14, 2016 11:48 pm
Lokalizacja: Biała Podlaska

Jeśli pinologia jest taka sama jak w sonoffie to masz tu soft z czujnikiem do wyboru - DS18B20 lub DHT22 - oczywiście jeden z nich do wyboru, po podłączasz je pod ten sam pin.(piąty dla sonoffa).
Czujnik nieużywany wyłączasz w cloud.
Załączniki
SONOFF_DHT_DS.rar
(225.61 KiB) Pobrany 263 razy
TEORIA jest wtedy gdy wszystko wiemy i nic nie działa
PRAKTYKA jest wtedy gdy wszystko działa a my nie wiemy dlaczego
My łączymy teorię z praktyką czyli nic nie działa i nikt nie wie dlaczego
Awatar użytkownika
julekjulek
Posty: 36
Rejestracja: śr kwie 12, 2017 9:26 am

Dzięki za odpowiedź.

W Twoim załączniku SONOFF_DHT_DS.rar nie ma informacji o parametrach wgrywania plików (adresy, SPI mode,...).
Czy parametry do wgrania mają tak wyglądać ?

Kod: Zaznacz cały

boot_v1.5.bin--------->0x00000
sonoff_ds_dht_user1.1024.new.2.bin---->0x01000
esp_init_data_default.bin---->0xfc000

BAUDRATE: 115200
Flash Size: 1MByte
Flash speed: 40Mhz
SPI Mode: DIO
Pinologia jest podobna jak w sonoff (schemat w załączniku) jednak nie ma "piątego pinu sonoff".
Aby użyć w/w piąty pin (GPIO14/MTMS) musiałbym wlutować połączenie bezpośrednio do 9 nóżki esp8266.
Dla S20 Smart Socket lepszym rozwiązaniem dla podłączenia czujnika temperatury powinno być użycie GPIO3/RX.
Wygląda na to, że do tego urządzenia można wgrywać oprogramowanie przeznaczone dla normalnego sonoff.

@slawek czy możesz dać jakąś podpowiedź do pytania nr 2.

Pozdrawiam,
julek
Załączniki
S20_EU.SCH.pdf
(68.33 KiB) Pobrany 293 razy
Wszystko jest możliwe, ale na wszystko jest potrzebny czas ;)
Awatar użytkownika
slawek
Posty: 2465
Rejestracja: pn mar 14, 2016 11:48 pm
Lokalizacja: Biała Podlaska

Parametry OK, a pinologię muszę przekompilowac, ale dziś jestem na wyjeździe...
Poszukaj w dobrach @Zybiego - na pewno jest
TEORIA jest wtedy gdy wszystko wiemy i nic nie działa
PRAKTYKA jest wtedy gdy wszystko działa a my nie wiemy dlaczego
My łączymy teorię z praktyką czyli nic nie działa i nikt nie wie dlaczego
Awatar użytkownika
julekjulek
Posty: 36
Rejestracja: śr kwie 12, 2017 9:26 am

Wgrałem pliki z https://github.com/SUPLA/ESP8266/tree/master/sonoff wg readme

Kod: Zaznacz cały

SUPLA FOR ITEAD SONOFF WiFi Smart Switch + DS18B20
v2.0

boot_v1.5.bin--------->0x00000
sonoff_ds18b20_user1.1024.new.2.bin---->0x01000

RX (GPIO3) - OneWire DAT

BAUDRATE: 115200
Flash Size: 1MByte
Flash speed: 40Mhz
SPI Mode: DIO
Wygląda, że wszystko jest OK (nie sprawdziłem tylko fizycznie odczytów z DS18B20 ponieważ nie przyszły mi jeszcze zamówione elementy).

-----------------------------------------------------------------------

Co do samodzielnej kompilacji, to są jakieś "jaja" ;(
Źródła są aktualne

Kod: Zaznacz cały

supla@supla-iotsdk:~/Devel/supla-espressif-esp$ git pull
Already up-to-date.
Kompilacja np. dla sonoff_ds18b20 daje bezbłędny wynik

Kod: Zaznacz cały

supla@supla-iotsdk:~/Devel/supla-espressif-esp/src$ ./build.sh sonoff_ds18b20
make -C user clean;  make -C driver clean;  make -C supla-dev clean;
make[1]: Wejście do katalogu '/home/supla/Devel/supla-espressif-esp/src/user'
rm -f -r .output/eagle/debug
...
...
!!!
-1594148709
1594148708
Support boot_v1.2 and +
Generate user1.1024.new.2.bin successully in folder bin/upgrade.
boot.bin------------>0x00000
user1.1024.new.2.bin--->0x01000
!!!
supla@supla-iotsdk:~/Devel/supla-espressif-esp/src$ 
Pliki wynikowe z kompilacji to

Kod: Zaznacz cały

supla@supla-iotsdk:~/Desktop/ESP8266-Firmware$ ls -lt
razem 6920
-rw-r--r-- 1 supla supla   1936 maj 14 18:02 boot_v1.2.bin
-rw-r--r-- 1 supla supla 327460 maj 14 18:02 sonoff_ds18b20_user1.1024.new.2.bin
...
Firmware wgrane do modułu z plikiem boot_v1.2.bin "nie wstaje"

Po użyciu boot_v1.5.bin moduł uruchamia się ale jako h801 !!! (wcześniej kompilowałem h801).
Obydwa pliki wynikowe z 2 prób kompilacji sonoff_ds18b20 i h801 są identyczne.

Czy w aktualnych źródłach jest jakiś błąd ?
Jeśli nie ma błędu w źródłach to nie mam pojęcia w jaki sposób wychodzą prawidłowe pliki wynikowe u innych.

Pozdrawiam i proszę o dalszą pomoc,
julek
Wszystko jest możliwe, ale na wszystko jest potrzebny czas ;)
Awatar użytkownika
slawek
Posty: 2465
Rejestracja: pn mar 14, 2016 11:48 pm
Lokalizacja: Biała Podlaska

W IOT SDK 64- bitowych był błąd.
Być może pobrałeś tą wersję.
zobacz tu:viewtopic.php?f=11&t=2010#p8995
TEORIA jest wtedy gdy wszystko wiemy i nic nie działa
PRAKTYKA jest wtedy gdy wszystko działa a my nie wiemy dlaczego
My łączymy teorię z praktyką czyli nic nie działa i nikt nie wie dlaczego
vcompl
Posty: 158
Rejestracja: pn kwie 11, 2016 1:32 pm

No właśnie przechodziłem tą samą flustrację co kolega 'julekjulek' ;)

Slawek - w wątku , który podałeś na końcu jest Twój wpis, że na maszynie 64bit nadal nie działa kompilacja (kompiluje do jednej wersji płytki).

Masz na to już rozwiązanie, która maszyna Dev ma poprawną konfigurację. Jak przenieść poprawną konfigurację na maszynę 64bit?
Awatar użytkownika
slawek
Posty: 2465
Rejestracja: pn mar 14, 2016 11:48 pm
Lokalizacja: Biała Podlaska

Moją maszynę wtedy Przemek naprawił zdalnie, miałem problem z własnymi kompilacjami, ale też dostosowałem, potem pobrałem nową z repozytorium...i było źle
TEORIA jest wtedy gdy wszystko wiemy i nic nie działa
PRAKTYKA jest wtedy gdy wszystko działa a my nie wiemy dlaczego
My łączymy teorię z praktyką czyli nic nie działa i nikt nie wie dlaczego
Awatar użytkownika
slawek
Posty: 2465
Rejestracja: pn mar 14, 2016 11:48 pm
Lokalizacja: Biała Podlaska

Pobiorę jeszcze raz i sprawdzę...
TEORIA jest wtedy gdy wszystko wiemy i nic nie działa
PRAKTYKA jest wtedy gdy wszystko działa a my nie wiemy dlaczego
My łączymy teorię z praktyką czyli nic nie działa i nikt nie wie dlaczego
Awatar użytkownika
julekjulek
Posty: 36
Rejestracja: śr kwie 12, 2017 9:26 am

slawek pisze: pn maja 15, 2017 10:12 pm Pobiorę jeszcze raz i sprawdzę...
Pobrałem z 1 wypowiedzi z wątku, który podałeś.
Myślałem, że linki wskazują najnowszą wersję.
Niestety po uruchomieniu wirtualki okazało się, że to "stare" źródła.
Trochę czasu straciłem ;(

Proszę o wskazanie właściwego pliku maszyny wirtualnej 64bit

ps.
we wskazanym wątku @pzygmunt napisał
Obraz VM dla maszyny x64 ma bug-a w Makefile-u.
Jutro wrzucę poprawną wersję.
Myślałem, że mowa o jakimś jednym niepoprawnym pliku Makefile i jak uaktualnię źródła to ten plik "naprawi się" bez potrzeby ściągania i instalowania na nowo wirtualnej maszyny.
Dlatego byłem zdziwiony, że bez względu na wybór płytki kompiluje się jedna (chyba ta, która była kompilowana jako pierwsza).
Wszystko jest możliwe, ale na wszystko jest potrzebny czas ;)
ODPOWIEDZ

Wróć do „Ogólna dyskusja”