聚豐項目 > 基于Rt-Thread物聯網操作系統的水質在線監測系統設計
基于Rt-Thread物聯網操作系統的水質在線監測系統設計,本項目采用AB32VG1作為核心處理器,基于Rt-Thread物聯網操作系統設計一款可以在線實時檢測水質的儀器,并將檢測結果實時上傳到onenet物聯網平臺。相相對于目前市場上的水質測試筆,該檢測儀可以實現數據的遠距離傳輸,另外本方案采用了雙極性激勵法,避免了市面上水質測試筆單極性激勵易使測量電極化和測量易引起電容效應進而影響測量結果。實驗證明本方案測量結果準確穩定性較好。
jf_22885777
分享jf_22885777
團隊成員
王懷亮 學生
徐夢平 學生
硬件部分主要由AB32VG1核心板、擴展版、水質檢測測量電極、DS18B20穩定傳感器、AIR720 4G物聯網透傳模塊、OLED顯示屏等組成
RT-Thread使用情況概述:
整個方案涉及的技術棧有:硬件選型,PCB 設計,RT-Thread 程序,手機App開發、中國移動onenet產品開發,API 接口對接等等。
通過這個作品,鍛煉了實現產品的能力,對產品設計的不同方面都加深了理解。
內核部分:使用了RT-THREAD多線程編程
組件部分:使用了FinSH、ADC、串口等
軟件包:
ssd1306/DS18B20等
設備驅動:
GPIO/IIC/ADC 等
物聯網通信核心模塊采用的是AIR720 4G物聯網透傳模塊,Core-Air720 核心板是由銀爾達(yinerda)基于合宙 Air720 模組推出的低功耗,小體積,高性能嵌 入式 4G Cat1 核心版,最小成本的進項 2G、4G Cat4 切換。工作環境為-35℃-75℃,支持 5-12V 供電,Uart 做了電平轉換,可以直接與 3.3V MCU 使用串口進行 通信,預留 3.3V 高電平復位管教,方便異常恢復。支持標準固件 AT 固件,支持功能電話語音、短信、TCP&UDP、 TCP&UDP 透傳、NTP、HTTP、FTP、MQTT 等,同時也支持 lua 語言進行二次開發,提供全部功能的 demo,如 gpio 控制、阿里云、MQTT、uart、rs485、tcp/udp,http 等 。支持 DTU 透傳固件,通過服務器配置,能方 便的支持 TCP/UDP/MQTT/阿里云/時采集等功能,實現透傳功能.該模塊與AB32VG1之間連接關系如下圖所示:
軟件方案比較簡單,采用多線程運行的方案,也沒有考慮線程之間的通信,采用全局變量 實現,整體是按照不同功能模塊分為了以下幾個線程:
serial_thread_entry串口發送線程,負責將采集到的溫度數據和計算的TDS值上發送給4G透傳模塊。
oled_display_entry線程負責測量數據的本地顯示
adc_vol_entry負責模擬量通道的電壓采集
read_temp_entry線程負責溫度的讀取
TDS_cal_entry根據采集到的模擬量和溫度值進行TDS值的計算
軟件運行的邏輯是:
主函數:
int main(void)
{
//OLED顯示的初始化
ssd1306_Init();//添加代碼,顯示屏初始化
ssd1306_SetCursor(2, 6);//添加代碼,設置顯示光標位置
ssd1306_WriteString("TDS: ", Font_11x18, White);//添加代碼,設置顯示內容
ssd1306_SetCursor(2, 40);//添加代碼,設置顯示光標位置
ssd1306_WriteString("TEM: ", Font_11x18, White);//添加代碼,設置顯示內容
ssd1306_SetCursor(40, 40);//添加代碼,設置顯示光標位置
ssd1306_UpdateScreen();////添加代碼,更新顯示屏信息
//相關線程的創建與啟動
ds18b20_read_temp_thread_create();
oled_display_thread_create();
adc_voltage_thread_create();
uart_thread_create();
return RT_EOK;
}
代碼地址:https://github.com/sqnubin/bin.git
目前代碼不夠完美,希望可以修改實現線程之間的通信以及線程之間消息的同步,所以非常期待更多人可以參與進來,共同完善。
經過實測,本方案測量結果穩定,可以實現數據實時上傳到onenet物聯網平臺,實現水質的遠程觀測。
(3.82 MB)下載