Statusindikering via Sonoff S20

Här kan man starta en egen tråd för sitt stora eller lilla projekt, för att få inspiration, beröm, hjälp om man kör fast etc.
Användarvisningsbild
hanpa
Inlägg: 116
Blev medlem: tor 18 maj 2017, 20:11

Statusindikering via Sonoff S20

#1

Inläggav hanpa » mån 31 jul 2017, 10:40

I projektet Koll på brevlådan ville jag ha något som lyser eller blinkar för att visa att det finns post. Jag brukar inte alltid ha mobilen eller Apple Watch på mig hemma så jag kan missa notifiering när posten kommer.

Hade ett par Sonoff S20 över, dessa har ju två lysdioder som kan användas. Genom att byta programvara till egen så kan jag styra dessa.
- Den gröna lysdioden är enkel att styra via GPIO13. Den har omvänd logik, dvs värdet 0 tänder och 1 släcker.
- Den bå lysdioden är kopplad till GPIO12 och styrs "normalt", dvs 1 tänder och 0 släcker. Dock är den kopplad till relät så man kan inte styra lampan för sig. Man får tåla att relät knäpper eller att man använder det som "ljudsignal". Det går inte manövrera relät för fort för då hinner det inte med och dels låter det knappt något alls, dels är det nog inte bra för livslängden. Vill man inte ha något ljud så får man koppla bort.

Jag tänker inte gå in i detalj hur man flashar om en Sonoff S20, det går att söka sig fram till guider för detta via Google. Men man behöver en FTDI-programmerare (USB) som har 3.3V matning. Under programmeringen drivs S20 av programmerarens matning och ESP8266 tål inte 5V på matningen. Dessutom är det livsfarligt att driva den med 230V under programmeringen! För att sätta den i programmeringsmod får man hålla knappen inne innan man kopplar på spänningen och hålla kvar knappen 1-2 sekunder innan man släpper knappen. Då kan man programmera den via något lämpligt verktyg.

Jag har använt PlatformIO för programmeringen men efter uppladdning startade inte programmet som det skulle, det blev "watchdog timeout". Vet inte varför. Blev samma med Arduino IDE. Går säkert att fixa men jag har inte kommit på hur. Istället laddade jag upp binärfilen som kommer via PlatformIO via esptool, så här, och då fungerade allt som det ska:

esptool.py --port /dev/tty.usbserial-A50285BI --baud 460800 write_flash --flash_size=8m -fm dio "path"/S20Indicator/.pioenvs/esp12e_1m/firmware.bin

Man får ändra till sitt eget device och komplett sökväg till binärfilen.

Mitt program finns
här

Programmet har stöd för OTA så efter uppladdning kan man göra ändringar via WiFi-koppling istället för via FTDI/serie-anslutning.

För att det ska synas bättre tog jag bort knappen och satte en bit plexiglas bakom som petskydd. Det är 230V innanför!
Man kan ju låta knappen vara kvar och använda den för att styra något om man så vill. Går att skicka något via MQTT då man trycker på den. Ganska lätt ändring i koden men jag hade inte behov av detta. Dessutom sitter den inte så bra placerad för att det ska vara bekvämt att trycka på den.

Skärmavbild 2017-07-31 kl. 10.30.24.png
Skärmavbild 2017-07-31 kl. 10.30.24.png (496.9 KiB) Visad 654 gånger


Så här ser det ut när man kommenderar snabb grön blinkning:

https://www.youtube.com/watch?v=I4pQ73zc7A4

Så här ser det ut om man kommenderar långsam blå blinkning, inklusive knäppande med relät som jag inte använder i övrigt:

https://www.youtube.com/watch?v=nOyK_H89Q_U

Återgå till "Egna projekt"

Vilka är online

Användare som besöker denna kategori: 1 och 0 gäst