怎樣借助物聯(lián)網(wǎng)來簡化應(yīng)用程序的設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
選擇從頭開始設(shè)計(jì)無線物聯(lián)網(wǎng)應(yīng)用的工程師很快就會認(rèn)識到這項(xiàng)任務(wù)很困難。首先,從頭開始構(gòu)建物聯(lián)網(wǎng)網(wǎng)絡(luò)系統(tǒng)需要了解許多不同的技術(shù),包括無線協(xié)議,嵌入式代碼開發(fā)和設(shè)備驅(qū)動(dòng)程序開發(fā)。雖然許多經(jīng)驗(yàn)豐富的工程師可能已經(jīng)熟悉這些技術(shù),但是編寫移動(dòng)設(shè)備應(yīng)用程序和云代碼開發(fā)以及確保足夠的安全性等其他功能是相對較新的技能。
情況惡化的是,物聯(lián)網(wǎng)新手可能沒有很多基于MCU平臺的硬件開發(fā)背景。 API,編程,硬件和軟件兼容性以及監(jiān)管許可和其他障礙的學(xué)習(xí)曲線可以轉(zhuǎn)化為數(shù)周或數(shù)月的工程工作,只是為了創(chuàng)建功能原型。
因此,附近大多數(shù)物聯(lián)網(wǎng)開發(fā)人員的愿望清單中最重要的是找到一種簡單,快速的方式來指定硬件并生成必要的代碼,以便他們能夠盡快將他們的想法推向市場,這在快速變化的物聯(lián)網(wǎng)領(lǐng)域尤為重要。
幸運(yùn)的是,模塊可用于幾乎所有無線協(xié)議,包括ZigBee,Z-Wave,藍(lán)牙和Wi-Fi。這些模塊可用于縮短無線系統(tǒng)所需的上市時(shí)間和認(rèn)證/認(rèn)證時(shí)間。更重要的是,今天的模塊已經(jīng)發(fā)展到包含強(qiáng)大的處理器,可以通過Linux,C,C ++,Python和Java等常用語言進(jìn)行編程,以管理整個(gè)應(yīng)用程序。它們進(jìn)一步有助于簡化代碼開發(fā)工作,因?yàn)殚_發(fā)人員可以依賴供應(yīng)商提供的封裝RF堆棧。
評估套件是一種流行的開發(fā)選項(xiàng),因?yàn)樗鼈兲峁┝祟A(yù)制元件和功能齊全的示例應(yīng)用程序?qū)⑷绾芜\(yùn)行。開發(fā)套件還已經(jīng)將模塊的芯片正確連接,用于電源,接地以及輸入和輸出信號傳輸。一些更集成的套件選擇還包括開箱即用的云連接,安全保護(hù)和FCC批準(zhǔn),以試圖將無線物聯(lián)網(wǎng)連接作為插件類型的練習(xí)。
在此文章我們將詳細(xì)研究兩個(gè)流行的物聯(lián)網(wǎng)開發(fā)套件,并展示一個(gè)常見的典型功能 - 看門狗應(yīng)用程序 - 在每種情況下都能輕松處理。
將ZigBee連接到Internet
無線連接是物聯(lián)網(wǎng)應(yīng)用的關(guān)鍵,通常是混合藍(lán)牙和ZigBee等本地網(wǎng)關(guān)與傳統(tǒng)的Wi-Fi網(wǎng)絡(luò)。 ZigBee提供最大的無線250 kbps數(shù)據(jù)速率和高達(dá)100米的范圍,已成為工業(yè)系統(tǒng)和傳感器網(wǎng)絡(luò)的流行解決方案。但是,ZigBee對許多應(yīng)用程序缺乏關(guān)鍵要求:連接到Internet所需的本機(jī)IP連接。作為回應(yīng),Digi International等供應(yīng)商提供Xbee ZigBee網(wǎng)關(guān),這是一種無線方式,可以讓數(shù)十個(gè)ZigBee設(shè)備透明地連接到互聯(lián)網(wǎng)。
設(shè)計(jì)工程師可以快速啟動(dòng)他們的開發(fā)工作,為ZigBee帶來無線互聯(lián)網(wǎng)連接網(wǎng)絡(luò)使用Digi InternaTIonal的Xbee ZigBee Cloud Kit(圖1)。 Xbee ZigBee云套件的指定部件號為XKA2C-Z7T-U,旨在幫助工程師使用基于云的數(shù)據(jù)集構(gòu)建快速原型。該套件包括:用于ZigBee到以太網(wǎng)/Wi-Fi的Xbee網(wǎng)關(guān); Xbee-PRO ZigBee 2.4-GHz模塊;帶面包板的開發(fā)板;電纜和電源;示例Web應(yīng)用程序;可配置的小部件和與Digi Device Cloud的集成 - 該公司的公共平臺,用于連接任何設(shè)備并從任何地方向兩個(gè)方向進(jìn)行通信。
該套件還可通過可自定義的開源儀表板應(yīng)用程序遠(yuǎn)程控制設(shè)備和數(shù)據(jù)?;驹徒M件包括:LED儀表; 10KΩ電阻;溫度傳感器;電位器;振動(dòng)電機(jī);和音頻蜂鳴器。
圖1:Digi的Xbee ZigBee Cloud Kit擁有創(chuàng)建云連接無線原型所需的一切。該套件包括原型組件,如電線,LED,繼電器電阻和溫度傳感器。 (圖片由Digi InternaTIonal提供)該套件以Digi的Xbee ZigBee網(wǎng)關(guān)應(yīng)用程序?yàn)榛A(chǔ),允許通過Python腳本語言定制嵌入式邏輯。 XBee Gateway具有標(biāo)準(zhǔn)的Python 2.7發(fā)行版,允許獨(dú)立于設(shè)備開發(fā)和測試不依賴于Digi專有接口模塊的應(yīng)用程序。為了滿足不同級別的Python專業(yè)知識和應(yīng)用程序復(fù)雜性的客戶需求,我們支持許多開發(fā)策略,可以根據(jù)開發(fā)人員的需要進(jìn)行混合和匹配。 Xbee網(wǎng)關(guān)還具有Linux shell界面。雖然Digi ESP for Python旨在作為主編程接口,但此接口可用于某些編程和設(shè)備管理任務(wù)。
現(xiàn)在讓我們來看看Xbee ZigBee Cloud Kit中的示例應(yīng)用程序。通過Xbee看門狗模塊提供的看門狗功能作為安全措施存在。如果存在“必須”定期發(fā)生的關(guān)鍵操作,否則系統(tǒng)將無法挽回地破壞,應(yīng)用程序可以請求建立“監(jiān)視器”。如果應(yīng)用程序線程未在承諾的時(shí)間間隔內(nèi)為其監(jiān)視程序提供服務(wù),則整個(gè)系統(tǒng)將重新啟動(dòng)。如有必要,這些軟件看門狗可以更改其間隔,并可以刪除。顯然,使用這種軟件監(jiān)視器是最后的手段。
以下示例程序演示了看門狗功能:(:Digi InternaTIonal)import watchdog(1)
導(dǎo)入時(shí)間
w = watchdog.Watchdog(‘test’,20)(2)
for x in xrange(1,6):( 3)
print“Step”,x(4)
TIme.sleep(10.0)(5)
w.heartbeat()(6)
print“在結(jié)束前的步驟。..”(7)
time.sleep(60.0)(8)
print“結(jié)束后的步驟。”(9)
課程筆記(1-9):
監(jiān)視程序模塊包含程序所需的監(jiān)視程序類。
創(chuàng)建一個(gè)名為“test”的監(jiān)視程序?qū)ο螅搶ο髮⒃?0秒后過期。
循環(huán)五次(1-5)。
表示我們的迭代。..。..
。..每次迭代的睡眠時(shí)間少于超時(shí),但總時(shí)間超過超時(shí)時(shí)間。
每次迭代將看門狗定時(shí)器重置為20秒,允許完成所有循環(huán)。
指示小循環(huán)已完成。
睡眠的時(shí)間間隔比超時(shí)長得多。
不應(yīng)執(zhí)行此print語句,因?yàn)橄到y(tǒng)應(yīng)該由于看門狗超時(shí)到期而重新啟動(dòng)。
CC3200MCU LaunchPad?
Texas儀器的SimpleLink?Wi-Fi CC3200MCU LaunchPad(部件CC3200-LAUNCHXL,圖2)是供應(yīng)商CC3200無線微控制器的評估套件。它包括一個(gè)溫度傳感器和一個(gè)加速度計(jì),通過附加的BoosterPack插件板,它可以集成其他傳感器,幫助開發(fā)人員對其物聯(lián)網(wǎng)應(yīng)用進(jìn)行原型設(shè)計(jì)。 LaunchPad具有驅(qū)動(dòng)程序支持和軟件開發(fā)工具包(SDK),其中包含40多種Wi-Fi協(xié)議,Internet應(yīng)用程序和MCU外設(shè)示例應(yīng)用程序。
圖2:CC3200 LaunchPad是基于ARMCortexM4F的微控制器的低成本評估平臺。它具有可編程用戶按鈕,用于自定義應(yīng)用程序的RGB LED以及用于調(diào)試的板載仿真。 (圖片來自Texas Instruments)該板可以直接連接到PC,用于開發(fā)工具,如Code Composer Studio(CCS)云集成開發(fā)環(huán)境(IDE)和IAR(v.7.20) )嵌入式工作臺。 SDK中的所有示例應(yīng)用程序都支持在帶有CCS IDE且無RTOS的集成Cortex-M4處理器上。此外,一些應(yīng)用程序支持Free RTOS和TI RTOS。
免版稅的CC3200嵌入式Wi-Fi Foundation SDK包括兩個(gè)主要構(gòu)建模塊:
SimpleLink Library - 托管提供連接功能的API。
《 li》外設(shè)驅(qū)動(dòng)程序庫 - 托管訪問MCU外圍設(shè)備的API。
圖3說明了CC3200 Foundation SDK中的各種軟件組件及其形式。
圖3:CC3200 Foundation SDK提供了一個(gè)易于使用的框架,該芯片托管在片上微控制器上,以使用WLAN網(wǎng)絡(luò)服務(wù),以及與外圍設(shè)備接口的驅(qū)動(dòng)程序的全面列表。微控制器。 (圖片來自Texas Instruments)3200 LaunchPad開發(fā)套件中的應(yīng)用示例包括:
電子郵件:只需按一下按鈕,或通過CLI通過用戶配置的電子郵件,即可通過SMTP發(fā)送電子郵件。
UART演示應(yīng)用程序:展示UART DriverLib API的用法。該應(yīng)用程序演示了用戶在終端上輸入的任何內(nèi)容的簡單回顯。
I 2 C演示:展示I?CDriverLibAPI的用法。提供用戶界面,用于讀取或?qū)懭隠aunchPad上的I 2 C設(shè)備。
MCU睡眠:練習(xí)MCU的睡眠功能。
PWM演示應(yīng)用:演示通用定時(shí)器(GPT)支持的一般16位脈沖寬度調(diào)制(PWM)模式功能。
攝像頭應(yīng)用:演示CC3200上的攝像頭功能(此應(yīng)用需要相機(jī)BoosterPack。
天線選擇:提供選擇具有更多信號功能的天線的選項(xiàng)。
功率測量:允許用戶測量各種低功耗的電流消耗-power模式。
看門狗系統(tǒng)演示應(yīng)用程序
讓我們來看看TI開發(fā)工具包如何處理看門狗演示應(yīng)用程序,該應(yīng)用程序探討了看門狗定時(shí)器的使用情況( WDT)DriverLib API。正如預(yù)期的那樣,當(dāng)達(dá)到超時(shí)值時(shí),WDT演示應(yīng)用程序會生成中斷或重置。與我們之前討論過的Digi International套件一樣,看門狗定時(shí)器用于在系統(tǒng)因軟件錯(cuò)誤或外部設(shè)備無法以預(yù)期方式響應(yīng)而發(fā)生故障時(shí)重新獲得控制權(quán)。
該看門狗系統(tǒng)演示應(yīng)用程序在一個(gè)帶有MCU和網(wǎng)絡(luò)子系統(tǒng)的完整系統(tǒng)中展示了WDT。同樣,目標(biāo)是在系統(tǒng)出現(xiàn)故障時(shí)恢復(fù)整個(gè)系統(tǒng),包括網(wǎng)絡(luò)子系統(tǒng)。退出看門狗復(fù)位后,系統(tǒng)會立即請求休眠一小段時(shí)間,并且只有在從休眠狀態(tài)返回后才能恢復(fù)其全部功能。這可確保從任何涉及網(wǎng)絡(luò)子系統(tǒng)的復(fù)雜固定方案中恢復(fù)。
解釋應(yīng)用程序源文件
main - 顯示監(jiān)視程序功能的主文件LED閃爍10次然后保持在ON狀態(tài)。
pinmux - 應(yīng)用程序要求的Pinmux配置。
uart_if - 通用UART接口API
udma_if - 通用uDMA接口API
wdt_if - 通用看門狗接口API
用法
在使用中,您首先要設(shè)置一個(gè)串行通信應(yīng)用程序(HyperTerminal/TeraTerm,請參見下面的圖4)并在主機(jī)PC上打開一個(gè)超級終端,具有以下內(nèi)容設(shè)置:
端口:枚舉COM端口
波特率:115200
《代碼》數(shù)據(jù):8位
奇偶校驗(yàn):無
停止:1位
《 li》 流程控制:無
接下來,運(yùn)行t他參考應(yīng)用程序(Flash bin)并觀察UART終端以了解應(yīng)用程序執(zhí)行的操作順序。您將看到以下顯示(圖4):
圖4:CC3200看門狗系統(tǒng)演示(圖片由德州儀器提供)總結(jié)
從頭開始構(gòu)建物聯(lián)網(wǎng)網(wǎng)絡(luò)系統(tǒng)需要了解許多不同的技術(shù)。為了幫助工程師完成他們的項(xiàng)目,現(xiàn)成的評估工具包提供了一種通過構(gòu)建基本系統(tǒng)來試驗(yàn)各種配置和測試應(yīng)用程序的好方法。通過提供逐步指導(dǎo),無線模塊供應(yīng)商使工程師能夠快速熟悉無線連接可為其物聯(lián)網(wǎng)解決方案帶來的所有價(jià)值,以及這些完整的硬件組件和集成工具包如何讓設(shè)計(jì)人員避開漫長的發(fā)展周期的時(shí)間和頭痛。