微信小程序连接服务器展示MQTT数据信息的实现


Posted in Javascript onJuly 14, 2020

一、 实现工具——微信开发者工具

为何使用微信小程序作为展示?
(1)范围广且能跨平台访问;
(2)小而快能够快速的访问;

二、 实现步骤

1、总体大概:

(1)界面设计:数据直观展示+历史数据+物联网调试信息
(2)连接服务器与回调
利用wx.request(Object object)发起 HTTPS 网络请求。

参数:

  • url:开发者服务器接口地址;
  • data:请求的参数;
  • header:设置请求的 header,header 中不能设置 Referer。

微信小程序连接服务器展示MQTT数据信息的实现

成功连接将会调用success: function (res) {}函数,我们可以利用console.log(res.data)打印出服务器传来的数据Var一个that新的this变量将我们传来的数据以列表保存。

微信小程序连接服务器展示MQTT数据信息的实现

服务器连接失败会调用fail: function (err)函数,并通过{console.log(err)}打印出错误信息。

2、细节展示

A、数据展示界面

微信小程序连接服务器展示MQTT数据信息的实现

状态:

微信小程序连接服务器展示MQTT数据信息的实现

此处利用条件渲染绑定服务器传来的开关值,利用图片直观展示开关情况。

温湿度:

微信小程序连接服务器展示MQTT数据信息的实现

微信小程序连接服务器展示MQTT数据信息的实现

温度和湿度通过对列表遍历得到最新的值显示在自己设置的view。

B、历史记录展示界面

微信小程序连接服务器展示MQTT数据信息的实现

利用循环渲染将每次获取到的列表展示。同时调用服务器接受传来的时间准确直观展示每一次的历史数据。

C、物联网调试信息界面

我们如果使用lot调试设备将会在此界面展示调试信息:

微信小程序连接服务器展示MQTT数据信息的实现

步骤:

a、创建物联网平台

选择物联网平台

点击设备管理,选择产品,创建产品

给产品命名

在标准品类,选择智能生活,选择灯;节点类型选择直连设备 ;连网方式选择WIFI;数据格式选择ICA标准数据类型;保存

然后在产品下创建一个设备微信端;点击设备;添加设备;产品选择刚建立的产品;再给设备命名;点击确认

b、代码替换三元组与订阅发布主题

微信小程序连接服务器展示MQTT数据信息的实现

c、检验连接是否成功

回调成功以弹窗方式展示:

微信小程序连接服务器展示MQTT数据信息的实现

当服务器连接异常进行错误函数回调并打印错误信息:

微信小程序连接服务器展示MQTT数据信息的实现

(关于更多lotl连接请点击我参考的大佬博客:只要会用电脑就能看懂的物联网教程(阿里云+esp8266+微信小程序)

3 出现错误及改正

A.自定义订阅主题不被识别
解决方法:点击规则引擎的云产品流传发现创建规则数据格式选择二进制格式,改为JSON格式解决
B.控制台打印错误:Please do not call Page constructor in files that not listed in"pages" sect
解决方法:用来测试的界面app.js文件不能加Page({}) 会有引用错误。加上即解决。
C.小程序无法从服务器拿到最新的测试数据
解决方法:服务器创建新API,更改sql语句

select * from mqtt where id = (select max(id) from mqtt);

拿到最新数据渲染在自己设计的View中。

到此这篇关于微信小程序连接服务器展示MQTT数据信息的实现的文章就介绍到这了,更多相关小程序连接服务器展示MQTT内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
jQuery timers计时器简单应用说明
Oct 28 Javascript
用javascript模仿ie的自动完成类似自动完成功的表单
Dec 12 Javascript
jquery.validate使用时遇到的问题
May 25 Javascript
JS闭包、作用域链、垃圾回收、内存泄露相关知识小结
May 16 Javascript
JS与HTML结合使用marquee标签实现无缝滚动效果代码
Jul 05 Javascript
jQuery简单实现的HTML页面文本框模糊匹配查询功能完整示例
May 09 jQuery
AngularJS与BootStrap模仿百度分页的示例代码
May 23 Javascript
vue生命周期和react生命周期对比【推荐】
Sep 19 Javascript
JS二级菜单不同实现方法分析【4种方法】
Dec 21 Javascript
JavaScript 格式化数字、金额、千分位、保留几位小数、舍入舍去
Jul 23 Javascript
Vue $attrs & inheritAttr实现button禁用效果案例
Dec 07 Vue.js
JS创建自定义对象的六种方法总结
Dec 15 Javascript
详解javascript void(0)
Jul 13 #Javascript
Vue组件间数据传递的方式(3种)
Jul 13 #Javascript
vue-cli4项目开启eslint保存时自动格式问题
Jul 13 #Javascript
详解Vue+elementUI build打包部署后字体图标丢失问题
Jul 13 #Javascript
浅谈JavaScript中你可能不知道URL构造函数的属性
Jul 13 #Javascript
Vue3新特性之在Composition API中使用CSS Modules
Jul 13 #Javascript
Threejs实现滴滴官网首页地球动画功能
Jul 13 #Javascript
You might like
用PHP和ACCESS写聊天室(五)
2006/10/09 PHP
逐步提升php框架的性能
2008/01/10 PHP
PHP在线生成二维码代码(google api)
2013/06/03 PHP
php生成缩略图填充白边(等比缩略图方案)
2013/12/25 PHP
php判断数组是否为空的实例方法
2020/05/10 PHP
用javascript动态调整iframe高度的方法
2007/03/06 Javascript
extjs 学习笔记(二) Ext.Element类
2009/10/13 Javascript
JavaScript与DOM组合动态创建表格实例
2012/12/23 Javascript
jQuery插件jFade实现鼠标经过的图片高亮其它变暗
2015/03/14 Javascript
JavaScript检测原始值、引用值、属性
2016/06/20 Javascript
Angularjs 创建可复用组件实例代码
2016/10/09 Javascript
bootstrap 表单验证使用方法
2017/01/11 Javascript
js仿微博动态栏功能
2017/02/22 Javascript
微信小程序中添加客服按钮contact-button功能
2018/04/27 Javascript
详解vue2.0监听属性的使用心得及搭配计算属性的使用
2018/07/18 Javascript
JavaScript使用indexOf()实现数组去重的方法分析
2018/09/04 Javascript
JS实现点击按钮随机生成可拖动的不同颜色块示例
2019/01/30 Javascript
js实现删除li标签一行内容
2019/04/16 Javascript
python解析json实例方法
2013/11/19 Python
用实例解释Python中的继承和多态的概念
2015/04/27 Python
pycharm中连接mysql数据库的步骤详解
2017/05/02 Python
修复CentOS7升级Python到3.6版本后yum不能正确使用的解决方法
2018/01/26 Python
python写一个md5解密器示例
2018/02/23 Python
Python实现简单的用户交互方法详解
2018/09/25 Python
Python3 mmap内存映射文件示例解析
2020/03/23 Python
Python中的全局变量如何理解
2020/06/04 Python
python中time、datetime模块的使用
2020/12/14 Python
利用python实现后端写网页(flask框架)
2021/02/28 Python
css 如何让背景图片拉伸填充避免重复显示
2013/07/11 HTML / CSS
小学五年级学生评语
2014/04/22 职场文书
《雕塑之美》教学反思
2014/04/24 职场文书
高中校园广播稿3篇
2014/09/29 职场文书
学校运动会广播稿范文
2014/10/02 职场文书
交通事故委托书范本精选
2014/10/04 职场文书
2015年世界无烟日活动总结
2015/02/10 职场文书
工作简历的自我评价
2019/05/16 职场文书