Sonoff - WiFi Wireless Smart Switch/Arduino IDE

ESP8266, ESP32 chipek és az ESP-xx modulok. Programozási nyelvek, trükkök, hardware tippek.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10191
Csatlakozott: 2005. december 9. péntek, 7:00

Re: Sonoff - WiFi Wireless Smart Switch/Arduino IDE

Hozzászólás Szerző: Robert »

- bootkor látod az üzenetsort?
- tx/rx nincs felcserélve?
- belépsz a bootfeltöltéses programba?
effect
Újonc
Újonc
Hozzászólások: 12
Csatlakozott: 2016. május 7. szombat, 21:34

Re: Sonoff - WiFi Wireless Smart Switch/Arduino IDE

Hozzászólás Szerző: effect »

- bootkor látod az üzenetsort?
A soros porton? Nem mindig, kb. 10ből 1x

- tx/rx nincs felcserélve?
Már próbáltam fordítva is, de 10x ellenőriztem TX-->RX és RX-->TX.

- belépsz a bootfeltöltéses programba?
Az meg mi? Van valami másik progi is?!

Én az Arduino IDE-ből, az alábbit használom:
Generic ESP8266 module
Flash Mode: QIO
Flash Frequency: 40MHz
CPU Frequency: 80MHz
Flash Size: 1M (64K SPIFFS)
Debug Port: Disabled
Debug Level: None
Reset Method: ck
Upload Speed: 115200
Programozó: USBAsp
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Sonoff - WiFi Wireless Smart Switch/Arduino IDE

Hozzászólás Szerző: SanyiSay »

Kicsit elmegyek családlátogatásra egyből pezseg az élet. :)
effect:
A kódot amit rátöltöttél majd el tudod küldeni?
Nem tudom pont mire gondolsz, az egész lakás vezérlési projektre vagy annak részleteire vagy írjak egy ledvillogtatót?
Én egyébként régebben a sima NodeMCU Firmware-t töltöttem fel ha hiba volt as rendszerben. Azzal tesztelgettem hogy megy e a feltöltés.

Aztán rászoktam a rendes tápellátásra.
Sajnos azzal a hibával nem tudunk szerintem mit kezdeni hogy 10 ből 1x.
Soros porton a legrosszabb esetben is stabilan jön a boot üzenet.
Elég csak egyszer megfordítani, ha elrontotta a sorrendet az ember.

Kapcsoló nyomogatásra kapcsol a relé az megint nem szuper.
Ha saját hálózati tápellátását adod neki akkor is ezt teszi a relével?

Kicsit gyorsan szétszedtem egyet én is. NodeMCU modul amiből kivettem az ESP12-t az kevés neki. Hol van hol nincs jel. Mondjuk nálam többször van mint nincs.
Most adtam neki külső tápot + FTDI azzal hozza stabilan a soros port boot feliratot. 74880 baud-al.
Avatar
csabeszq
Bitfaragó
Hozzászólások: 678
Csatlakozott: 2012. szeptember 5. szerda, 6:00

Re: Sonoff - WiFi Wireless Smart Switch/Arduino IDE

Hozzászólás Szerző: csabeszq »

Robert írta:ESP-01 + relé + doboz + táp :)

A WiFi Flash kicsi:(
Nem megy így az OTA....
Az ESP memória kiosztását érdemes megnézni.
0x40200000 - 0x40300000 SPI flash cache

Szóval amikor a flash 2-es címét megcímzed, akkor úgy csinálod, hogy kiolvasod a 0x40200002 tárhelyet, a processzor meg megadja, hogy mi van a flash-ben. Így tudsz kódot is futtatni a flash-ben, olyan mintha a RAM memóriában menne (a flash lassú, ezért bizonyos függvények (strlen, memcpy, malloc) a RAM-ból futnak, max 32k).

A mérnök embereknek azonban valami szöget üt a fejébe: 0x40200000 - 0x40300000 az pontosan 1 MByte-ot FED le.

Mi van, ha 4 MByte-os flash-em van? Az hová lapolódik a 32 bites címtartományban?

A rossz hír az, hogy sehova. A processzor nem tud az 1 MByte fölötti részeken kódot futtatni. Az SDK lehetővé teszi, hogy SPI flash olvasással lásd az 1-4MByte közötti részeket, de ez sem programkódot nem tud futtatni, sem cache nincs rajta. Kizárólag adatokat tudsz ott tárolni, lényegesen nem különbözik az Atmel EEPROM-jától.

Annyit lehet még cselezni, hogy kiválaszthatja a kód, melyik szelet kerüljön a 0x40200000 címre (1MB+1MB OTA lehetséges).

Magyarul: az 512-es modulon az OTA 256k + 256k részre oszlik (nem minden kód fér bele), az 1 MByte-os pedig maximálisan kihasználja a memóriát.
effect
Újonc
Újonc
Hozzászólások: 12
Csatlakozott: 2016. május 7. szombat, 21:34

Re: Sonoff - WiFi Wireless Smart Switch/Arduino IDE

Hozzászólás Szerző: effect »

SanyiSay írta: Nem tudom pont mire gondolsz, az egész lakás vezérlési projektre vagy annak részleteire vagy írjak egy ledvillogtatót?
Igazából én raspberry-n futatott webes felületről akarnám kapcsolgatni a sonoff-ot. Ha van valami hasonló kódod, akkor megköszönném. Én erre gondoltam
SanyiSay írta:Most adtam neki külső tápot + FTDI azzal hozza stabilan a soros port boot feliratot. 74880 baud-al.
74880 baudon egyből hozza nekem is 10-ből 10x, de eddig 115200-on volt. Ott nem nagyon ment...

SanyiSay írta:Kapcsoló nyomogatásra kapcsol a relé az megint nem szuper.
Ha saját hálózati tápellátását adod neki akkor is ezt teszi a relével?
Igen, mert még a gyári kód van benne. 1 nyomásra kapcsolja a relét, 5mp nyomva tartásra pedig wifire csatlakozna. Szóval teljesen a gyári kód fut még rajta, mert még a saját mobil appjával is tudom kapcsolgatni, úgy hogy csak a 3.3V van rajta. Szóval az nem gondolnám hogy probléma lenne, mert legalább még nem sütöttem meg a chipet.:)

Lehet hogy a "Programozó":USBasp nem lesz jó?!
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Sonoff - WiFi Wireless Smart Switch/Arduino IDE

Hozzászólás Szerző: SanyiSay »

Effect:
Nem annyira egyszerű, a kód átadás. Egyrészt több állományból áll, másrészt erősen hobbi szinten űzöm és meglepően bagatel hibákkal van tele néha. Mondjuk javítgatom, már egész tűrhető. Pár nap múlva lesz mikor felteszem a falra a kezelő konzolt, egy tabot és akkor már a család is használja a rendszert. Na az lesz az igazi teszt, addigra mindennek egyszerűnek és stabilnak kell lennie.Hetek óta használom ezeket de a minap 5 ből 1 nem csatlakozott a hálózatra. Gőzöm nincs mi volt a baja, reset megoldotta. Ez a legrosszabb, és azóta sem hibázott.
Ha átadom az egész kódot akkor vagy kell egy szép nagy magyarázó szöveg mellé, vagy neked kell végigbogarászni több száz sort, és értelmezni az én elgondolásom.
Valamint Eclipse azért picit más és nem lehet egy az egyben áttenni.
Inkább egyes részek és megoldások átadását részesítem előnybe aztán mindenki úgy is másképp oldja meg az egészet.
Pld. én inkább fájlrendszert használok adattárolásra ESP-n belül de, azon gondolkodom hogy áttérek helyette az eeprom formára, mert bár mindkettő a flash területre ír de talán az eeprom módszer kevesebb memóriát fogyaszt.
Efféle dolgokra gondolok mikor azt mondom hogy mindenki saját szájíze szerint oldja meg.
Tulajdonképp minden kis részre megvan már a mintakód ami kell hozzá csak össze kell fésülni.
Másrészt ha mégis átnézed legalább kijavítod a hibáim, mert egyébként nem titkos. :)

Fejlesztéshez mondjuk jobb egy, két NodeMCU panel szerintem.
Aztán ha azon minden ok akkor szoktam csak feltölteni a kész egységre. Tartok attól, hogy ha hibás kódot töltök egy beépített egységre akkor oda lehet az OTA és akkor szedhetem szét. Szóval előtte feltétlen tesztelés van.

Programozónak mindegy mit választasz ki. Azt nem veszi figyelembe. Nálam az a sor nincs is, de már Arduino IDE alatt sem volt, kivettem mert csak zavart.
Gombot nézted hogy GPIO 0 ?
Soroson normál boot 74880-on
ets Jan 8 2013,rst cause:4, boot mode:(3,7)
vagy
ets Jan 8 2013,rst cause:4, boot mode:(3,6)

Flash módban aminek lennie kellene,
ets Jan 8 2013,rst cause:4, boot mode:(1,7)
Csak ilyenkor tudod feltölteni a kódot.
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Sonoff - WiFi Wireless Smart Switch/Arduino IDE

Hozzászólás Szerző: SanyiSay »

csabeszq:
Érik itt egy jó kis memória értelmező cikk. :)
effect
Újonc
Újonc
Hozzászólások: 12
Csatlakozott: 2016. május 7. szombat, 21:34

Re: Sonoff - WiFi Wireless Smart Switch/Arduino IDE

Hozzászólás Szerző: effect »

SanyiSay:
Igen, nekem csak egy blokkra van szükségem, hogy megoldjam a web felületes kapcsolgatást, aztán a többit megoldom én.

GPI0-t (gombot nyomva tartva) is próbáltam feltolni rá a kódot, de semmi:(
Nálam ez van:
ets Jan 8 2013,rst cause:1, boot mode:(3,7)
ill. ez:
ets Jan 8 2013,rst cause:1, boot mode:(3,6

Ezt úgy tudtam kicsiholni, hogy nyomva tartottam a gombot bekapcsoláskor:
ets Jan 8 2013,rst cause:1, boot mode:(1,7)

Nyomva tartom a gombot, ha nem tartom ezeket a hibákat dobja:
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_send_command: wrong direction/command: 0x00 0x08, expected 0x01 0x08
warning: espcomm_sync failed
error: espcomm_open failed
error: espcomm_upload_mem failed

Ezt is szokta néha:


error: Failed to open COM4
error: espcomm_open failed
error: espcomm_upload_mem failed
processing.app.SerialException: Error opening serial port 'COM4'.
at processing.app.Serial.<init>(Serial.java:125)
at processing.app.Serial.<init>(Serial.java:66)
at processing.app.SerialMonitor$3.<init>(SerialMonitor.java:93)
at processing.app.SerialMonitor.open(SerialMonitor.java:93)
at processing.app.AbstractMonitor.resume(AbstractMonitor.java:110)
at processing.app.Editor.resumeOrCloseSerialMonitor(Editor.java:2430)
at processing.app.Editor.access$2900(Editor.java:89)
at processing.app.Editor$DefaultExportHandler.run(Editor.java:2408)
at java.lang.Thread.run(Thread.java:745)
Caused by: jssc.SerialPortException: Port name - COM4; Method name - openPort(); Exception type - Port busy.
at jssc.SerialPort.openPort(SerialPort.java:164)
at processing.app.Serial.<init>(Serial.java:114)
... 8 more
Error opening serial port 'COM4'.
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Sonoff - WiFi Wireless Smart Switch/Arduino IDE

Hozzászólás Szerző: SanyiSay »

Csak egy blokkra van szükséged. :D
Hasonló cipőben járunk, én is csak egy vezérelhető kapcsolót szerettem volna. Nekem ez a "csak egy blokk" már vagy 6 hónapja készül. 8O
Szerintem tegyél fel raspberry-re egy mosquitto szervert az lesz a MQTT brokered és onnantól kezdve azon keresztül tudsz a Sonoff-oddal kommunikálni, így ahogy küldték.
Jól kiforrott szabvány, rengeteg lehetőséggel. Ezt az irányt még nem próbáltam de szemezgetek vele.
Elvileg kényelmesebb és gyorsabb mint felprogramozni előröl az ESP-t.
Ha letörlöd ami most rajta van akkor egy olyan tanulásba kezdesz bele mint amikor Arduinot tanul az ember.
Szokásos alapok, írsz egy ledvillogót, persze előtte megtanulod mi kell feltétlen ahhoz hogy egy ESP-re feltöltődjön a program amit szeretnél.
Aztán megtanulod hogy csatlakozz a hálózatra, megírod az ehhez szükséges weboldalt amin ezt majd be is tudod állítani.
Kitapasztalod milyen libeket kell feltenned pluszba az Arduino alá, és miket nem érdemes. Vacakolsz rengeteget és egyszer csak beindul(gat).
Ráadásul mint említettem a Sonoff termékek erre nem a legalkalmasabbak szerintem.
Ha már kész megoldásaid vannak, és pont egy ilyen HW kell akkor jöhet a Sonoff, rátolod és kész.
Ezt úgy tudtam kicsiholni, hogy nyomva tartottam a gombot bekapcsoláskor:
ets Jan 8 2013,rst cause:1, boot mode:(1,7)
Nyomva tartom a gombot, ha nem tartom ezeket a hibákat dobja:
Ez a sorod váltotta ki belőlem ezeket a gondolatokat. :)

http://www.tavir.hu/taxonomy/term/134
Elsőre egy kis olvasni való, mire is jó és hogy kerül a kód az ESP-re, ha a programozást választod és még nem olvastad volna akkor elengedhetetlen.
Valamint ez az összes egybegyűjtött tudásunk egyenlőre a többi saját és egyéb fórumokon található.

Ahhoz hogy programozni tudd az ESP-t be kell állítanod 3 lábat. Ez is le van írva az összefoglalóba.
https://jhg2pw.bl3301.livefilestore.com ... jpg?psid=1
ilyesmit keress.
Ebből 2 már be van a Sonoff-on már csak a GPIO 0 ami kell neked. Ezt kell L állapotba tartani boot közben csak akkor tudod programozni.
Ilyenkor jön a boot mode:(1,7) a soros porton. Ez a jó nekünk.
Ezért fontos hogy a nyomógomb ott van e ahol nekünk kell mert régi modelleknél még ellenállást is kellett forrasztani ahogy olvastam.
Valamint ha már átalakítunk egy készüléket úgysem árt ismerni mielőtt nekilátunk.
effect
Újonc
Újonc
Hozzászólások: 12
Csatlakozott: 2016. május 7. szombat, 21:34

Re: Sonoff - WiFi Wireless Smart Switch/Arduino IDE

Hozzászólás Szerző: effect »

Szerintem tegyél fel raspberry-re egy mosquitto szervert az lesz a MQTT brokered és onnantól kezdve azon keresztül tudsz a Sonoff-oddal kommunikálni, így ahogy küldték.
Na ehhez kéne nekem egy tutorial, amit fel is fogok.:)
Nekem az is jó ha nem kell hackelgeni a sonoff-ot, hanem pl. Openhab, Home Assitant stb... fut a raspberry-n és azon keresztül tudom kapcsolgatni, de semmit nem találtam ezzel kapcsolatban.
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Sonoff - WiFi Wireless Smart Switch/Arduino IDE

Hozzászólás Szerző: SanyiSay »

Olyan tutorial nem tudom hogy van e amin a Sonoff szerepel. De MQTT, Mosquitto, raspberry linux-on van.
Raspberry vel én is szemezgetek mert fele annyit eszik mint a Nasom és remélhetőleg hamarabb bootol be ha kikapcsolom. De egyenlőre megoldottam ezek nélkül, Raspberry-m nincs, Mosquittot meg nem sikerült elsőre telepíteni így nálam háttérbe szorul. Viszont a technika úgy néz ki efelé halad így előbb utóbb elkerülhetetlen lesz, ahogy én látom. Viszont nézegettem efféle oldalakat és van jó pár, de nem mentettem el az említettek miatt sajnos.

Láttam én is efféle lakásvezérlő rendszereket amiket belinkeltél, de ott meg az volt a bajom hogy legalább akkora munka ezeket megtanulni mint amennyi az ESP programozás, webprogramozással együtt, és akkor még csak egy kötött rendszerhez értesz, annak korlátaival. Így meg bármit tehetek az ESP-vel. Persze ez megint szokás kérdése. Nextion kijelzőm sem kapcsoltam be még pont ezért. Mire megjött kínából megtanultam annak tudását weboldalon létrehozni, és azóta már jócskán meg is haladtam azt.

https://home-assistant.io/blog/2015/10/ ... t-to-mqtt/

Közben ezt találtam neked. Persze ehhez is programoznod kell. :) De legalább kidolgozták az irányt.
Na akkor már csak el kell dönteni mi is legyen. Amúgy ha Arduino megy esetleg, akkor az esp Arduino is menni fog, gondolom. :)
Csak rá kell szánni egy kis időt az olvasgatásra.
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Sonoff - WiFi Wireless Smart Switch/Arduino IDE

Hozzászólás Szerző: SanyiSay »

Nekem is megjöttek az új Sonoff egységeim. 5. kivezetés GPIO 14 es láb.
http://wiki.iteadstudio.com/Sonoff_TH
Itt van róla némi írás és kapcsolási rajz.

Úgy látszik már a szenzor nélküli egység rendelésekor is a szenzoros alaplap jön, csak kiegészítő szenzor nélkül.
effect
Újonc
Újonc
Hozzászólások: 12
Csatlakozott: 2016. május 7. szombat, 21:34

Re: Sonoff - WiFi Wireless Smart Switch/Arduino IDE

Hozzászólás Szerző: effect »

SanyiSay: Köszi a linket. Megcsinálom én is HomeAssistantra a linken lévő hőmérőt, de úgy nézem ha a sonoffra végre fel tudnék tölteni bármilyen kódot, akkor MQTT-n keresztül menne a kapcsolgatás. Csak hát nem akarja:(
Van ilyen:
https://github.com/arendst/Sonoff-MQTT-OTA-Arduino
Szólj hogy az új sonoff-okkal mit sikerült csinálnod, mert nekem is az van.

raspberry nagyon jó kis cucc. Nálam van egy sima model B, teljesen bevált NAS-ként és torrent visszaosztásra is tökéletes. Most vettem egy raspberry 3-at az otthon automazizálás miatt, iszonyat gyors. Egyenlőre a sonoffnál megakadtam, mert ezt használnám mindenféle lámpa kapcsolására, de így nehéz ha nem tudom ESPként programozni.
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Sonoff - WiFi Wireless Smart Switch/Arduino IDE

Hozzászólás Szerző: SanyiSay »

Nincs különbség régi és új Sonoff között. Egy a lényeg nyomd végig a gombot. Ez egyszerűnek tűnik de nem az. Kicsit bemozdul akkor már szakad a kapcsolat. Legalább is nekem ha nem sikerül akkor ez szokott a fő probléma lenni.
Ez kiderül abból is hogy amikor elengeded akkor nem kattan pedig kellene neki.
Szóval
- tápfesz kikapcs
- gomb megnyom bitang erősen, vagy összeforraszt
- tápfesz bekapcs
- feltöltés elindít

Bár nem olvastam utána de gyárilag nem kezeli az MQTT-t a Sonoff? Mert a főcímekben benne van.
És akkor nem kell hozzá nyúlnod.
Avatar
SanyiSay
Elektronbűvölő
Hozzászólások: 1031
Csatlakozott: 2009. február 28. szombat, 7:00

Re: Sonoff - WiFi Wireless Smart Switch/Arduino IDE

Hozzászólás Szerző: SanyiSay »

ui.:
Drukkolok, mert így nem kell végigjárnom raspberry-t az elejétől. :)
Válasz küldése