涂昶昶
摘要:云計(jì)算和物聯(lián)網(wǎng)是目前IT行業(yè)炙手可熱的新潮流,物聯(lián)網(wǎng)新技術(shù)對傳統(tǒng)數(shù)控單片機(jī)的應(yīng)用產(chǎn)生了新的沖擊,單片機(jī)技術(shù)越來越趨于集成化、聯(lián)網(wǎng)化。本文基于單片機(jī)的特點(diǎn)闡述了其在物聯(lián)網(wǎng)應(yīng)用中的發(fā)展和趨勢,希望能拋磚引玉,為進(jìn)一步開發(fā)提供參考。
關(guān)鍵詞:物聯(lián)網(wǎng)工程;單片機(jī)技術(shù)
中圖分類號:TN925?文獻(xiàn)標(biāo)識碼:A?文章編號:1672-9129(2020)09-0011-01
1?傳統(tǒng)單片機(jī)作為微控制器的應(yīng)用特點(diǎn)
單片機(jī)(Microcomputer—MCU)把具有數(shù)據(jù)處理能力的處理器CPU(很多人將MCU與CPU的概念混淆,MCU應(yīng)是包含CPU而存在的)、只讀存儲器ROM、隨機(jī)存儲器RAM、通用I/O口、TICK定時(shí)器/計(jì)數(shù)器等等外設(shè)集成到一個片上的麻雀雖小五臟俱全的微型控制系統(tǒng)的超大規(guī)模集成電路芯片,廣泛應(yīng)用于數(shù)碼產(chǎn)品和工業(yè)控制領(lǐng)域。由數(shù)十年前的4位、8位單片機(jī),發(fā)展到現(xiàn)在常用的32位72Mhz的大容量高性能單片機(jī)。
單片機(jī)產(chǎn)品常見的有智能儀表、實(shí)時(shí)工控、通訊設(shè)備、導(dǎo)航系統(tǒng)、家用電器等。
傳統(tǒng)的單片應(yīng)用以家電為例,作為家電的數(shù)控功能中心,通常使用有限的按鈕/紅外控制來實(shí)現(xiàn)簡單的開關(guān)和量調(diào)節(jié),使得現(xiàn)代生活的便捷大打折扣,并且一旦投入使用難以得到升級換代,用戶所能拓展的可操作體驗(yàn)也比較有限,當(dāng)下的家電的趨勢是接入互聯(lián)網(wǎng)靠齊以獲得更加智能化、聯(lián)網(wǎng)化,這也是物聯(lián)網(wǎng)工程所研究的主要方向。
某種可行的物聯(lián)網(wǎng)方案概述:以智能家居這一物聯(lián)網(wǎng)的熱門應(yīng)用為例,在國內(nèi)物聯(lián)網(wǎng)的發(fā)展中少有高度化整合的產(chǎn)品,盡管經(jīng)過多次的更新?lián)Q代,但長久以來都存在這高維護(hù)成本、傳輸穩(wěn)定性較差、使用門檻高等詬病。在市場上目前也有各種物聯(lián)網(wǎng)云平臺供開發(fā)者使用,這為本方案的開發(fā)試驗(yàn)提供了可能,本方案旨在以一種新的分立模塊化的想法來得到更穩(wěn)定、更便捷的實(shí)際應(yīng)用方案。
2?方案概述
2.1主體思路?;贓SP8266模塊與LED指示電路為主設(shè)計(jì)一款TCP協(xié)議通信的簡易網(wǎng)關(guān)。開啟電源時(shí),系統(tǒng)初始化,ESP8266模塊通過串口打印出啟動信息和日志,同時(shí)初始化時(shí)系統(tǒng)所以LED全部點(diǎn)亮,待啟動結(jié)束后全部熄滅。啟動完成后用客戶端連接ESP8266模塊建立的無線局域網(wǎng),實(shí)現(xiàn)ESP8266通信模塊的預(yù)設(shè)IP與端口建立TCP通信,發(fā)送相應(yīng)指令來完成LED的開關(guān)操作。這是最基本的一種功能實(shí)現(xiàn)。同時(shí)在進(jìn)一步開發(fā)中有通常兩種思路。
2.2網(wǎng)絡(luò)對接的實(shí)現(xiàn)。一是我們將單片機(jī)通過傳感器獲得的數(shù)據(jù)實(shí)時(shí)上傳至物聯(lián)網(wǎng)服務(wù)器,再發(fā)送到可視化的手機(jī)客戶上,既可以通過APP監(jiān)視也可以通過網(wǎng)頁監(jiān)控。再將手機(jī)端的操作指令傳送至家庭網(wǎng)絡(luò),通過串口的數(shù)據(jù)傳輸反映到單片機(jī)上,這種MCU與ESP8266的交互方式常用的是AT指令,同時(shí)單片機(jī)附帶返回值。就這樣可以完成接入云平臺的MCU遠(yuǎn)程的雙向通信,其中需要完成通信協(xié)議的轉(zhuǎn)換,數(shù)據(jù)的采集和處理。使用ESP8266模塊完成單片機(jī)與家庭網(wǎng)絡(luò)的對接實(shí)現(xiàn)MCU系統(tǒng)的聯(lián)網(wǎng)完成核心通信。目前各大物聯(lián)網(wǎng)廠商少有這樣的開發(fā)設(shè)計(jì)。
二僅用ESP8266開發(fā)板,但卻以Arduino方式開發(fā),Arduino IDE安裝ESP8266環(huán)境后,就直接支持ESP8266在Arduino IDE上進(jìn)行開發(fā),其硬件。下位機(jī)就可以不用其它Arduino板了,或者說ESP8266開發(fā)板此時(shí)就是Arduino開發(fā)板,這種方式是大部分個人開發(fā)者所常用的,其優(yōu)勢是易于上手的操作完善的編譯和接口環(huán)境。同時(shí)還有LUA語言、LISP語言等多種開發(fā)方式,官方也支持LINUX下的API開發(fā),這些方式大都平臺資源豐富、易于開發(fā)。
射頻芯片本身具備處理能力,可進(jìn)行二次開發(fā),第二種方式可以發(fā)掘ESP8266的極限性能,縮減一定的成本。其不差的機(jī)能已足以勝任許多消費(fèi)級產(chǎn)品和工控領(lǐng)域的任務(wù)。這種開發(fā)方式受到廣大開發(fā)者的好評。
但是這種較為普遍的物聯(lián)網(wǎng)對接方案也有缺陷,對于開發(fā)者而言,以TI的射頻芯片為例,既有帶MCU的芯片,也有純射頻芯片很多的企業(yè),其企業(yè)工程師具備的能力也是有限的,適應(yīng)了常年的嵌入式開發(fā)后并不容易做好射頻芯片的開發(fā),時(shí)間成本無疑還是需要考慮。使用熟悉的MCU,硬件接口都是一樣的,可以快速開發(fā)出產(chǎn)品。同時(shí)射頻芯片的市場成熟度遠(yuǎn)不如主流MCU,將其作為重要的無線傳輸節(jié)點(diǎn)開發(fā)也具有一定風(fēng)險(xiǎn)。第一種將射頻芯片作為模塊化使用雖然降低了一定的效率,但是使用嚴(yán)格的AT指令可以保證傳輸?shù)姆€(wěn)定性,選擇模塊化開發(fā)是一種既經(jīng)濟(jì)又有效益的方式,這是本方案提供的主要思路。
3?ESP8266模塊的控制——AT指令
單片機(jī)與ESP8266-01Wi-Fi通信模塊的通信主要通過 串口中斷處理程序來完成。單片機(jī)的RxD接口與模塊的TX連 接,單片機(jī)的TxD接口與模塊的RX連接。
在執(zhí)行代碼之前,模塊要先設(shè)定好什么模式,用串口助手發(fā)送AT指令配置。將模塊設(shè)定為server端,生成一個WiFi,獲取IP、MAC等信息,這個時(shí)候使用手機(jī)客戶端嘗試連接即可,這幾步之后,模塊就可以連接已經(jīng)啟動好的單片機(jī),到這兒基本就可以實(shí)現(xiàn)簡單的通訊。這是二者通信開發(fā)的一個雛形,真正的問題在于如何制定一個數(shù)據(jù)傳輸規(guī)范,ESP8266在此方案下作為串口透傳模塊使用,具有極強(qiáng)的可操作性,目前行業(yè)對模塊化串口傳輸規(guī)范依然存在空缺。不同的傳輸格式對傳輸速率、丟包率、誤碼率均有較大影響。
結(jié)語:針對互聯(lián)網(wǎng)接入的功能需要,通過總體設(shè)計(jì)、傳輸方式選擇、軟件設(shè)計(jì)和軟硬件調(diào)試可以完成MCU與物聯(lián)網(wǎng)的監(jiān)控系統(tǒng)的對接。該系統(tǒng)經(jīng)過測試可以達(dá)到較好的傳輸效果,較低的丟包率,由于采用分立式架構(gòu)數(shù)據(jù)傳輸與MCU的數(shù)控功能并不沖突,同時(shí)降低開發(fā)學(xué)習(xí)的成本和有效地解決單個射頻芯片的運(yùn)算局限性,其局限性就是缺少相關(guān)的行業(yè)規(guī)范,隨著物聯(lián)網(wǎng)的興起這一點(diǎn)正在漸漸被完善。綜上所述本方案是一種較為現(xiàn)實(shí)的方案。
參考文獻(xiàn):
[1] 陳海宴.單片機(jī)原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2010.
[2]馬建.物聯(lián)網(wǎng)技術(shù)概論[M].北京:機(jī)械工業(yè)出版社,2011.
[3]王偉.李樹榮.基于8051單片機(jī)溫度采集及無線發(fā)送[J].現(xiàn)代電子技術(shù),2011.