2016年广东省电子设计大赛健康电子专题——健康养殖远程监控系统(环境监控系统V1.0版本) 电路方案

上传:李行歌 浏览: 5 推荐: 0 文件:ZIP 大小:1.84MB 上传时间:2021-04-26 00:13:38 版权申诉
2016年7月至8月下旬,笔者正逢大一暑假,和两个大二的师兄一起参加了这个比赛。 现在笔者读大三,比较有时间便分享一下这段经历,下面主要讲整个系统的设计和之后完善方向。 首先是解题思路:我们查看了官网上有关这次比赛健康电子专题的资料,资料上提出希望参赛者结合互联网+、物联网技术,设计一个关于健康电子的作品。于是,我们便有了这个想法,通过无线方式上传数据至云端,监测、上传一些危害人体健康的数据,并可以实时看到数据且通过控制减少危害,这完全切合题意。 系统实现的功能:集云端监测、自动化控制(闭环)、远程控制(开环)于一体,运用WIFI和GPRS技术,将水质指标数据上传至云端(OneNet物联网云服务平台),当水质指标值超过设定值时,系统向用户发送手机信息和控制水质处理设备,改善水质的质量。 详细介绍:该系统通过传感器检测水体中的水温、水浊度、PH值以及外界的光照强度。经过单片机(arduino)的处理,系统将传感器的数值转换为对应的水体指标数值,经过按键选择WIFI和GPRS传输模式,将数据上传至ONENET平台。用户可通过电脑网页或手机APP查看数据和控制水质处理设备。当水质指标超过设定值时,系统向用户发送手机信息和控制水质处理设备,改善水质的养殖质量。 采用的方案: 该系统采用WIFI和GPRS相互结合进行传感器数据的传输,通过ONENET平台进行数据的上传。 功能框图: 硬件: 单片机:arduino mega2560 传感器: DS18b20 、PH计、浑浊度传感器、光照传感器 模块:ESP8266、 SIM800、继电器 主程序框图: 部分程序框图: 部分源代码: String ssid = "PUSHPULL";//需要连接的自己路由器的无线名称 String pass = "888******";//无线密码 #define OneNetAPIKEY "pmWLtnkDBSreKfvg7GsClUXdXa4A'' //ONENET的APIkey #define OneNetDeviceID 79146 //设备ID号 #define OneNetSensorID0 "TEMP" //数据流名称 #define OneNetSensorID1 "HUMI" WIFI wifi; void setup() { wifi.begin(ssid,pass);//设置wifi连接 } void loop() { //读取温湿度传感器值,经过这个函数后,myDHT11.TEM_Buffer_Int和myDHT11.HUMI_Buffer_Int被分别填充上了温度和湿度值 myDHT11.DHT11_Read(); //将数据上传到ONENET对应的设备和传感器 wifi.postDataToOneNet(OneNetAPIKEY,OneNetDeviceID,OneNetSensorID0,myDHT11.TEM_Buffer_Int); delay(1000); wifi.postDataToOneNet(OneNetAPIKEY,OneNetDeviceID,OneNetSensorID1,myDHT11.HUMI_Buffer_Int); delay(1000); } //该代码例程是一位arduino开发者写的,底层函数打包在一个arduino的CPP库中,WIFI传输数据全是基于这个代码。 //以下是GPRS上传数据的函数,我们团队编写的。 void postGSMdatatoOneNet(String APIKEY1,unsigned long device_id,String sensor_id,float thisData){ Serial.println("AT+CIPSTART=\"TCP\",\"api.heclouds.com\",80"); //修改为要发送给的IP和端口 delay(3000); Serial.println("AT+CIPSEND"); //设置发送模式 delay(100); time = millis(); //返回当前CPU时间 String cmd; //以下按照ONENET通信协议,发送字符串 cmd = "POST https://api.heclouds.com/devices/"; cmd += String(device_id); cmd += "/datapoints HTTP/1.1\r\n"; cmd += "Host: "; cmd += "api.heclouds.com"; cmd += "\r\n"; cmd += "api-key: "; cmd += APIKEY1; cmd += "\r\n"; cmd += "C
上传资源
用户评论