【摘要】物聯(lián)網技術的發(fā)展十分迅速,為了方便學生理解和掌握物聯(lián)網的相關知識,設計了一款基于機智云平臺的物聯(lián)網實驗開發(fā)平臺。
文章介紹了系統(tǒng)的硬件設計,包括單片機控制模塊、WiFi通訊模塊以及控制輸出模塊,方便學生進行基礎性操作和擴展設計。經過實驗測
試,物聯(lián)網實驗平臺運行效果良好。
【關鍵詞】機智云;STM32;物聯(lián)網
物聯(lián)網是一個基于互聯(lián)網、傳統(tǒng)電信網等信息承載體,讓所能夠被獨立尋址的普通物理對象實現(xiàn)互聯(lián)互通的網絡。為了提高學生的學習興趣,方便快速地對物聯(lián)網設備熟悉、了解和操作,本文設計了一款基于機智云平臺的物聯(lián)網實驗平臺。通過此平臺,學生可以熟悉單片機開發(fā)與Android開發(fā)等相關知識,熟悉并掌握物聯(lián)網系統(tǒng)的設計思路及制作方法。
1 系統(tǒng)平臺方案設計
整個平臺設計分為軟件程序設計和硬件電路實驗板設計。軟件程序設計主要包括手機應用控制程序和電路實驗板的控制程序;硬件設計主要包括電路實驗板的設計、選型、制作和調試。平臺采用wifi模塊進行通訊,用戶通過APP軟件控制電路實驗板。實驗平臺的結構示意圖如圖1所示。
基于機智云平臺的物聯(lián)網實驗平臺硬件設計方案框圖如圖2所示,主要包括STM32最小控制系統(tǒng)及下載啟動電路的設計,通訊模塊和輸出顯示模塊的設計。
基于機智云平臺的物聯(lián)網實驗平臺軟件設計主要采用JAVA語言編寫Android軟件,根據(jù)不同的頁面操作控制實驗平臺。系統(tǒng)設計主要分為STM32核心控制系統(tǒng)、WIFI通訊模塊以及軟件APP三大部分。
2 系統(tǒng)平臺硬件設計
平臺的硬件設計主要包括STM32最小工作模塊的設計、WiFi通訊模塊的設計、輸出模塊的設計以及其他電路模塊的設計。
2.1 STM32最小工作模塊
本系統(tǒng)采用STM32F103系列的芯片作為主控芯片,根據(jù)資料手冊,STM32控制電路設計設計了STM32最小系統(tǒng),包括復位電路、時鐘電路、電源電路。
2.2 WiFi通過模塊
系統(tǒng)平臺的APP軟件與實驗平臺采用WIFI方式進行數(shù)據(jù)傳輸。本系統(tǒng)采用樂鑫esp8266-12F串口轉WIFI模塊。使其可通過GPIO口集成傳感器及其他應用的特定設備,實現(xiàn)了最低前期的開發(fā)和運行中最少地占用系統(tǒng)資源,能支持WPA/WPA2安全模式,內置TCP/IP協(xié)議棧,內置低功率32位CPU。
2.3 控制輸出模塊
為了豐富實驗效果,平臺提供了多種輸出方式,學生通過應用程序控制不同的輸出電路輸出相應的現(xiàn)象。根據(jù)電路原理,系統(tǒng)的輸出模塊包括LED輸出、繼電器控制輸出和數(shù)碼管輸出等多種輸出方式。
2.4 其他工作模塊
一個完整的控制系統(tǒng)除了輸入輸出模塊、單片機最小系統(tǒng)之外,還需要其他輔助電路,包括下載調試電路、串口轉換電路和濾波電路等。
3 系統(tǒng)平臺軟件設計
平臺的軟件設計主要包括手機應用控制軟件程序和實驗平臺的電路控制程序的編寫。系統(tǒng)的軟件服務主要依托于機智云。機智云是一家智能硬件自助開發(fā)和物聯(lián)網云服務平臺,面向企業(yè)/開發(fā)者提供智能硬件PaaS及SaaS云服務,是一家物聯(lián)網云服務提供商。我們在開發(fā)完成軟硬件服務程序后接入機智云平臺即可。
3.1 電路控制程序
系統(tǒng)的電路控制程序主要完成單片機的初始化、wifi模塊的初始化以對應用控制程序傳來的數(shù)據(jù)進行處理和計算,同時需要編寫事件驅動程序,完成對設備的控制。以點亮一個LED為例,我們需要初始化單片機的IO管腳,然后根據(jù)接收到的數(shù)據(jù)進行判斷輸出高低電平即可。部分代碼如下。初始化一個單片機IO口的程序如下:
void GPIO_Init()
{
GPIO_InitTypeDef GPIO_InitStructure;
RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB, ENABLE);//使能PB端口時鐘
GPIO_InitStructure.GPIO_Pin =GPIO_Pin_8; //LED0-->PA.8配置
GPIO_InitStructure.GPIO_Mode =GPIO_Mode_Out_PP; //輸出
GPIO_InitStructure.GPIO_Speed =GPIO_Speed_50MHz; //IO口50MHz
GPIO_Init(GPIOB, &GPIO_InitStructure); //參數(shù)初始化
GPIO_ResetBits(GPIOB,GPIO_Pin_8); }LED的點亮和熄滅程序如下:
GPIO_ResetBits(GPIOB,GPIO_Pin_7);//滅
GPIO_SetBits(GPIOB,GPIO_Pin_7);//亮
3.2 應用控制程序
應用控制程序主要包括頁面的設計和后臺業(yè)務邏輯的設計。根據(jù)平臺的輸出設計,需要對LED、繼電器、數(shù)碼管等元器件進行控制。以點亮一個LED為例,程序通過判斷按下的按鈕是開還是關來設置變量的值,單片機通過接收到變量的值再進行判斷LED燈是開啟還是關閉。部分代碼如下。
if(read==0x01)
{
currentDataPoint.valueswitch01=1;
}
else
{
currentDataPoint.valueswitch01=0;
}
if(0x01 == currentDataPoint.valueswitch01)
{
GPIO_SetBits(GPIOB,GPIO_Pin_8); //亮
}
else
{
GPIO_ResetBits(GPIOB,GPIO_Pin_8);//滅
}
4 實驗設計
本平臺提供基于STM32的最小開發(fā)系統(tǒng)外,還提供了部分外設功能,適合學生由淺到深地了解單片機的原理。學生不僅可以進行基礎的實驗操作,還可以根據(jù)需求自己進行設計。此外系統(tǒng)引出了STM32芯片的所有I/O口資源,學生可以自行設計和創(chuàng)新。表1是本實驗平臺提供的部分實驗。
5 總結
經過試驗測試,系統(tǒng)運行結果良好,學生可以通過手機應用程
序控制實驗平臺上的輸出模塊。由于嵌入式系統(tǒng)自身的特點決定了
學習的困難性,本平臺提供了單片機最小系統(tǒng)和物聯(lián)網基礎實驗,
方便學生掌握基礎知識;了解物聯(lián)網系統(tǒng)設計的設計流程與思路。
參考文獻
[1] 李寧,卞祥.基于機智云的智能宿舍系統(tǒng)設計[J].物聯(lián)網技術,2016(02):59-60.
[2]孫書鷹,陳志佳,寇超.新一代嵌入式微處理器STM32F103開發(fā)與應用[J].微計算機應用,2010,12:59-63.
[3]錢志鴻,王義君.物聯(lián)網技術與應用研究[J].電子學報,2012(05):1023-1029.
(來自網絡,侵刪)
|