当前位置: 首页 > news >正文

mqtt 传递和推送 温湿度计消息 js

mqtt 传递和推送 温湿度计消息

做了一个mqtt的小网站

包括设备管理,订阅管理,连接认证+订阅授权
请添加图片描述
请添加图片描述
请添加图片描述
这里我新增了一个设备

订阅组温湿度里面有两个订阅
在这里插入图片描述
设备详情授权给设备使用

设备连接

和之前的wifi连接一样 温湿度也和之前的使用一样

require('utils/wifi.js').connent(WIFI_NAME, WIFI_OPTIONS, function () {console.log('start')initMqtt();
})

wifi连接上后 这里我用的1883

function initMqtt() {try {var mqtt = require("modules/MQTT.js").create("mqtt address", {client_id: "xxx",port: 1883,username: 'xxx',password: 'xxx',});mqtt.on('connected', function () {mqtt.subscribe("dh11/send");var dht = require("modules/DHT11.js").connect(NodeMCU.D1);mqtt.publish("dh11/data", "设备连接成功");setInterval(function () {dht.read(function (a) {var temp = a.temp.toString();var rh = a.rh.toString();var data = "温度为" + temp + "湿度为" + rh;mqtt.publish("dh11/data", data);});}, 1000)// setInterval(function () {//     mqtt.publish("joystick/direction", "我是傻逼");// }, 1000);});mqtt.on('publish', function (pub) {if (pub.topic == 'dh11/send') {console.log("message: " + pub.message);}});mqtt.connect();} catch (error) {console.log(error);}
}

连接成功后设备详情显示连接信息
请添加图片描述
显示订阅使用状态

请添加图片描述
请添加图片描述
查看数据

推送消息给设备

请添加图片描述
请添加图片描述

更改数据获取方式

设备一连接不直接推送

通过告知设备消息让设备返回

修改 mqtt.on(‘publish’, function (pub) {

 var dht = require("modules/DHT11.js").connect(NodeMCU.D1);mqtt.on('publish', function (pub) {if (pub.topic == 'dh11/send') {console.log("message: " + pub.message);var param = JSON.parse(pub.message);if (param.type == 1) {dht.read(function (a) {var temp = a.temp.toString();var rh = a.rh.toString();var data = "温度为" + temp + " 湿度为" + rh;mqtt.publish("dh11/data", data);});}}});

当收到type:1 再推送 一个简单的交互
请添加图片描述

请添加图片描述
请添加图片描述

当然 平台上推送消息具有局限性,可以多个设备公用订阅组来数据交流


http://www.mrgr.cn/news/67168.html

相关文章:

  • 图文深入介绍Oracle DB link(一)
  • 【5.8】指针算法-双指针验证回文串
  • .NET使用SqlSugar实现单列批量更新的几种实现和对比
  • 防火墙|WAF|漏洞|网络安全
  • Java学习教程,从入门到精通,Java对象和类语法知识点(20)
  • DAY21|二叉树Part08|LeetCode: 669. 修剪二叉搜索树、108.将有序数组转换为二叉搜索树、538.把二叉搜索树转换为累加树
  • 盘点10款录音转文字工具,帮你开启高效记录。
  • 架构零散知识点
  • 看到你还在用Maven,Gradle难道不香吗?
  • 接口测试用例设计的关键步骤与技巧解析
  • 深度学习:循环神经网络(RNN)详解
  • openssl生成加密,公钥实现非对称加密
  • 通过 SSH 连接远程 Ubuntu 服务器
  • Uniapp全局文件执行顺序详解
  • 第11章 LAMP架构企业实战
  • 基于STM32的智能声音跟随小车设计
  • html语法
  • 第2章-立项 2.1硬件工程师为什么要关注立项
  • 微服务系列五:避免雪崩问题的限流、隔离、熔断措施
  • 探索人工智能的不同形态与未来方向:从ANI到AGI,再到ASI
  • 写歌词的技巧和方法:精准用词,让歌词熠熠生辉,妙笔生词AI智能写歌词软件
  • MySQL是怎么保证高可用的?
  • 人工智能:引领未来的变革之路
  • K-M算法(图像凭借特征点匹配)
  • [SWPUCTF 2022 新生赛]Cycle Again -拒绝脚本小子,成为工具糕手
  • C++之list的使用