聚丰项目 > 基于Rt-Thread物联网操作系统的水质在线监测系统设计

基于Rt-Thread物联网操作系统的水质在线监测系统设计

基于Rt-Thread物联网操作系统的水质在线监测系统设计,本项目采用AB32VG1作为核心处理器,基于Rt-Thread物联网操作系统设计一款可以在线实时检测水质的仪器,并将检测结果实时上传到onenet物联网平台。相相对于目前市场上的水质测试笔,该检测仪可以实现数据的远距离传输,另外本方案采用了双极性激励法,避免了市面上水质测试笔单极性激励易使测量电极化和测量易引起电容效应进而影响测量结果。实验证明本方案测量结果准确稳定性较好。

jf_22885777 jf_22885777

分享
2 喜欢这个项目
团队介绍

jf_22885777 jf_22885777

团队成员

王怀亮 学生

徐梦平 学生

分享
项目简介
基于Rt-Thread物联网操作系统的水质在线监测系统设计,本项目采用AB32VG1作为核心处理器,基于Rt-Thread物联网操作系统设计一款可以在线实时检测水质的仪器,并将检测结果实时上传到onenet物联网平台。相相对于目前市场上的水质测试笔,该检测仪可以实现数据的远距离传输,另外本方案采用了双极性激励法,避免了市面上水质测试笔单极性激励易使测量电极化和测量易引起电容效应进而影响测量结果。实验证明本方案测量结果准确稳定性较好。
硬件说明

硬件部分主要由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之间连接关系如下图所示:

image.png









软件说明

软件方案比较简单,采用多线程运行的方案,也没有考虑线程之间的通信,采用全局变量 实现,整体是按照不同功能模块分为了以下几个线程:

serial_thread_entry串口发送线程,负责将采集到的温度数据和计算的TDS值上发送给4G透传模块。

oled_display_entry线程负责测量数据的本地显示

adc_vol_entry负责模拟量通道的电压采集

read_temp_entry线程负责温度的读取

TDS_cal_entry根据采集到的模拟量和温度值进行TDS值的计算

软件运行的逻辑是:

image.png

主函数:

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)下载

评论区(0 )