|
楼主 |
发表于 2020-7-3 00:38:19
|
显示全部楼层
51单片机 ,登录MQTT 订阅主题 执行流程
switch(dat)
{
case 0:
{ sendString("+++"); //因为没有回码,自增一个1.
flag_netsend=1;
flag_intc=0;
//flag_netback=1; //直接置回码标志
ATstep=1;
k=0;
break;
} //退出透传
case 1:
{ sendString("AT+CIPCLOSE\r\n");
k=2;
break;} //测试esp8266在不在, 返回 OK
case 2:
{ sendString("AT\r\n");
k=4;
break;} //FUWE
case 3:
{ sendString("AT+CWJAP=\"ej8508\",\"ejea8888\"\r\n");
k=10;
break;} //加入无线网络(路由器ID及其密码) 返回 OK
case 4:
{ sendString("AT+CIPMUX=0\r\n");
k=4;
break;} //开启多连接模式 1:多连接 0:单连接 返回 OK
case 5:
{ sendString("AT+CIPMODE=1\r\n");
k=4;
break;} //透传 返回 OK
case 6:
{ sendString("AT+CIPSTART=\"TCP\",\"MQTT服务器ip\",端口\r\n");
k=4;
break;
} //开机自动连接并进入透传(服务器///ICONNECT OK //ALREADY CONNECTED ERROR
case 7:
{ sendString("AT+CIPSEND\r\n");
k=2;
break;
} //进入透传 //OK >
case 8:
{
flag_intc=1;
k=2;
ss=ConnectMqtt("MQTT用户名","MQTT账号","MQTT密码");
for(i=0;i<ss;i++)
UART_2SendOneByte(MqttSendData) ;
break;
}
case 9:
{
k=2;
ss=MqttSubscribeTopic("hachina/settings/+/switch",0,1); //所有数值类主题,下发数据
for(i=0;i<ss;i++)
UART_2SendOneByte(MqttSendData) ;
break;
}
case 10:
{
k=2;
ss=MqttSubscribeTopic("hachina/hardware/+/switch",0,1); //所有开关量主题,下发开关
for(i=0;i<ss;i++)
UART_2SendOneByte(MqttSendData) ;
break;
} |
评分
-
参与人数 1 | 金钱 +20 |
HASS币 +20 |
收起
理由
|
囧
| + 20 |
+ 20 |
厉害了word楼主! |
查看全部评分
|