Gambar 1. WeMos DHT11 Shield
Interface antara DH11 shield dengan WeMos board adalah melalui pin D1, keuntungan dari pemakaian shield adalah anda tidak membutuhkan bread-board maupun menggunakan jumper untuk menghubungkan antara WeMos board dengan sensor DH11, tetapi cukup shield DH11 ditumpukan diatas WeMos board.
pinDHT11 = 4 -- pin D4 pada board WeMos D1 mini
function readFromDHT11()
status, temp, humi, temp_dec, humi_dec = dht.read11(pinDHT11)
if status == dht.OK then
wib = rtctime.epoch2cal(rtctime.get()+7*60*60) -- tambah 7 WEST INDONESIA TIME
timeStr = string.format("%04d/%02d/%02d %02d:%02d:%02d", wib["year"], wib["mon"], wib["day"], wib["hour"], wib["min"], wib["sec"])
print(timeStr ..";" .. temp .. ";" .. humi)
elseif status == dht.ERROR_CHECKSUM then
print( "DHT Checksum error." )
elseif status == dht.ERROR_TIMEOUT then
print( "DHT timed out." )
end
end
sntp.sync("1.id.pool.ntp.org",
function(sec,usec,server)
print('setting time to:', sec, usec, "from: " .. server)
rtctime.set(sec, usec)
end,
function()
print('failed!')
end
)
tmr.alarm(0,1000,1,readFromDHT11) -- setiap detik baca dari sensir DHT11
Pada script berikut ini adalah melakukan log ke file harian setiap 5 detik untuk keperluaan penelitian.
pinDHT11 = 4 -- pin D4 pada board WeMos D1 mini
function readFromDHT11()
status, temp, humi, temp_dec, humi_dec = dht.read11(pinDHT11)
if status == dht.OK then
wib = rtctime.epoch2cal(rtctime.get()+7*60*60) -- tambah 7 WEST INDONESIA TIME
timeStr = string.format("%04d/%02d/%02d %02d:%02d:%02d", wib["year"], wib["mon"], wib["day"], wib["hour"], wib["min"], wib["sec"])
--print(timeStr ..";" .. temp .. ";" .. humi)
payload = timeStr ..";" .. temp .. ";" .. humi
return payload
elseif status == dht.ERROR_CHECKSUM then
print( "DHT Checksum error." )
elseif status == dht.ERROR_TIMEOUT then
print( "DHT timed out." )
end
end
function logToFile()
wib = rtctime.epoch2cal(rtctime.get()+7*60*60) -- tambah 7 WEST INDONESIA TIME
fname = string.format("%04d%02d%02d", wib["year"], wib["mon"], wib["day"])
-- open file in 'a+' mode
if file.open(fname, "a+") then
-- write 'foo bar' to the end of the file
file.writeline(readFromDHT11())
print("log to " .. fname)
file.close()
end
end
sntp.sync("1.id.pool.ntp.org",
function(sec,usec,server)
print('setting time to:', sec, usec, "from: " .. server)
rtctime.set(sec, usec)
end,
function()
print('failed!')
end
)
tmr.alarm(0,5000,1,logToFile) -- setiap detik baca dari sensir DHT11
Tidak ada komentar:
Posting Komentar