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