第十二次培训:考虑真实环境,测量流浪狗数据,初步制定数据上传策略_流浪狗数据图-程序员宅基地

技术标签: 物联网培训计划  

14年研发的esp8266尺寸5mm*5mm,配合dht11(23.5mm*12mm*5.5mm),可以嵌套在为流浪狗(考虑小型犬类,活动范围广,可以提供多组数据)准备的项圈上面。

基于Arduino的温湿度上传OneNET,同时SIM900A短信报警(1)相似项目

1、总体方案

Arduino判断,DHT11温湿度传感器采集的数据,ESP8266模块连接WiFi,将数据按网关通信协议+mqtt协议上传至OneNET服务器(或别的云服务平台),使用者可在平台实时查看温湿度数据。设定温湿度值上限与下限,若温湿度数据超过设定范围(流浪狗因室外温度变化出现生命危险),则立即向手机发送警报,同时触发蜂鸣器(引起小狗附近的人查看),用SIM900A模块发送短信到指定的手机号。同时心率传感器测量心跳,设定心跳下限,心跳过慢同样发送警报。一般的幼年狗比成年狗心跳速率要快,大约为115—zhi100/S,成年狗心跳速率大约为85—100之间;正常情况下狗的心率在每分钟90次左右,犬种越大,心率越低。

实际数据传输过程中,如果中间节点出现什么故障是难以知道的。更要命的是,有的节点(防火墙)会自动把一定时间之内没有数据交互的连接给断掉。在这个时候,就需要我们的心跳包了,用于维持长连接,保活。

心跳机制?/数据上传频率(相关详解-里面有实例、源码,接入到阿里云

就是每隔几分钟发送一个固定信息给服务端,服务端收到后回复一个固定信息如果服务端几分钟内没有收到客户端信息则视客户端断开。一般的应用下,判定时间在30-40秒比较不错。如果实在要求高,那就在6-9秒。

在室外温度严重影响流浪狗,也就是小狗体温过高时,启用风扇帮助降温,但是风扇可能增加项圈重量,平时对小型犬类造成负担。所以在考虑要不要加风扇。

2、所需的组件

● Arduino UNO开发板

● ESP8266 Wi-Fi模块

● MQ-2气体传感器

● 蜂鸣器

● 连接导线

● 面包板

 

3、各模块设计

 Arduino Uno:

可通过USB连接或者外部电源供电。外部(非USB)电源可以是AC-DC适配器,也可以是电池。电路板可由6-20V外部电源供电。然而,如果电源电压低于7V,那么5V引脚可能会提供低于5V的电压,电路板也许会不稳定。如果电源电压超过12V,稳压器可能会过热,从而损坏电路板。电压范围建议为7~12V。

温湿度传感器:

Arduino单片机和DHT11传感器之间只要连一个数字口,DATA接11口就可以了(随便你定义)。DHT11传感器的引脚VCC可以接Arduino 的5V供电,GND脚接Arduino的地,空脚悬空不接。

#include "dht11.h"
DHT11 myDHT11(11);
int temp=1;
int humi=1;
myDHT11.DHT11_Read();               //读取温湿度值

这是部分代码,dht11的库是网上找的一个,调用就可以了。

esp8266模块:

将WiFi模块的VCC和CH_PD端共接电源5V,将WiFi模块的GND接GND。模块URXD接Arduino开发板的TXD,UTXD接Arduino开发板的RXD。自带有一个信号指示灯和一个电源指示灯。在接上正确的电源后,红灯长亮,表示模块已经开始工作。在串口发送AT指令或者数据时,WiFi模块的蓝色指示灯会轻微的闪烁后熄灭。

 

串口初始化需要对相应的寄存器进行初始化,在这里设置其串口波特率为115200
Serial.begin(115200);

向OneNET云平台发送HTTP数据包时,要包含设备ID和APIKEY,这里可在程序开始就设置,而不是在post请求中就是为了方便修改。用如下函数即可:

#define DevicesID 516128482
char APIkey[] = "wsZg=kanSndl6XnjadWqwbgDi=E=";  

编辑函数set_ESP8266(),由AT命令使WiFi连接路由器和OneNET云平台

void set_ESP8266(void)
{
    Serial.println("AT");	                  //判断模块是否正常
    Serial.println("AT+CWMODE=3");        //设置WIFI应用模式
    Serial.println("AT+RST");              //重置WIFI模块
    Serial.print("AT+CWJAP=\"");      
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/Adaobaozhao/article/details/108345612

智能推荐

Qt制作局域网即时通讯软件_局域网内语音通话qt-程序员宅基地

文章浏览阅读5.5k次,点赞31次,收藏86次。Qt制作局域网即时通讯软件 利用Qt制作的局域网即时通信软件,可实现文本信息、表情包、图片、文档等的传输功能。界面风格模仿的Tim,所以本软件取名为Timi,tim的mini版本。登录界面:使用之前做的登录界面,后续修改。原因是没找到好的素材(不会美工),有会美工愿意提供素材的请联系。 文本信息发送:气泡效n果,文本信揭秘那息可自动换行,并且文本信息可选择/可复制。 发送..._局域网内语音通话qt

基于web的科研项目管理系统设计与实现_基于web的项目管理系统的设计与实现-程序员宅基地

文章浏览阅读5.1k次,点赞4次,收藏45次。需求:(1)项目申报模块包括申报新项目和我的申报信息。申报新项目:申报者对新项目进行申报,填写完申报信息并提交后,项目置为新申请状态;我的申报信息:申报者可以在我的申报信息里查看申报过的项目信息。(2)项目评审模块包括管理评审和专家评审。管理员评审:管理员对新申报的项目进行网络评审。专家评审:专家对初审状态的项目进行网络评审。(3)项目管理模块包括项目列表、项目进度和项目结题。项目..._基于web的项目管理系统的设计与实现

mysql dwith boost_linux下Mysql 8.0.19 编译安装-程序员宅基地

文章浏览阅读951次。1 前言linux下安装MySQL的方式有很多种,包括以仓库的方式安装(yum,apt,zypper),以包的方式安装(rpm,deb),以docker方式安装,从压缩包解压安装,从源码编译安装,这里使用的是最后一种,从源码编译安装。编译安装需要大量的耐心与时间,而且还会遇到非常多奇奇怪怪的问题,因此,需要极大的毅力,很有可能一万次失败也换不来一次的成功,请做好心理准备。2 准备工作下面是安装要求..._mysql dwith boost

mysql 高级(进阶学习)_mysql高级进阶-程序员宅基地

文章浏览阅读1.4k次,点赞2次,收藏8次。视图就是将某个查询语句存储在数据中,并为其命名,视图中并不存储数据,数据还是在基本表中存储。定义视图使用视图删除视图存储过程就是把一段处理逻辑存入到数据库中,使用是就由 JDBC 调用即可。调用存储过程可以减少应用程序和数据库交互次数,在数据库内部执行,执行效率高。存储事先需要定义,有三种参数类型:in 入参(接收调用者传入的数据)out 返回(向调用者返回数据)inout (既可以接收调用者传入的数据,也可以向调用者返回数据)函数是一个特殊的存储过程。存储过程不仅有输入参数,还有输出参数,但是没有返回值,_mysql高级进阶

goquery php,golang:Goquery简单爬虫实例-程序员宅基地

文章浏览阅读189次。Selection类型提供的方法,这些方法是页面解析最重要,最核心的方法1)类似函数的位置操作-Eq(indexint)*Selection//根据索引获取某个节点集-First()*Selection//获取第一个子节点集-Last()*Selection//获取最后一个子节点集-Next()*Selection..._goquery获取tbody的数据

计算机资源库在哪,电脑的资源管理在哪里-程序员宅基地

文章浏览阅读2.7k次。语音内容:大家好,我是时间财富网智能客服时间君,上述问题将由我为大家进行解答。电脑的资源管理的位置:1、单击开始菜单,在弹出的快捷菜单中选择文件资源管理器。2、按组合键Win+R打开运行窗口。3、在运行窗口中输入命令:explorer按回车键执行命令即可以打开资源管理器窗口。4、在桌面的任务栏上右击鼠标,在弹出的快捷菜单中选择“任务管理器。5、在任务管理器的菜单栏中选择文件中运行新任务。6、在运行..._计算机库到哪里找

随便推点

python文件加密_python加密文件-程序员宅基地

文章浏览阅读3.7k次。dd_python加密文件

推荐算法(一)--基本介绍_详细论述基于流行度的推荐算法的设计步骤法与应用特点-程序员宅基地

文章浏览阅读4.4w次,点赞26次,收藏194次。       &am_详细论述基于流行度的推荐算法的设计步骤法与应用特点

3DS轨迹球 + 光照_3d 模型 轨迹球旋转-程序员宅基地

文章浏览阅读388次。在前面的基础上 加个光照,会有什么效果?下面以博文《3D球体一个(纪念第一个opengl程序~~)》为模板,加入上一篇的代码下面是该文效果:加入我们的://显示有纹理贴图的3ds模型,+光照 +虚拟球旋转 //按a或d使...#define name3DS "Data/3ds/boy_back.3DS" //waji building_nb //wjj1_b_3d 模型 轨迹球旋转

整理一下nvm的安装以及安装后node生效且npm不生效的问题_nvm 安装之后 npm 不是有效-程序员宅基地

文章浏览阅读2.2w次,点赞35次,收藏134次。关于nvm / node / npm安装前须知nvm安装安装包地址配置路径和下载源检查nvm安装是否成功nvm相关指令node检查npm检查npm安装失败的处理查找和node版本相匹配的npm版本npm安装安装前须知必须卸载掉已有的node版本!!!这里不具体说了,如果不会卸载,可以参考这里:点击查看nvm安装安装包地址https://gitee.com/guozia007/layup-packages解压,傻瓜式安装,不过多说明了。配置路径和下载源来到安装nvm的文件夹,找到se_nvm 安装之后 npm 不是有效

对于以太坊的反思,美链,课程总结_学习以太坊感受-程序员宅基地

文章浏览阅读2k次。反思与总结_学习以太坊感受

Docker安装MySQL、nginx并且部署SpringBoot项目前后端(超详细版)_docker desktop 整合 nginx 和spring-程序员宅基地

文章浏览阅读1.4k次,点赞24次,收藏16次。超级详细的Docker部署Springboot项目的步骤,大家只需要按照文档一步一步的复制粘贴即可。_docker desktop 整合 nginx 和spring