Ai-WB2-12F-Kit开发板上手把玩,MQTT对接巴法云

[复制链接]
查看1504 | 回复5 | 2023-8-15 11:08:23 | 显示全部楼层 |阅读模式

本帖最后由 molun 于 2023-8-15 11:08 编辑

本帖最后由 molun 于 2023-8-15 11:00 编辑

今天懒得上图了,直接看串口调试指令

AT+RST

OK

################################################

arch:BL602,NULL company:Ai-Thinker|B&T ble_mac:7cb94cd68b1c wifi_mac:7cb94cd68b1b sdk_version:release/release_bl_iot_sdk_1.6.36 firmware_version:V4.18_P1.4.4-e15d67b compile_time:Nov 25 2022 11:22:39

ready

################################################

+EVENT:WIFI_CONNECT

+EVENT:WIFI_GOT_IP

AT+WJAP?

+WJAP:3,WIFI名称,WIFI密码,36:f2:16:f0:4f:60,WPA/WPA2 TKIP,7c:b9:4c:d6:8a:6b,1,192.168.0.101,192.168.0.1 OK

AT+MQTT=1,bemfa.com

OK AT+MQTT=2,9501

OK AT+MQTT=3,1

OK AT+MQTT=4,4289d6c24a87cb5aaaa126f62bca33bb

OK AT+MQTT=5,admin

OK AT+MQTT=6,public

OK AT+MQTT=7,"WB2",0,1,"安信可WB2开发板"

OK AT+MQTT

OK

+EVENT:MQTT_CONNECT AT+MQTT?

+MQTT:3,bemfa.com,9501,1,4289d6c24a87cb5aaaa126f62bca33bb,admin,public,WB2,0,1,安信可WB2开发板 OK

AT+MQTTPUB=WB2,1,0,怎么样使用MQTT点亮开发板上的灯? 这是来自安信可WB2开发板的测试消息

OK AT+MQTTSUB=WB2,0

+EVENT:MQTT_DISCONNECT

+EVENT:MQTT_CONNECT

+EVENT:MQTT_SUB,WB2,6,测试

+EVENT:MQTT_SUB,WB2,17,MQTTX测试消息 AT+MQTTSUB?

3,WB2

AT+SYSIOMAP?

+SYSIOMAP:PinNumber:22,PinMap:NC,11,NC,12,14,17,3,NC,NC,NC,NC,NC,NC,NC,NC,4,NC,NC,5,NC,NC,NC OK AT+SYSGPIOWRITE=5,1

OK AT+SYSGPIOWRITE=5,0

OK AT+SYSGPIOWRITE=6,1

OK AT+SYSGPIOWRITE=7,1

OK AT+SYSGPIOWRITE=7,0

OK AT+SYSGPIOWRITE=6,0

OK

+EVENT:MQTT_SUB,WB2,19,AT+SYSGPIOWRITE=5,1

+EVENT:MQTT_SUB,WB2,19,AT+SYSGPIOWRITE=5,0

+EVENT:MQTT_SUB,WB2,3,5,1

+EVENT:MQTT_SUB,WB2,19,AT+SYSGPIOWRITE=5,1

怎么样使用MQTT点亮开发板上的灯?

MQTTX上发过来的消息前面有“+EVENT:MQTT_SUB,WB2,19,”,怎么执行AT指令?

+EVENT:MQTT_SUB,WB2,47,怎么样使用MQTT点亮开发板上的灯?

等风,等雨,也等你!
回复

使用道具 举报

爱笑 | 2023-8-15 11:22:09 | 显示全部楼层
抓一个工程师给你诊断一下
用心做好保姆工作
回复 支持 反对

使用道具 举报

Ai-Thinker小泽 | 2023-8-16 09:26:49 | 显示全部楼层
MQTT只是把数据带给你,你点灯的操作得自己去做串口的处理。AT指令都是只能通过串口驱动的,你通过MQTT发下来的AT指令自己识别也是没用的。
回复 支持 反对

使用道具 举报

molun | 2023-8-16 10:09:56 | 显示全部楼层
Ai-Thinker小泽 发表于 2023-8-16 09:26
MQTT只是把数据带给你,你点灯的操作得自己去做串口的处理。AT指令都是只能通过串口驱动的,你通过MQTT发下 ...

意思是需要颗MCU解析MQTT发过来的指令,解析后通过串口发送给模块?
等风,等雨,也等你!
回复 支持 反对

使用道具 举报

molun | 2023-8-16 10:19:30 | 显示全部楼层
#include <PubSubClient.h>

// MQTT相关配置
const char* mqttServer = "mqtt.example.com"; // MQTT代理的服务器地址
const int mqttPort = 1883; // MQTT代理的端口号
const char* clientId = "Ai-WB2-12F"; // MQTT客户端的ID
const char* username = "your_username"; // MQTT认证的用户名
const char* password = "your_password"; // MQTT认证的密码

// 创建MQTT客户端实例
PubSubClient mqttClient(mqttPort, mqttServer, clientId, username, password);

// 定义MQTT回调函数
void callback(char* topic, byte* payload, unsigned int length) {
    // 在这里解析AT指令并执行
    // 首先,从MQTT代理接收到的消息中获取AT指令
    String atCommand = String((char*)payload);

    // 然后,解析AT指令并执行相应的操作
    // 在这里添加您的代码逻辑
    // 例如,解析AT+LIGHT=ON指令并控制灯光开关
    if (atCommand.startsWith("AT+LIGHT=ON")) {
        // 执行控制灯光的代码逻辑
    }
}

void setup() {
    // 初始化MQTT客户端
    if (mqttClient.connect(callback)) {
        // 订阅MQTT主题,例如"AT/+"
        mqttClient.subscribe("AT/+");
    }
}

void loop() {
    // 在循环中处理MQTT消息接收和指令执行等操作
    mqttClient.loop();
}
等风,等雨,也等你!
回复 支持 反对

使用道具 举报

iiv | 2023-9-11 09:43:55 | 显示全部楼层
打卡
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则