集成電路設(shè)計(jì)大賽賽程將至,我現(xiàn)在還是毫無(wú)頭緒,然后又報(bào)了一個(gè)互聯(lián)網(wǎng)+,比賽報(bào)了,東西就必須出來(lái),時(shí)間很緊的情況下,所以選擇了開源的arduino的進(jìn)行完成。從開始接觸Arduino到完成工程,前前后后用了快兩周吧。arduino用它強(qiáng)大的庫(kù)函數(shù)支持,即使第一次接觸,只需要一些C語(yǔ)言的基礎(chǔ),就能快速學(xué)習(xí)使用了。雖然開源,但是我們選用的重力傳感器模塊和雨滴模塊,并沒有現(xiàn)成的工程,所以我只能硬著頭皮自己做了。配置好WiFi模塊就用了一周,再加上零零碎碎的一些事,晚上睡覺都一直在想著怎么完成它。還是在參考了大量的Arduino上傳數(shù)據(jù)至物聯(lián)網(wǎng)源碼后,選擇用貝殼物聯(lián),找到調(diào)用重力傳感器模塊的方法,修改一個(gè)溫度上傳物聯(lián)網(wǎng)的代碼,終于把數(shù)據(jù)發(fā)了上去。這一周我是有多么想FPGA啊,終于可以開始學(xué)習(xí)FPGA了。把我做的過(guò)程分享出來(lái),將開源進(jìn)行到底。 一、使用材料 ESP8266 WIFI模塊,Arduino單片機(jī),水滴感應(yīng)模塊,USB轉(zhuǎn)TTL模塊,杜邦線數(shù)根 二、WIFI模塊的配置 ESP8266模塊支持STA/AP/STA+AP 三種工作模式。 *STA 模式:ESP8266模塊通過(guò)路由器連接互聯(lián)網(wǎng),手機(jī)或電腦通過(guò)互聯(lián)網(wǎng)實(shí)現(xiàn)對(duì)設(shè)備的遠(yuǎn)程控制。 *AP 模式:ESP8266模塊作為熱點(diǎn),實(shí)現(xiàn)手機(jī)或電腦直接與模塊通信,實(shí)現(xiàn)局域網(wǎng)無(wú)線控制。 *STA+AP 模式:兩種模式的共存模式,即可以通過(guò)互聯(lián)網(wǎng)控制可實(shí)現(xiàn)無(wú)縫切換,方便操作。 我們這里為了方便直接設(shè)置成兩種模式共存的狀態(tài)。 ESP8266的接口如下圖所示: 其中需要用的端口是TX,RX,CH_PD,VCC,GND TX,RX分別接USB轉(zhuǎn)TTL接口的RX,TX, CH_PD,VCC接3.3v(切記必須為3.3v) GND接地 聯(lián)接物聯(lián)網(wǎng) 打開串口調(diào)試助手,搜索串口,將波特率設(shè)置為115200,然后將ESP8266的VCC引腳拔下在插上,會(huì)返回一串亂碼和ready,表示連接正常,如果沒有返回值,檢查引腳是否連接正確。 發(fā)送AT命令:+++,返回CLOSED,表示關(guān)閉之前設(shè)定的模式。 發(fā)送AT+CWMODE=3+回車,設(shè)置WiFi模塊為AT/AP模式,(WiFi模塊的知識(shí)需要看手冊(cè)),返回OK,表示設(shè)置成功 發(fā)送AT+CWJAP=”WIFI name”,”WIFI 密碼”+回車,連接WiFi。返回OK表示連接正確。 然后發(fā)送AT+CIPSTART='TCP','www.bigiot.net',8181+回車,返回如圖所示,表示連接到貝殼網(wǎng)。 這樣WiFi模塊就配置好了,然后將WiFi模塊連接到開發(fā)板上,通電后,就會(huì)自動(dòng)連接到貝殼網(wǎng)上了。 連接手機(jī)端 重復(fù)上述步驟,當(dāng)連上WiFi后,在串口調(diào)試助手上發(fā)送AT+SAVETRANSLINK=1,'192.168.10.101',5000,'TCP'+回車,中間的IP地址是手機(jī)端網(wǎng)絡(luò)調(diào)試助手,作為tcp sever激活后顯示的地址,端口也是一樣 然后將USB轉(zhuǎn)TTL線拔下來(lái),在插到電腦上,串口關(guān)閉再重新打開,然后手機(jī)和WiFi模塊就會(huì)連接上了(一次不成功可以多試幾次) 如上圖所示,進(jìn)行數(shù)據(jù)收發(fā)都沒問題, 三、將數(shù)據(jù)發(fā)送到貝殼網(wǎng) WiFi模塊配置好了之后。我們這里用第一個(gè)WiFi模塊配置連接到貝殼網(wǎng),貝殼網(wǎng)是一個(gè)物聯(lián)網(wǎng),可以實(shí)現(xiàn)與硬件進(jìn)行遠(yuǎn)程交互。 注冊(cè)一個(gè)貝殼網(wǎng)賬號(hào)www.bigiot.net 點(diǎn)擊添加一個(gè)設(shè)備 添加一個(gè)數(shù)據(jù)接口,這里可以修改借口類型 添加完成后,每一個(gè)設(shè)備都有自己專屬的ID,APIKEY, 每個(gè)設(shè)備有對(duì)應(yīng)的數(shù)據(jù)接口,也有對(duì)應(yīng)的ID 我這里添加了兩個(gè)數(shù)據(jù)接口 然后,將我的代碼粘貼復(fù)制,把引腳配置或自己設(shè)置好插好,設(shè)備ID,APK都修改好,數(shù)據(jù)端口ID也是一樣,最后下載到板子上,然后在登錄貝殼網(wǎng),就可以會(huì)顯示在線嘍! 將arduino程序和庫(kù)文件分享出來(lái),將開源進(jìn)行到底。 水滴模塊的初始狀態(tài)為0(沒有水滴) 當(dāng)水滴模塊上沾點(diǎn)水在上面,顯示的數(shù)值會(huì)變成1. 打開重力傳感器的數(shù)據(jù)接口,等待一段時(shí)間后會(huì)出現(xiàn)數(shù)據(jù)顯示在接口上 最后附上我的成果圖,為了搞好這個(gè),我可是苦思冥想了好久。 我這里使用的是水滴模塊和中立傳感器模塊,需要使用把其他模塊的數(shù)據(jù)上傳的同學(xué)自己改代碼吧。 |
|