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.