esp8266 mqtt收到信息后的处理已解决-Arduino中文社区 - Powered by Discuz!

Arduino中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1859|回复: 10

[已解决] esp8266 mqtt收到信息后的处理已解决

[复制链接]
发表于 2022-9-11 19:59 | 显示全部楼层 |阅读模式
本帖最后由 linsheng 于 2022-9-12 17:12 编辑

问题已解决
发表于 2022-9-11 21:56 | 显示全部楼层
这是C基础,去学学C怎么比较字符串
发表于 2022-9-12 16:17 | 显示全部楼层
一步一步来,先把128行以前的内容搞清楚,比如127行里面没有 i , 这个是循环的寂寞?

看到 payload 内容之后,根据 136 的提示, 大概率首字符应该是 1  而不是 open

剩下的问题就是比较 =="1 " 和 =="0"

最后,认真学点英语, 起码 on off 这样三个字符以内的单词应该要认识的。
 楼主| 发表于 2022-9-12 17:04 | 显示全部楼层
kpj001 发表于 2022-9-12 16:17
一步一步来,先把128行以前的内容搞清楚,比如127行里面没有 i , 这个是循环的寂寞?

看到 payload 内容之 ...

我MQTT从前端发送的就是open,点击打开的时候我给硬件传了个open来判断,本来我里面有很多产品,不同组件,全部后台生成,app获取到组件,向他发送open,只是一个动作,我知道那是1,也只是那个循环,循环我只想知道他是什么东西,是不是我收到的,不过我知道怎么拿到open,我app传过来的这个值了
 楼主| 发表于 2022-9-12 17:07 | 显示全部楼层
linsheng 发表于 2022-9-12 17:04
我MQTT从前端发送的就是open,点击打开的时候我给硬件传了个open来判断,本来我里面有很多产品,不同组件 ...

如果只是单单开发一个产品那没问题,现在是后台一键生成很多配置,后台开关,还有这些数据图,都会给设置一个命令字符串,mqtt接收的就是这种东西,我只是处理就好,不管你off,还是no,对于后台人家怎么设置,不该是我考虑的,我考虑的是他怎么设置,我要接受他的东西来处理  
发表于 2022-9-12 17:17 | 显示全部楼层
127 行不改为payload[i] 能看到 open? 或者说 char( payload[0] )  打印出来是什么, 是 o 还是 open ?
 楼主| 发表于 2022-9-12 17:19 | 显示全部楼层
kpj001 发表于 2022-9-12 17:17
127 行不改为payload 能看到 open? 或者说 char( payload[0] )  打印出来是什么, 是 o 还是 open ? ...

就是open   所以我一直寻找转他的方法,我知道那个判断那里那个是0跟1,不过我现在找到方法了已经解决了
 楼主| 发表于 2022-9-12 17:19 | 显示全部楼层
kpj001 发表于 2022-9-12 17:17
127 行不改为payload 能看到 open? 或者说 char( payload[0] )  打印出来是什么, 是 o 还是 open ? ...

串口打印就是收到的open
 楼主| 发表于 2022-9-12 17:20 | 显示全部楼层
kpj001 发表于 2022-9-12 17:17
127 行不改为payload 能看到 open? 或者说 char( payload[0] )  打印出来是什么, 是 o 还是 open ? ...

只是判断那里那个是0跟1我是知道的,我就一直找的就是转换他的方法,不过今天找到了转他的方法
发表于 2022-9-12 18:02 | 显示全部楼层
虽然你删除了内容,还是发一下给需要参考的人:
网上搜了下 “ byte数据流转string“,都是一些碎片内容,不容易找到合适的。
你开始没说清楚,这是一个数组型指针。之所以问你 payload[]的内容就是确定这个。
其实很容易:

byte* payload[] ={ "opensomething","123","abc"};
void setup() {
  Serial.begin(115200);  
  Serial.print(char(payload[0][0]));   // 如果是数组型指针,两个中括号即可
  Serial.print(char(payload[0][1]));   
}
void loop() {
}
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-1 01:24 , Processed in 0.149942 second(s), 18 queries .

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

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