国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專欄INFORMATION COLUMN

EMB-nodeMCU自動化控制實(shí)現(xiàn)空氣質(zhì)量管家

junbaor / 1338人閱讀

摘要:尋思著實(shí)現(xiàn)個自動化控制玩玩。自從穹頂之下的信息被普及,不僅要出門帶口罩,還要家里開空氣凈化器。效果圖代碼家庭空氣質(zhì)量管家為傳感器口為繼電器控制口引腳初始化網(wǎng)絡(luò)串口監(jiān)聽顆粒溫濕度煙霧繼電器源碼

背景

前陣子樹莓派由于沒外殼不小心短路燒掉了。最近得手nodeMCU的板子,不僅便宜還支持串口交互式調(diào)試,很是方便。尋思著實(shí)現(xiàn)個自動化控制玩玩。自從“穹頂之下”的信息被普及,不僅要出門帶口罩,還要家里開空氣凈化器。于是照著知乎也DIY了一個。但作為一個程序員,不搗鼓一點(diǎn)硬件軟件怎么可以,于是花了兩三天搗鼓了lua,順便配了個web端的語音播報,軟硬件組合達(dá)到了期望的效果。(順便吐槽一下tinyOS的組件式編程,文檔也少得可憐)

實(shí)現(xiàn)思路

硬件:

MQ煙霧/可燃?xì)怏w傳感器

dth溫濕度傳感器

空氣顆粒物(pm1.0,pm2.5,pm10)傳感器

繼電器*4(用來控制 取暖器,加濕器,凈化器,煙霧報警裝置)

軟件:

萬能的web(html js jq)

php(負(fù)責(zé)爬天氣預(yù)報和空氣質(zhì)量,以及和nodeMCU通訊)

用socket拼接http去獲取天氣,結(jié)果寫完發(fā)現(xiàn)它的socket接受發(fā)送最大1440字節(jié),本來想直接寫進(jìn)MCU做個lua server。可惜了,于是控制規(guī)則干脆寫到前端,php做大量的數(shù)據(jù)獲取支持。

用的空氣顆粒物傳感器接TX口,init.lua加載前會根據(jù)D3 D4 TX 來判斷是否進(jìn)入燒寫模式,之前接繼電器總是上電亂跳,最終把data out 的2口放到D3 D4,解決了這個問題。

效果圖

nodeMCU代碼(init.lua)
--家庭空氣質(zhì)量管家
--sensor為傳感器data口
--power為繼電器控制口
--D0    CH1             0
--D1    CH2             0
--D2    CH4             0
--D3    MQ-DATA  1
--D4    DHT-DATA 0
--D5    CH3             0
--D6    DHT-VCC    1
--RX    PM-TX
Air={
    pm010=0,pm025=0,pm100=0,
    temp=0,humi=0,smoke=1,
    gpio_pm=0,gpio_temp=0,gpio_humi=0,gpio_smoke=0,
    humi_power=0, pm_power=1,
    smoke_power=2,   mq_sensor=3,
    dht_sensor=4,    temp_power=5
}
--引腳初始化
for pi=0,6,1 do
    gpio.mode(pi, gpio.OUTPUT,(pi==6)and gpio.PULLUP or gpio.FLOAT)
    gpio.write(pi,(pi==3 or pi==6)and gpio.HIGH or gpio.LOW)
end
--網(wǎng)絡(luò)
wifi.setmode(wifi.STATION)
wifi.sta.config("SSID","PASSWORD")
--串口監(jiān)聽
uart.setup( 0, 9600, 8, 0, 1, 0 )
uart.on("data",
  function(data)
    if(string.len(data)==32 and string.byte(data)==66) then
        --顆粒
        Air.pm010=tonumber(string.byte(data,11))*256+tonumber(string.byte(data,12))
        Air.pm025=tonumber(string.byte(data,13))*256+tonumber(string.byte(data,14))
        Air.pm100=tonumber(string.byte(data,15))*256+tonumber(string.byte(data,16))
        --溫濕度
        _,Air.temp,Air.humi, _, _ =dht.read(Air.dht_sensor)
        --煙霧
        Air.smoke=gpio.read(Air.mq_sensor)
        --繼電器
        Air.gpio_pm,Air.gpio_temp,Air.gpio_humi,Air.gpio_smoke=gpio.read(Air.pm_power),gpio.read(Air.temp_power),gpio.read(Air.humi_power),gpio.read(Air.smoke_power)
    end
end, 0)
--http
srv=net.createServer(net.TCP)  
srv:listen(80,function(conn)  
    conn:on("receive", function(client,request)  
        local buf = "{"
        local _, _, method, path, vars = string.find(request, "([A-Z]+) (.+)?(.+) HTTP")
        if(method == nil)then  
            _, _, method, path = string.find(request, "([A-Z]+) (.+) HTTP")
        end  
        local _GET = {}  
        if (vars ~= nil)then  
            for k, v in string.gmatch(vars, "(%w+)=(%w+)&*") do  
                _GET[k] = v  
            end  
        end  
        if(_GET.action == "read")then
            for key,value in pairs(Air) do
                buf=buf..key..":"..value..","
            end
        elseif(_GET.action == "write")then
              gpio.write(_GET.pin,_GET.level)
        elseif(_GET.action == "debug")then
              node.input(_GET.data)
        end  
        client:send(buf.."error:0}")
        client:close()
        collectgarbage()
    end)  
end)  
源碼

https://github.com/Seasonley/...

文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/81563.html

相關(guān)文章

  • EMB-nodeMCU動化控制實(shí)現(xiàn)空氣質(zhì)量管家

    摘要:尋思著實(shí)現(xiàn)個自動化控制玩玩。自從穹頂之下的信息被普及,不僅要出門帶口罩,還要家里開空氣凈化器。效果圖代碼家庭空氣質(zhì)量管家為傳感器口為繼電器控制口引腳初始化網(wǎng)絡(luò)串口監(jiān)聽顆粒溫濕度煙霧繼電器源碼 背景 前陣子樹莓派由于沒外殼不小心短路燒掉了。最近得手nodeMCU的板子,不僅便宜還支持串口交互式調(diào)試,很是方便。尋思著實(shí)現(xiàn)個自動化控制玩玩。自從穹頂之下的信息被普及,不僅要出門帶口罩,還要家里...

    Terry_Tai 評論0 收藏0
  • 內(nèi)存泄露從入門到精通三部曲之排查方法篇

    摘要:對比操作前后的來定位內(nèi)存泄露的根因所在。手機(jī)管家內(nèi)存泄露每日監(jiān)控方案目前手機(jī)管家的內(nèi)存泄露每日監(jiān)控會自動運(yùn)行并輸出是否存在疑似泄露的報告郵件,不論泄露對象的大小。 騰訊Bugly特約作者: 姚潮生 最原始的內(nèi)存泄露測試 重復(fù)多次操作關(guān)鍵的可疑的路徑,從內(nèi)存監(jiān)控工具中觀察內(nèi)存曲線,是否存在不斷上升的趨勢且不會在程序返回時明顯回落。這種方式可以發(fā)現(xiàn)最基本,也是最明顯的內(nèi)存泄露問題,對用戶價...

    李世贊 評論0 收藏0
  • 內(nèi)存泄露從入門到精通三部曲之排查方法篇

    摘要:對比操作前后的來定位內(nèi)存泄露的根因所在。手機(jī)管家內(nèi)存泄露每日監(jiān)控方案目前手機(jī)管家的內(nèi)存泄露每日監(jiān)控會自動運(yùn)行并輸出是否存在疑似泄露的報告郵件,不論泄露對象的大小。 騰訊Bugly特約作者: 姚潮生 最原始的內(nèi)存泄露測試 重復(fù)多次操作關(guān)鍵的可疑的路徑,從內(nèi)存監(jiān)控工具中觀察內(nèi)存曲線,是否存在不斷上升的趨勢且不會在程序返回時明顯回落。這種方式可以發(fā)現(xiàn)最基本,也是最明顯的內(nèi)存泄露問題,對用戶價...

    sutaking 評論0 收藏0
  • 5G與人工智能有什么關(guān)系?

    摘要:雖然說數(shù)據(jù)包是手機(jī)之間傳輸,但是我們?nèi)匀恍枰揽炕緜鬏斝帕睿\(yùn)營商的錢還是要給的與人工智能小西原來技術(shù)包含了這么多黑科技呀那這些黑科技有什么應(yīng)用呢,它跟人工智能又有什么關(guān)系呢小迪這可就多了。 showImg(https://segmentfault.com/img/remote/1460000019373664); 又是一個周末,小西與小迪坐在沙發(fā)上看新聞。 小西:小迪小迪,新聞里總...

    jay_tian 評論0 收藏0
  • 質(zhì)量基礎(chǔ)設(shè)施NQI“一站式”線上公共服務(wù)平臺建設(shè)方案

    摘要:供需對接提供中小微企業(yè)供需發(fā)布平臺,降低中小微企業(yè)投入成本資源庫建設(shè)質(zhì)量基礎(chǔ)設(shè)施相關(guān)的機(jī)構(gòu)人才設(shè)備政策法規(guī)業(yè)務(wù)知識庫,為企業(yè)提供一站式查詢服務(wù)。 質(zhì)量基礎(chǔ)設(shè)施NQI一站式線上公共服務(wù)平臺建設(shè)方案質(zhì)量基礎(chǔ)設(shè)施NQI一站式線上公共服務(wù)平臺,本著基礎(chǔ)業(yè)務(wù)在線辦結(jié),要素資源高效協(xié)同,特色服務(wù)培育品牌的平臺產(chǎn)品思維,確立...

    不知名網(wǎng)友 評論0 收藏0

發(fā)表評論

0條評論

最新活動
閱讀需要支付1元查看
<