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