Merge pull request #377 from MarsTechHAN/patch-4
Update the Yeelink lib, add example
This commit is contained in:
commit
0f40adf49a
|
@ -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)
|
|
@ -1,17 +1,12 @@
|
|||
|
||||
-- ***************************************************************************
|
||||
-- Yeelink Updata Libiary
|
||||
-- Yeelink Updata Libiary Version 0.1.2 r1
|
||||
--
|
||||
-- Written by Martin
|
||||
-- but based on a script of zhouxu_o from bbs.nodemcu.com
|
||||
--
|
||||
-- MIT license, http://opensource.org/licenses/MIT
|
||||
-- ***************************************************************************
|
||||
|
||||
if wifi.sta.getip() == nil then
|
||||
print("Please Connect WIFI First")
|
||||
return nil
|
||||
end
|
||||
--==========================Module Part======================
|
||||
|
||||
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 datapoint = 0
|
||||
|
||||
|
||||
--====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)
|
||||
|
||||
dns=ip
|
||||
|
@ -50,14 +61,32 @@ function M.init(_device, _sensor, _apikey)
|
|||
sensor = tostring(_sensor)
|
||||
apikey = _apikey
|
||||
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
|
||||
else
|
||||
return dns
|
||||
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
|
||||
|
||||
|
||||
--=====Update to Yeelink Sever(At least 10s per sencods))=====
|
||||
-- datapoint->number
|
||||
--
|
||||
|
|
Loading…
Reference in New Issue