【RT-Thread作品秀】基于rt-thread的小型蚯蚓养殖监控系统-电路方案

上传者: 38665411 | 上传时间: 2021-05-29 15:35:19 | 文件大小: 1.04MB | 文件类型: ZIP
作者:刘涛 概述:小型蚯蚓养殖监控系统主要探索在家庭等局限场地下,蚯蚓的正常养殖,从而得到蚯蚓粪和蚯蚓液。系统基于ART-PI & RT_Studio开发,使用了dht11,ds18b20,土壤湿度,mpu6050监测养殖环境中的空气温湿度,土壤温湿度和蚯蚓的抖动密度。外置的风扇和水泵对上述环境变量进行控制。连接onenet后可以及时在后台远程观测环境变量并加以控制。 开发环境 硬件:ART-Pi STM32H750 扩展板:DS18B20防水数字温度传感器,DHT11温湿度传感器,2pcs MPU6050传感器,土壤湿度传感器 RT-Thread版本:RT-Thread V 4.0.3 开发工具及版本:RT-studio2.0.0 RT-Thread使用情况概述调度器:创建多个线程来实现不同的工作。 信号量:用来同步线程。 互斥量:多个相关采集线程能同时获得系统资源,不被其他线程抢占 消息队列:用来实现采集线程,控制线程和OneNet upload线程的同步。 消息邮箱:onenet_mqtt接受控制命令后和控制线程的同步 组件部分:I2c框架,Sensor框架 I2C框架:使用I2C框架来驱动MPU6050 ADC device:用来采集土壤湿度 PWM device:用来控制风扇,水泵。 Sensor框架:MPU6050,DHT11,DS18b20均为基于sensor框架的包,为上层提供统一的操作接口,提高上层代码的可重用性;简化底层驱动开发的难度。 软件包部分: Webclient:提供设备与HTTP Server的通讯的基本功能。 pahomqtt,:本软件包是在Eclipse paho-mqtt源码包的基础上设计的一套MQTT客户端程序。 Onenet:是RT-Thread针对OneNET平台连接做的的适配,通过这个软件包,可以让设备在RT-Thread上非常方便的连接OneNet平台,完成数据的发送、接收、设备的注册和控制等功能。 cJSON:C语言实现的极简的解析JSON格式的软件包。 DHT11:GPIO模拟单总线协议,读取传感器温湿度,注册在sensor框架 Ds18b20:GPIO模拟单总线协议,读取传感器温度,注册在sensor框架 MPU6050:本软件包是为InvenSense公司的六轴系列传感器提供的通用传感器驱动包,可选I2C或SPI通信协议。通过Sensor框架,开发者可以快速的将此传感器驱动起来。 硬件框架ART-Pi外挂多个传感器作为采集输入设备, 水泵和风扇作为控制设备。ART-Pi本身作为Onenet的一个终端设备来上传数据接收和接收命令。 软件框架说明多个采集线程实时读取环境中的温湿度,发送到stream消息队列;Onenet上传线程接收消息并上传到相应stream。当云端下发命令,触发Onenet_cmd_rsp_cb,在里面发送接收的控制命令到命令缓存邮箱,控制线程查询邮箱,发现邮件后使用rt_mq_urgent发送紧急控制stream,及时同步云端控制设备的状态。 软件模块说明共创建了2个信号量,1个消息队列,1个互斥量,7个线程 信号量: mqttinit_sem主要用于wifi的连接及onenet_mqtt_init的同步问题。 sensor_msg_sem_empty主要限制采集线程占用的消息资源个数 5个采集线程: adc1_5_entry:周期性读取土壤湿度传感器的值,并把读取到的值发送到消息队列sensor_msg_mq read_dhtll_entry:周期性读取DHT11温湿度传感器的值,并把读取到的值发送到消息队列sensor_msg_mq read_ds18b20_entry:周期性读取ds1b20土壤温度传感器的值,并把读取到的值发送到消息队列sensor_msg_mq read_gyro0_entry:周期性读取MPU6050_0六轴传感器的Y轴角速度,作为蚯蚓活动强度(间接反映蚯蚓密度和活性情况),并把读取到的值发送到消息队列 read_gyro1_entry:同上,两点测量。 消息队列: sensor_msg_mq:为了同步采集线程,控制线程和云端的同步。由于Onenet数据刷新有要求,更新数据快了也没用,这里设置为1s.生产者过多,消费速率过慢,最终都会过剩。只分配5个消息给到采集线程。 另外,虽然我们开辟了8个消息,但是我们使用了sensor_msg_sem_empty信号量来限制采集线程只能使用5个,留下的3个用来快速同步控制流,及时刷新云端控制设备的状态。 互斥量: sensor_msg_mutex:由于DHT11同时读取了温度和湿度两个环境变量,对应云端两个stream,需要发送两次消息,为确保两个stream的同步,先获取互斥量,

文件下载

资源详情

[{"title":"( 5 个子文件 1.04MB ) 【RT-Thread作品秀】基于rt-thread的小型蚯蚓养殖监控系统-电路方案","children":[{"title":"代码地址.txt <span style='color:#111;'> 57B </span>","children":null,"spread":false},{"title":"FrktgMiovUuqu7Kj7SBALnN4TBqc.png <span style='color:#111;'> 2.12MB </span>","children":null,"spread":false},{"title":"基于rt-thread小型蚯蚓养殖监控系统.pdf <span style='color:#111;'> 764.99KB </span>","children":null,"spread":false},{"title":"Fmw_SSf_60xdDhz38cjp83IGT-f2.png <span style='color:#111;'> 43.21KB </span>","children":null,"spread":false},{"title":"FuZd-_6oEzywB05evMSudC_8QWWD.png <span style='color:#111;'> 81.00KB </span>","children":null,"spread":false}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明