嵌入式開發 基於小熊派的智慧型農業案例 二

2021-10-06 05:41:38 字數 4113 閱讀 8336

本組設計的功能描述(含所有實現的模組的功能)

基於小熊派的智慧型農業案例

實時監測環境中溫濕度變化及光照變化

通過nb—iot通訊,將資料傳至雲端,實現雲端實時檢測。

通過控制電機和補光燈的啟動條件,實現所需環境要求的動態調節。

本組設計的主要特色

硬體方面:小熊派開發板+nb通訊模組+智慧型農業拓展模組。

軟體模組:華為liteos+stm32l431rct6

liteos 面向物聯網的作業系統,具有輕量級、低功耗、互聯互通等特性。

開發環境為iot studio。

小熊派開發板,面向物聯網,擴充套件性強。

基本實現雲端互通。

本組設計的體系結構

雲端系統實時檢測

web應用

stm32l431rct6+liteos

nb通訊擴充套件板nb35—a

智慧型農業擴充套件板

e53_ia1

本組設計中的關鍵模組流程圖及程式實現說明

實驗整體流程

裝置開發與應用開發分雙線進行,其中,裝置開發在iot studio上進行,以liteos為基礎,將智慧型農業擴充套件模組和lpwn的nb通訊模組分別進行程式移植,並複製裸機驅動到liteos工程並將驅動檔案的路徑新增到makefile檔案,初始化e53_ia1擴充套件板進行資料採集任務。

本組設計的軟體程式模組說明與使用手冊

裝置開發部分:

智慧型農業e53_ia1擴充套件板程式:

e53_ia1

擴充套件板中使用

bh1750

光照強度感測器,

sht30

溫濕度感測器。

// 說明

:初始化

bh1750

函式init_bh1750

void

init_bh1750

(void)

// 說明

:啟動bh1750

函式start_bh1750

void

start_bh1750

(void)

// 說明

: 數值轉換函式

float

convert_bh1750

(void)

// 說明

: sht30

復位函式

void

sht30_reset

(void

) ;

//soft reset  

hal_i2c_master_transmit

(&hi2c1,sht30_addr<<

1,sht3x_resetcommand_buffer,2,

0x10

); hal_delay(15

); }

// 說明:

初始化sht30

函式init_sht30

void

init_sht30

(void

) ;

//periodic mode commands

hal_i2c_master_transmit

(&hi2c1,sht30_addr<<

1,sht3x_modecommand_buffer,2,

0x10

); //send periodic mode commands }

//檢查資料正確性

uint8_t

sht3x_checkcrc

(char

data,

char

nbrofbytes,

char

checksum) }

if(crc != checksum)

return1;

else

return0;

} //

溫度計算函式名稱

: sht3x_calctemperaturec

//引數

: u16st

:讀取到的溫度原始資料

float

sht3x_calctemperaturec

(unsigned

short

u16st)

//濕度計算函式

: sht3x_calcrh

//引數: u16srh

:讀取到的濕度原始資料

// 返回

值: 計算後的濕度資料

float

sht3x_calcrh

(unsigned

short

u16srh)

// 初始化

init_e53_ia1

的馬達 void

init_motor

(void)

//初始化init_e53_ia1

的補光燈

void

init_light

(void)

//擴充套件板初始化

init_e53_ia1

void

init_e53_ia1

(void)

擴充套件板驅動程式:

static

void

timer1_callback

(void

*arg)

//lcd

顯示器模組 }

//訊息處理函式

static

int(

void

*usr_data,

en_oc_lwm2m_msg_t

type,

void

*data,

intlen)

memcpy

(s_rcv_buffer,msg,len);

s_rcv_datalen = len;

osal_semp_post

(s_rcv_sync);

ret = 0;

}return

ret; }

驅動程式主函式

//任務管理與建立

int()

新增驅動程式到路徑,liteos

的整個專案工程使用

make

構建,完成驅動程式後,需要新增驅動檔案的路徑到

makefile

中,加入工程編譯,就完成了驅動的移植。 配置

config_user_demo

巨集定義,將擴充套件板程式新增到

makefile

中進行編譯,在工程根目錄下的.sdkconfig檔案中的末尾即可配置:

至此,編譯、鏈結並將程式燒錄至開發板,完成裝置端開發。

雲端開發流程:

應用開發部分:

產品建立,定義profile:

裝置運**況檢測:

設定裝置執行規則,雲端資料監測,自動傳送訊息:

串列埠助手實時顯示資料傳送

以motor_on為例:

手動傳送指令到終端:

本組設計主要測試結果與效能分析

雲端介面展示

課程設計總結(包括設計的總結和還需改進的內容)

基於小熊派的智慧型農業案例總結:

實驗中,主要參考小熊派的智慧型農業開發案例,基本實現了智慧型農業的智慧型感知、可靠傳輸、實現了雲端的資料視覺化、同時可以手動控制終端裝置(電機和補光燈)的允許,或者通過設定相應的裝置規則,從而實現環境溫度、光照的自動調節。

就整體完成情況而言,以lite os為基礎,基本實現了嵌入式系統的各個環節。

2、在liteos作業系統的基礎上,實現了感知層的智慧型感知,傳輸層的nb通訊,以華為雲平台作為應用層服務,實現雲端資料的實時監測,遠端控制。

通過設定在應用端設定裝置規則,可將裝置啟動控制在特定條件下溫度大於一定值,則電機啟動,否則電機關閉;設定補光燈在光照小於一定值時,補光燈開啟,提高光照,從而實現裝置的智慧型化控制。

實驗不足與改進:

實驗中資料傳送與接受到雲端的延時相對較大,一般無法立即觀察到資料的實時顯示,即便是手動和自動控制裝置(電機和補光燈),仍然會有較大延時,但是通過串列埠傳送到資料顯示,資料確實是按照程式中要求的實時傳送。

多次實驗發現,只有在復位開發板之後,資料才能通過nb通訊,傳送到雲端,但是最多只能持續很短時間的實時傳送,可以在雲端實時顯示溫濕度及光照的變化,之後大概就好像中斷了,資料就不能傳送到雲端了。但是通過串列埠傳送的資料顯示,資料仍然在實時傳送,這一點未能解決。

基於ARM的Qt Creator嵌入式開發環境搭建

平台 ubnutu10.04 交叉編譯器 arm linux gcc 3.4.1 在qtqt everywhere opensource src 4.8.1.tar 解壓為3 份,可分別命名為 qt x11 qt x86 qt armqt x11版本可以產生 qt開發工具 designer qt介面...

基於小熊派開發板的物聯網實戰開發(一) 平台側開發

本系列教您如何利用小熊派開發板和華為雲物聯網平台進行智慧型能力 智慧型煙感和智慧型物流場景的開發。進行開發前,請先自行註冊華為雲賬號 完成認證並開通華為雲物聯網平台開發中心。在開發中心內點選 新建專案 輸入專案名稱 hcip iot 選擇所屬行業 公共事業 nb iot 點選 確定 儲存返回的秘鑰後...

智慧型PDA開發方案(嵌入式應用) 2

下圖為flash儲存器部分的原理圖 sd儲存卡電路 3 電源 時鐘和復位電路 1.電源 電源部分為整個系統提供電力。電源部分的關鍵問題是低功耗的設計問題,低功耗的措施一般有 降低電壓 降低時鐘頻率 選擇低功耗器件等等。本系統電源的提供有電池供電和市電供電兩種。電池供電功耗低 供電穩定 扛干擾能力好,...