Merge pull request #377 from MarsTechHAN/patch-4

Update the Yeelink lib, add example
This commit is contained in:
Vowstar 2015-05-01 14:54:59 +08:00
commit 0f40adf49a
2 changed files with 61 additions and 7 deletions

View File

@ -0,0 +1,25 @@
-- ***************************************************************************
-- Example for Yeelink Lib
--
-- Written by Martin
--
--
-- MIT license, http://opensource.org/licenses/MIT
-- ***************************************************************************
wifi.setmode(wifi.STATION) --Step1: Connect to Wifi
wifi.sta.config("SSID","Password")
dht = require("dht_lib") --Step2: "Require" the libs
yeelink = require("yeelink_lib")
yeelink.init(23333,23333,"You api-key",function() --Step3: Register the callback function
print("Yeelink Init OK...")
tmr.alarm(1,60000,1,function() --Step4: Have fun~ (Update your data)
dht.read(4)
yeelink.update(dht.getTemperature())
end)
end)

View File

@ -1,17 +1,12 @@
-- *************************************************************************** -- ***************************************************************************
-- Yeelink Updata Libiary -- Yeelink Updata Libiary Version 0.1.2 r1
-- --
-- Written by Martin -- Written by Martin
-- but based on a script of zhouxu_o from bbs.nodemcu.com -- but based on a script of zhouxu_o from bbs.nodemcu.com
-- --
-- MIT license, http://opensource.org/licenses/MIT -- MIT license, http://opensource.org/licenses/MIT
-- *************************************************************************** -- ***************************************************************************
if wifi.sta.getip() == nil then
print("Please Connect WIFI First")
return nil
end
--==========================Module Part====================== --==========================Module Part======================
local moduleName = ... local moduleName = ...
@ -30,7 +25,23 @@ local debug = true --<<<<<<<<<<<<< Don't forget to "false" it before using
local sk=net.createConnection(net.TCP, 0) local sk=net.createConnection(net.TCP, 0)
local datapoint = 0 local datapoint = 0
--====DNS the yeelink ip advance(in order to save RAM)===== --====DNS the yeelink ip advance(in order to save RAM)=====
if wifi.sta.getip() == nil then
print("Please Connect WIFI First")
tmr.alarm(1,1000,1,function ()
if wifi.sta.getip() ~= nil then
tmr.stop(1)
sk:dns("api.yeelink.net",function(conn,ip)
dns=ip
print("DNS YEELINK OK... IP: "..dns)
end)
end
end)
end
sk:dns("api.yeelink.net",function(conn,ip) sk:dns("api.yeelink.net",function(conn,ip)
dns=ip dns=ip
@ -50,14 +61,32 @@ function M.init(_device, _sensor, _apikey)
sensor = tostring(_sensor) sensor = tostring(_sensor)
apikey = _apikey apikey = _apikey
if dns == "0.0.0.0" then if dns == "0.0.0.0" then
tmr.alarm(2,5000,1,function ()
if dns == "0.0.0.0" then
print("Waiting for DNS...")
end
end)
return false return false
else else
return dns return dns
end end
end
--========Check the DNS Status===========
--if DNS success, return the address(string)
--if DNS fail(or processing), return nil
--
--
--========================================
function M.getDNS()
if dns == "0.0.0.0" then
return nil
else
return dns
end
end end
--=====Update to Yeelink Sever(At least 10s per sencods))===== --=====Update to Yeelink Sever(At least 10s per sencods))=====
-- datapoint->number -- datapoint->number
-- --