歷史背景
在物聯(lián)網(wǎng)IOT越來(lái)越受到大家關(guān)注的當(dāng)下难审,自己對(duì)其越感興趣沙绝,于是就直接進(jìn)行一個(gè)嘗試慢蜓,畢竟實(shí)踐出真知亚再;
市場(chǎng)上很多app+智能硬件的組合產(chǎn)品,但用戶每要使用智能硬件都需要下載一個(gè)APP晨抡,才能夠使用氛悬,自己覺(jué)得有點(diǎn)麻煩,難道不能直接打開(kāi)一個(gè)網(wǎng)頁(yè)就可以直接控制嗎耘柱,不用下載控制app嗎如捅?所以想嘗試使用web來(lái)控制智能硬件(主要是擅長(zhǎng)web的開(kāi)發(fā),哈哈)
一切從零開(kāi)始调煎,從微信的硬件開(kāi)發(fā)平臺(tái)镜遣,各種云平臺(tái)開(kāi)始,一點(diǎn)一點(diǎn)地了解了很多和智能硬件開(kāi)發(fā)的一個(gè)大概思路士袄。
第一步從自己不熟悉的硬件開(kāi)始悲关,從網(wǎng)上買了許多各種感應(yīng)器,開(kāi)發(fā)板娄柳,led燈等一大堆硬件寓辱,學(xué)習(xí)進(jìn)行硬件燒錄(這里掉落了無(wú)數(shù)的坑里面,但是還是自己一點(diǎn)一點(diǎn)的爬了出來(lái))赤拒,然后從摸索各種模塊秫筏,wifi、藍(lán)牙需了、溫濕度模塊跳昼,led模塊,開(kāi)發(fā)板肋乍,到使用arduino開(kāi)發(fā)一些簡(jiǎn)單的硬件demo鹅颊,藍(lán)牙控制led燈,獲取溫度濕度墓造,人體感應(yīng)led燈堪伍。锚烦。。帝雇。涮俄。,過(guò)程艱辛尸闸,成就感滿滿彻亲。
第一個(gè)歷程碑出現(xiàn)了,從一個(gè)朋友中了解到一個(gè)開(kāi)發(fā)板nodemcu吮廉,自從頭上出現(xiàn)了一片藍(lán)天(之前的摸索實(shí)在艱辛)苞尝,為什么這樣說(shuō)呢?對(duì)于一個(gè)新手宦芦,有現(xiàn)成的燒錄程序宙址,可以從網(wǎng)站上下載需要的功能包(固件),直接燒錄到硬件當(dāng)中调卑,程序編寫時(shí)直接調(diào)用里面的API就可以實(shí)現(xiàn)想要的功能
第一個(gè)遠(yuǎn)程控制led燈的實(shí)例開(kāi)始抡砂,具體實(shí)現(xiàn):
準(zhǔn)備:led燈,nodemcu(已經(jīng)燒錄了固件)恬涧,手機(jī)注益,ESPlorer(編寫lua語(yǔ)句軟件,寫進(jìn)nodemcu中)
lua編程使用到的api:timer气破,http聊浅,cjson
硬件端實(shí)現(xiàn)思路是:待硬件連上wifi(我是直接把wifi的賬號(hào)密碼寫進(jìn)硬件中),每隔一段時(shí)間现使,使用http中的get方法(獲取遠(yuǎn)程服務(wù)器json數(shù)據(jù)低匙,然后解析json數(shù)據(jù)),不停的訪問(wèn)服務(wù)器碳锈,獲取led的狀態(tài)顽冶,然后根據(jù)led的狀態(tài)來(lái)控制燈亮還是滅
web端的實(shí)現(xiàn)思路是:編寫一個(gè)html網(wǎng)頁(yè)(使用到ajax+php),上面有一個(gè)控制led開(kāi)關(guān)按鈕售碳,當(dāng)用戶點(diǎn)擊開(kāi)啟按鈕强重,狀態(tài)值就會(huì)傳給服務(wù)器端(服務(wù)器端可以寫進(jìn)數(shù)據(jù)庫(kù),但當(dāng)時(shí)我的辦法是寫進(jìn)一個(gè)txt文件贸人,這樣就不用頻繁地訪問(wèn)讀寫數(shù)據(jù)庫(kù))
這樣就可以實(shí)現(xiàn)了间景,哈哈
這個(gè)案例有一個(gè)缺陷,硬件要不停通過(guò)http來(lái)訪問(wèn)遠(yuǎn)程艺智,浪費(fèi)資源和降低效率倘要,是不可取的,但是這已經(jīng)實(shí)現(xiàn)了通過(guò)web來(lái)控制硬件十拣,初衷已達(dá)成封拧,爽志鹃!
以后第二篇會(huì)說(shuō)明是如何實(shí)現(xiàn)不要浪費(fèi)資源,提高效率(劇透一下:websocket泽西?還是其他更好的曹铃??)捧杉,如何實(shí)現(xiàn)拭目以待I录!
在實(shí)現(xiàn)的過(guò)程中會(huì)不斷地搜索各種資料和網(wǎng)址味抖,收集了一些有用的資料淳玩,有興趣的可以找我要,相互學(xué)習(xí)非竿,[b][color=#FF0000]可加qq:807107475,加好友時(shí)請(qǐng)備注:iot物聯(lián)網(wǎng)學(xué)習(xí)[/color][/b]谋竖,每天會(huì)查看一次