请问如何使用电脑来控制设备-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1390|回复: 1

[已解答] 请问如何使用电脑来控制设备

[复制链接]
发表于 2021-10-8 03:01 | 显示全部楼层 |阅读模式
本帖最后由 xiyuesaves 于 2021-10-8 03:03 编辑

如题.我想使用一台服务器来控制某个设备的启动和关闭,我尝试用MQTT.js来向开发板发布信息,但是我似乎只是把开发板挤下线了,这是nodejs代码


  1. const mqtt = require("mqtt");
  2. const axios = require("axios");

  3. axios({
  4.     method: 'get',
  5.     url: 'https://iot.diandeng.tech/api/v1/user/device/diy/auth',
  6.     data: {
  7.         authKey: '**********************'
  8.     }
  9. }).then(function(res) {
  10.     var data = res.data.detail;
  11.     console.log(data)
  12.     if (res.data.message === 1000) {
  13.         var client = mqtt.connect(data.host, {
  14.             port: data.port,
  15.             clientId: data.deviceName,
  16.             username: data.iotId,
  17.             password: data.iotToken
  18.         });
  19.         client.on('connect', function() {
  20.             console.log("发送关闭信息")
  21.             client.publish(`/device/${data.deviceName}/s`, `{"toDevice":"${data.uuid}","data":{"btn-wm7":"on"}})`)
  22.         })
  23.         client.on('message', function(topic, message) {
  24.             console.log("返回数据", topic, message.toString())
  25.         })
  26.         client.on('error', function(error) {
  27.             console.log("出现错误", error)
  28.             client.end()
  29.         })
  30.     }
  31. })

复制代码

点灯库版本是最新版 0.3.80210803
请问下我该怎么实现我的这个需求?

发表于 2021-10-9 12:43 | 显示全部楼层
你nodejs端相当于是另一个设备,和你esp的设备,如果两个设备使用同一个authkey,就会相互挤掉线。
解决办法:再申请一个设备,两个设备用不同的authkey
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|Archiver|手机版|Arduino中文社区

GMT+8, 2024-11-28 11:41 , Processed in 0.085818 second(s), 16 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表