avis.uten.no

One bit short of a byte – Toros blog

Home /
Sonoff og Apple Homekit
;

Sonoff og Apple Homekit

Jeg havnet først i Phillips Hue 1 bøtta. Men ved en tilfeldighet så kjøpte jeg en LED-plate på IKEA, og nå er jeg plutselig i Apple / Trådfri bøtta. Nå skal jeg ikke gå inn i en krig om Apple HomeKit vs Google Home vs Amazon Alexa, du velger ditt økosystem, jeg har havnet på Trådfri / HomeKit, og det virker godt for meg. Prisen på lyspærer er tilpasset selv de med minimumsbudsjett.

Så fra null smarte systemer til mesteparten av lysene på nett i leiligheten skjedde over natta, den lavt-hengende frukten var høstet. Så kommer fiklingen med automatisering, regelsett, hvis slik så slik, og almanakker for presis styring av lys på ved solnedgang, og slå av lyset ved soloppgang.

IoT er timer med morro.

Men smarte brytere styrt i HomeKit, har vist seg å være en utfordring. Så en kveld jeg følte meg litt sårbar, surfet jeg innom Banggood og fant disse App-styrte bryterne. Jeg klikket noen til handlekurven, betalte, og 14 dager senere ligger de i postkassen. Klar til bruk, med en egen app. Men det er jo ikke det vi vil. De skal inn i Apple Home, slik at vi kan se status utenfor huset.

Sonoff Wi-Fi smart switch

Fordelen med denne «Smartbryteren» er den lave prisen, samt en hjerne som heter ESP8285 . Den kan vi programmere med en FTDI FTDI FT232RL USB til seriell IC, som jeg har liggende.

Chinesium USB FTDI satt til 3.3 Volt

Etter å ha lest meg litt opp valgte jeg å gå for RavenCore som du finner her. Men først må man modifisere Sonoffen litt slik at den er klar for programmering. Jeg velger å gjøre det «permanent» og lodder på en header slik at jeg kan åpne bryteren og programmere med noe annet en RavenCore om jeg skulle ønske det om et år eller tre. Bildet under viser kretskortet som er montert ut av plastdekselet.

Produsenten har gjort klart, som om de hadde forutsett at noen ville…
Pinheader loddet på plass. Klar til å kobles til FTDI.

En dypere beskrivelse av alt finner du på Github

Programering av Sonoff

Resett Sonoff til flash-mode, og kjør «esptool.py -p /dev/<DinUSBport> erase_flash»

sonoff@cloudstar:~$ esptool.py -p /dev/tty.usbserial-A5XK3RJT erase_flash
esptool.py v2.7-dev
Serial port /dev/tty.usbserial-A5XK3RJT
Connecting….
Detecting chip type… ESP8266
Chip is ESP8285
Features: WiFi, Embedded Flash
MAC: dc:4f:22:95:44:72
Uploading stub…
Running stub…
Stub running…
Erasing flash (this may take a while)…
Chip erase completed successfully in 3.4s
Hard resetting via RTS pin…
sonoff@cloudstar:~$


Resett Sonoff til flash-mode nok engang og forutsatt at du har lastet ned rboot.bin, blank_config.bin og otaboot.bin så kjører du bare denne kommandoen:


esptool.py -p /dev/<DinUSBport> –baud 115200 write_flash -fs 1MB -fm dout -ff 40m \ 0x0 rboot.bin 0x1000 blank_config.bin 0x2000 otaboot.bin

Eksempel fra min maskin:

sonoff@cloudstar:~$ esptool.py -p /dev/tty.usbserial-A5XK3RJT –baud 115200 write_flash -fs 1MB -fm dout -ff 40m \ 0x0 rboot.bin 0x1000 blank_config.bin 0x2000 otaboot.bin
esptool.py v2.7-dev
Serial port /dev/tty.usbserial-A5XK3RJT
Connecting….
Detecting chip type… ESP8266
Chip is ESP8285
Features: WiFi, Embedded Flash
MAC: dc:4f:22:95:44:72
Uploading stub…
Running stub…
Stub running…
Configuring flash size…
Flash params set to 0x0320
Compressed 3104 bytes to 2169…
Wrote 3104 bytes (2169 compressed) at 0x00000000 in 0.2 seconds (effective 119.4 kbit/s)…
Hash of data verified.
Compressed 2048 bytes to 23…
Wrote 2048 bytes (23 compressed) at 0x00001000 in 0.0 seconds (effective 1024.3 kbit/s)…
Hash of data verified.
Compressed 427488 bytes to 308909…
Wrote 427488 bytes (308909 compressed) at 0x00002000 in 27.3 seconds (effective 125.4 kbit/s)…
Hash of data verified.

Leaving…
Hard resetting via RTS pin..
sonoff@cloudstar:~$

Litt fikling, og litt venting, så funket det jaggu.

Koblet til, endelig.

Bryteren er inne i HomeKit og kan nå styres fra hvor som helst.