Sonoff mini til að stýra útiljósum.

Sonoff mini keyptur hjá frá framleiðenda.

Lóðað inn á kubbinn til að skipta um FW sem hægt er að nota við Home Assistant.
http://esphome.io config notað

4 vírar TX/RX/3.3V/GND tengt svo við USB/Serial, takka á borði haldið inni meðan borðið er ræst til að setja í FW mode.

Loft rofi tengdur við inntakk á sonoff mini sem leifir utaná liggjandi rofa.

Búin til sjálfvirkni í Home Assistant sem slekkur og kveikir eftir því hvenær sólin sest og rís.

Hægt að kveikja og slökkva gegnum vef/takka

Kóði sem settur var inn á sonoff mini.

 

esphome:
  name: rofi_2
  platform: ESP8266
  board: esp01_1m

wifi:
  ssid: "xxx"
  password: "xxx"
  domain: .lan
  manual_ip:
    static_ip: 192.168.85.107
    gateway: 192.168.85.1
    subnet: 255.255.255.0
    dns1: 192.168.85.1

# Enable logging
logger:
# Enable Home Assistant API
api:

ota:

binary_sensor:
  - platform: gpio
    pin:
      number: GPIO0
      mode: INPUT_PULLUP
      inverted: True
    name: "Útiljós Heitipottur"
    on_press:
      - switch.toggle: relay
  - platform: gpio
    pin:
      number: GPIO4
      mode: INPUT_PULLUP
      inverted: True
    name: "Utiljos takki"
    on_press:
      - switch.toggle: relay   
switch:
  - platform: gpio
    name: "Utiljos Relay"
    pin: GPIO12
    id: relay

status_led:
  pin:
    number: GPIO13
    inverted: yes
    
mqtt:
  broker: 192.168.85.225
  username: xxxx
  password: xxxx

Esp2866 wifi sendir póst við ræsingu.

Esp2866 wifi sendir póst við ræsingu.

Raspberry PI er notaður sem vefþjón  undir skipun sem sendir póst.

wifieldur

Hér er notaður reykskynjari til að ræsa Esp8266, hann tengir sig við þráðlausa netið og bíður eftir iptölu.
Þegar iptalan er komin á hann ræsir hann php scriptu sem liggur á vefslóð á Raspberry PI og sendir póst.

Undirbúa Raspberry PI til að geta keyrt þessa scriptu.

sudo apt-get install apache2 –y
sudo apt-get install php5 libapache2-mod-php5 –y
sudo apt-get install php-pear –y
sudo pear install Mail
sudo pear install Net_SMTP

Til að ræsa Esp8266 er notaður Transitor Latch, svo esp8266 dragi ekkert afl á meðan engin eldur er.
Transitor latch kveikir á LD1117AV33 regulator sem fæðir esp8266.

Esp8266 þarf rúmlega 200mA til að ræsa og tengjast þráðlausu neti.

Lua Loader er notaður til að upploda init.lua og http.lua.

 

init.lua

 

-- Constants
SSID    = "Wifi ssid"
APPWD   = "wifi password"
CMDFILE = "http.lua"   -- File that is executed after connection

-- Some control variables
wifiTrys     = 0      -- Counter of trys to connect to wifi
NUMWIFITRYS  = 200    -- Maximum number of WIFI Testings while waiting for connection

-- Change the code of this function that it calls your code.
function launch()
  print("Connected to WIFI!")
  print("IP Address: " .. wifi.sta.getip())
  -- Call our command file every minute.
  tmr.alarm(0, 60000, 1, function() dofile(CMDFILE) end )
end

function checkWIFI() 
  if ( wifiTrys > NUMWIFITRYS ) then
    print("Sorry. Not able to connect")
  else
    ipAddr = wifi.sta.getip()
    if ( ( ipAddr ~= nil ) and  ( ipAddr ~= "0.0.0.0" ) )then
      -- lauch()        -- Cannot call directly the function from here the timer... NodeMcu crashes...
      tmr.alarm( 1 , 500 , 0 , launch )
    else
      -- Reset alarm again
      tmr.alarm( 0 , 2500 , 0 , checkWIFI)
      print("Checking WIFI..." .. wifiTrys)
      wifiTrys = wifiTrys + 1
    end 
  end 
end

 

 

http.lua

 

conn=net.createConnection(net.TCP, false)
conn:on("receive", function(conn, payload) print("Get done.", payload) end )
conn:connect(80,"192.168.1.5")
conn:send("GET /mail.php"  .." HTTP/1.1\r\nHost: ip.a.esp.xx\r\n" .. "Connection: keep-alive\r\Accept: */*\r\n\r\n")

 

mail.php

 

 mail

Wifi Músagildra

Esp2866 wifi sendir póst þegar mús er komin í gildru.

 Gamall Android Simi fyrir netsamband.

 

Ekkert rafmagn til staðar þar sem gildran er og til að sleppa við að skoða í hana á hverjum degi, þá er þægilegra að fá skilaboð, ESP8266 dregur ca 500metra með wifi.

Hér er notuð músagildra til að ræsa Esp8266, 9 Volta batteri er tengt við micro rofan og er hann spenntur niður með gildrunni í open stöðu, þegar mús kemur í gildru lokast rofin og hleypir rafmagni á lm1117 3,3 regulatir sem ræsir esp8266 sem tengir sig við þráðlausa netið á símanum sem er með internet sharing og bíður eftir iptölu.
Þegar iptalan er komin á hann ræsir hann php scriptu sem liggur á vefslóð og hún sendir sendir póst.

Síminn er hafður í hleðslu við næstu innstungu.

Vefþjónninn er Raspberry PI á heima internet tengingu.

Undirbúa Raspberry PI til að geta keyrt þessa scriptu.

sudo apt-get install apache2 –y
sudo apt-get install php5 libapache2-mod-php5 –y
sudo apt-get install php-pear –y
sudo pear install Mail
sudo pear install Net_SMTP

 

Lua Loader er notaður til að upploda init.lua og http.lua.

 

init.lua

 

-- Constants
SSID    = "Wifi ssid"
APPWD   = "wifi password"
CMDFILE = "http.lua"   -- File that is executed after connection

-- Some control variables
wifiTrys     = 0      -- Counter of trys to connect to wifi
NUMWIFITRYS  = 200    -- Maximum number of WIFI Testings while waiting for connection

-- Change the code of this function that it calls your code.
function launch()
  print("Connected to WIFI!")
  print("IP Address: " .. wifi.sta.getip())
  -- Call our command file every minute.
  tmr.alarm(0, 60000, 1, function() dofile(CMDFILE) end )
end

function checkWIFI() 
  if ( wifiTrys > NUMWIFITRYS ) then
    print("Sorry. Not able to connect")
  else
    ipAddr = wifi.sta.getip()
    if ( ( ipAddr ~= nil ) and  ( ipAddr ~= "0.0.0.0" ) )then
      -- lauch()        -- Cannot call directly the function from here the timer... NodeMcu crashes...
      tmr.alarm( 1 , 500 , 0 , launch )
    else
      -- Reset alarm again
      tmr.alarm( 0 , 2500 , 0 , checkWIFI)
      print("Checking WIFI..." .. wifiTrys)
      wifiTrys = wifiTrys + 1
    end 
  end 
end

 

 

http.lua

 

conn=net.createConnection(net.TCP, false)
conn:on("receive", function(conn, payload) print("Get done.", payload) end )
conn:connect(80,"192.168.1.5")
conn:send("GET /mail.php"  .." HTTP/1.1\r\nHost: ip.a.esp.xx\r\n" .. "Connection: keep-alive\r\Accept: */*\r\n\r\n")

 

mail.php

 

 mail

 

Meira seinna eftir veiðar.

Undirbúa esp8266 fyrir LUA FW.

Undirbúa esp8266 fyrir LUA FW.

Ná í Lua Loader http://benlo.com/esp8266/ undir tools eru valmöguleikar til að ná í nýjasta firmware og flasher forrit.

Hér eru hlekkir á rétta staðina (https://github.com/nodemcu/nodemcu-flasher og https://github.com/nodemcu/nodemcu-firmware/tree/master/pre_build)

Síðan þarf að tengja esp8266 í flash mode, það er gert með að setja GPIO0 í GND

 tengja

CH_PD er alltaf tengdur við 3,3V

Hér er notaður cp2101 usb to ttl til að tala við esp8266

Best er að nota breadboard við þetta og tengja þetta saman og einnig fínt að setja þétti (100-200 micro farad) milli +- til að taka toppa.

Þegar búið er að ræsa esp8266 í Flash Mode þá opna ESP8266Flasher.exe

flash1

Velja nýjasta Fw skránna undir config og flash.

flash2

Eftir að búið er að setja inn nýjasta fw inn er slökkt GPIO0 tekin frá núlli esp8622 tilbúin og hægt að nota Lua Loader til að fikta.

flash3

Attiny85 Neopixel Jólaskraut

Attiny85 er mjög góður til að smækka Arduino verkefni.

Setti saman 3x Neopixel á bretti og setti í jólaskraut til að lífga aðeins upp á það.

IMG 20150103_152806 Medium 

Til að geta nýtt sér Attiny þarf að ná í sér forrit fyrir það undir Arduino IDE. Passa þarf að velja rétt  fyrir IDE útgáfuna sem er notuð.

1.x eða 1.5.x

Notast var við 1.x í þessu verkefni, https://code.google.com/p/arduino-tiny/

Svo þarf að afrita skránnar undir hardware þar sem arduino IDE er staðsett og búa til skrá sem heitir boards.txt og kopera úr Prospective Boards.txt skránni fyrir Attiny85.
Þessu er betur líst í readme skránni sem fylgir forriti.

Til að forrita Attiny85 kubbinn var notast við Arduino sem ISP, einföld lausn. En þetta eru nokkur skref.
1 Upploda ArduinoISP á Arduino borðið, passa vera búin að velja rétt com port.
2 Velja Attiny85 16Mhz internal clock sem bord undir tools.
3 Brenna bootloader á Attiny85 með burnbootloader í valmynd.
4 Upploda  kóða á Attiny með programmer. Gott video hér 

IMG 20150103_150751 Medium IMG 20150102_220810 Medium IMG 20150102_220500 Medium