ESP8266环境监测系统+制作手机App在线实时显示

原理讲解

原理简述:利用发布订阅模式。第一步,先ESP8266获取各种传感器数值,第二步,新建主题,然后esp8266往这个主题发送消息,第三步。app inventor 订阅这个主题,因为app inventor 制作的app 订阅了这个主题,就可以收到来自这个主题的消息,也就是可以收到各种传感器数值。

关于发布订阅:

订阅(订阅):订阅给定的一个主题/频道的信息。
发布(发布)将信息发送到指定的主题/频道。

只有订阅该主题的设备才可以收到发往该主题的消息。

通俗的来讲:就是像邮件订阅的场景,什么意思呢,也就是说100个人订阅了你的博客,如果博主发表了文章,那么100个人就会同时收到通知邮件,订阅/发布模式就是这样的原理。

如果还不理解的话再通俗讲一下,就像生活中听收音机,要想听收音机,肯定就是调频啦,只有在正确的频道上面,我们才能听得到好听的节目,所以说订阅首先要订阅一个频道/主题,只有订阅了该主题,我们才能收到发往该频道/主题的消息。

ESP8266读取各种传感器数值

由于大家的传感器不一样,这里就不统一做例程了,在程序里直接使用了虚拟数值,大家知道就好。

 /*****************获取到的传感器数值*****************/
      //为了演示,定义了多种类型的数据,可根据自己传感器自行选择
      int data1 = 32;
      float data2 = 27.8;
      unsigned int data3 = 45;
      unsigned char data4 = 26;
      double data5 = 99.12;
      String data6 = "ON";

这里只定义了6个数值,当然可以根据自己需要随意增加或者减少传感器个数,数据类型可自行随意修改int、float、double 、String类型等等。

传感器数据推送到云端

ESP8266示例程序下载:点击下载

如果上一步传感器数据可以成功读取,那么就可以在上版的基础上,把数据上传到云端。

///****************需要修改的地方*****************///

//WIFI名称,区分大小写,不要写错
#define DEFAULT_STASSID  "newhtc"
//WIFI密码
#define DEFAULT_STAPSW "qq123456"
//用户私钥,可在控制台获取,修改为自己的UID
String UID = "4d9ec35xxxxxxxxxxxxxxxxxxxxxxxxx";
//主题名字,可在控制台新建
String TOPIC = "mytemp";

///*********************************************///

巴法创客云控制台 新建一个主题,主题名字随意,例如mytemp,本实例用用mytemp,使用示例代码时应修改为自己的主题名字,字母或数字或字母加数字组合。UID为用户私钥,在 巴法创客云控制台 注册登陆后可获得。
登陆完成后,可在控制台看到自己的私钥UID,如图所示:

创建主题,在控制台,可创建主题。

  • 第一输入主题,字母或数字或字母+数字组合。
  • 点击创建主题。

WIFI名称为自己的路由器WIFI名称,区分大小写,写错会导致连接不上网络的。

例程中,每两秒上传一次数据:

 if(millis() - preHeartTick >= upDataTime){//上传数据
      preHeartTick = millis();

      /*****************获取到的传感器数值*****************/
      //为了演示,定义了多种类型的数据,可根据自己传感器自行选择
      int data1 = 32;
      float data2 = 27.8;
      unsigned int data3 = 45;
      unsigned char data4 = 26;
      double data5 = 99.12;
      String data6 = "ON";
      /*********************数据上传*******************/
      String upstr = "";
      upstr = "cmd=2&uid="+UID+"&topic="+TOPIC+"&msg=#"+data1+"#"+data2+"#"+data3+"#"+data4+"#"+data5+"#"+data6+"#\r\n";
      sendtoTCPServer(upstr);
      upstr = "";
    }

数据上传时用#号进行了封装,用以方便app收到数据后进行数据字符串分割,发送到服务器的数据就是这样的:
cmd=2&uid=8e91e806f3f898e0c3de5b37bf439388&topic=mytemp&msg=#32#27.80#45#26#456.12#ON#,数据部分用#号进行了包裹。

如果路由器有网络的话,数据会自动上传,可在巴法创客云控制台 刷新网页,即可看到上传的数据。如下图所示:

app inventor 制作app 接收实时数据

在appInventor 点击跳转广州站创建账号,并登陆。

本操作只提供一个app的demo,界面过于丑陋,大家可自由发挥更改界面。

app inventor 程序下载:点击下载

顶部导航栏,依次点击(项目-->导入项目aia),选择上一步骤下载的aia文件导入即可。点击导入的项目,即可看到控制面板,面板主要分为在组建设计和逻辑设计,用户可在右上角进行模式切换。

(组建设计)面板可以向屏幕添加组建以进行二次开发。(逻辑面板)则进行相关逻辑编写。


导入aia文件后,如果只是简单使用,只需要修改两个地方,一个是主题名字,一个是UID,均需开发者置换成自己的topic(主题名字)和UID(用户私钥),均可在创客云控制台获取点击跳转

此处的主题topic应该和ESP8266程序里面设定的主题修改为一样,不然会收不到消息。UID修改为自己的私钥。

界面还有功能之类的自己可以随意加,更改好,下载apk文件即可。

关键程序讲解

程序下载,修改关键参数后就可直接使用的,以下是关键程序讲解:

接收到带传感器的数据后,依照#号对字符串进行分割,有几个数值,就分割几次,自己要记住第几个数值代表哪种传感器就行了,比如要记住data1是温度,data2是湿度等等,这里的分割次数需要和上传的数据个数相等,有6个数值,就分割6次,7个数值就分割7次,就是依次增加或者减少就行。

当屏幕初始化时,会先订阅主题,只有订阅了这个主题,就可以实时收到发到该主题的消息,cmd=1是订阅指令,就是订阅主题的意思;cmd=9是遗嘱指令,就是获取服务器保存的数值,关于具体指令格式,可以在接入文档了解:接入文档

效果展示

app可实时展示当前各种传感器信息,可做远程监控,手机只要有网络就可以收到数据信息。不管是2G 3G 4G WIFI都行

原文地址:https://www.cnblogs.com/bemfa/p/12144513.html

时间: 2024-10-07 16:55:01

ESP8266环境监测系统+制作手机App在线实时显示的相关文章

(开源)STC89c51基于SP8266制作环境实时检测系统+APP inventor制作手机App实时显示

@ 目录 第一 .先上效果图 第二.原理讲解 第三.c51读取各种传感器数值 第四.传感器数据推送到云端 第五 下载程序到STC89c51即可 第六.app inventor 制作app 接收实时数据 关键程序讲解 第七.效果展示 第八 可能遇到的一些小问题 第一 .先上效果图 c51程序在第四步,app程序在第六步 第二.原理讲解 原理简述:利用发布订阅模式.第一步,先STC89c51获取各种传感器数值,第二步,新建主题,然后c51往这个主题发送消息,第三步.app inventor 订阅这个

淘年货--基于淘宝联盟自助建站系统的手机APP制作

今日淘宝联盟推出了自助建站系统,主要是面向自助手机APP的制作.正好非常适合本人这种网站初级开发者,编程知识懂一些,然后自己有一些创意,即可制作出一款非常实用的手机APP.APP的制作非常简单,有淘宝联盟账号的自己去官网看一下就可以了,我就不在此上教程了.下面展示一下本人通过该系统制作的APP--淘年货.          淘年货APP下载(扫面二维码可下载). 手机可通过网址http://tiaonianhuo.zhan.cnzz.net/来访问.   感兴趣的朋友可以参考一下,谢谢大家的支持

pc蛋蛋软件制作手机APP

现如今的生活人们已经离不开手机的使用.人类智慧的进步科技的发展 让生活在现代社会的人们享受到了一种前所未有的舒适感 离不开手机的原因很多 但是手机APP软件绝对占着绝对的一大半的核心因素 当然这些手机软件APP也让我们在生活中方便了许多 比如在吃饭的时候就可以手机支付 买衣服也不用到街上逛了 还有诸多的生活便利有人说有人的地方就有江湖,同样,有网络的地方就有商机 有商机就有发财致富的道路 为什么现在很多人都会说很后悔当初没有做某某个项目 要不然我现在生活过的这么不 如意之类的话 就是因为他们在该

用手机APP实现PLC远程监控

用手机APP实现PLC远程监控系统一.应用需求随着工业生产.制造环节的不断深化,工业设备的结构越来越复杂,借助PLC实现的自动化控制技术被广泛应用于工业设备中.在互联网+制造的大背景下,一种实现软硬件对接的手机APP远程监控PLC系统以其远程.高效.便捷的管理特点逐渐被自动化生产企业熟悉和认可,成为节约人力成本,提高产品效益的重要手段.二.系统实现手机APP远程监控PLC系统由现场感知.网络传输.远程监测控制三部分组成,由于PLC一般使用专用的通讯协议,APP使用网络通讯协议,二者不能直接通讯,

互联网营销新机遇,你需要更专业的APP在线制作平台

移动互联网的快速发展日新月异,如今手机APP是各行业企业的营销利器,但是目前应用市场上的APP同质化严重,有个性和特色的APP太少.那么如何定制开发一款个性化APP应用软件呢,制作一份好的APP策划方案尤其重要.那么一份好的APP策划方案该怎么入手呢?APP在线制作的专业平台APICloud给出自己的答案,为中小企业甚至草根创业者提供了敢想敢做的新方式,促成了互联网营销很多新机遇. 当今面临很多产业转型的经济形态下,传统行业的各大中小企业措手不及,包括个体户,想追上互联网步伐,却无从下手,对AP

高效的APP在线制作平台,让梦想轻松孵化器

似乎是在一夜之间,移动互联网时代已经悄然而至.借着时代的东风,国家吹响大众创业.万众创新的号角.有人在淘宝开店,有人兼职做了微商,可是要在数以百万计的竞争对手中脱颖而出,谈何容易!工欲善其事,必先利器.与其在红海中厮杀,不如到蓝海中畅游.拥有一款专属的电商APP,一定能使实现梦想的道路变得平坦.APICloud APP在线制作平台,就是您的梦想孵化器,您的梦想实现专家. 现在的手机是须臾不离手,手机上的APP极大方便了生活.可是人们会习惯的认为APP科技含量太高,研发成本巨大,不是一般人所能拥有

APP在线制作平台的全新时代

随着信息社会的飞速发展,现代人们生活越来越离不开互联网.各种功能的APP层出不穷,不过一款好的APP是需要经过专业设计,多次评估.测试才能够推出.而近几年超火爆的APICloud就是一个专业APP在线制作平台,在互联网时代下,打破行业设计局限,开创自己独特的发展道路. 据了解,APICloud是中国领先的"云端一体"移动应用云服务提供商.APICloud由"云API"和"端API"两部分组成,可以帮助开发者快速实现移动应用的开发.测试.发布.管理

搭建属于你的在线实时采集系统 ——HTML5 在嵌入式系统中的应用

※已刊登在<无线电>04月刊上   搭建属于你的在线实时采集系统--HTML5 在嵌入式系统中的应用   作者:刘琛,徐洋   摘要: 本应用摆脱了以往嵌入式系统的数据采集方式,借助于最新的HTML5的Canvas API及WebSocket API两大特性,实现了数据的在线实时采集功能.提升了嵌入式采集系统的性能及体验.为嵌入式开发工作者提供参考.   关键字:HTML5:HTTP Server:Canvas:WebSocket:W5500:实时:采集系统:      当今信息社会,信息就是

舍猪圈环境采集手机app远程系统

方案需求 猪场环境监控的目标是维持良好的猪场内部环境,室内外的温度.湿度.二氧化碳浓度.氧气浓度.光照强度.大气压力.有害气体浓度等:猪舍环境温湿度对育成猪的生理及生产指标有重要的影响.过去养猪场或养殖场对于环境管理相对疏漏,导致畜牧经常会诱发疾病.感染等问题,且无法得到有效缓解.监控系统可实现数据采集.存储.生成数据报表.数据历史曲线,监控室远程监控等功能. 养殖猪舍猪圈环境监测系统解决方案001 技术部署 现在的养殖场基本上都会采用一些环境监测仪器,如温湿度传感器.二氧化碳浓度检测仪.氨气浓