前段时间手机系统更新上多了一个“快捷指令”的东西,还看到了别人通过快捷指令来控制ESP8266输出,确实这个比较适合我们喜欢折腾的电子爱好者!
别人只是在抖音力视频演示了效果,他没有详细的介绍如何实现,那没有师傅带,只能百度边看边琢磨了!
后来慢慢知道他们的工作原来:手机中使用“快捷指令”,使用了添加 “网页” 发送一条“推送”给连接上 MQTT服务器的设备,该设备接收解析后输出。我也是边学习边琢磨!
实现分三步
一、手机快捷指令设置
1 “获取URL内容”:http:api.hecoluds.com/cmds?device_id=xxxxxxxxxx
2 “方式”:POST
3 头部:“api-key” ,“xxxxxxxxxxxxxxxx”在MQTT服务器上信息APIKey
4 请求体JSON:这里的内容就是XCC3200里面接收到判断输出的信息,比如"switch ,1" 功能打开绿灯。"switch ,0" 功能关闭绿灯
二、MQTT设置
我直接参考ONENET上面的 MQTT设置!
特别是把一些参数要保存起来
Server Addr 183.230.40.39
Port 6002
ProductID
DeviceID
AuthInfo
APIKey需要ONENET工具计算一下
三|XCC3200的配置
在CCS中导入TI的 CC3200 SDK中的 MQTT Client工程,然后修改main.c中的一些基本参数
main.c修改一下几个方面
MQTT服务器 地址和端口
#define SERVER_ADDRESS "mqtt.heclouds.com"//mqtt.eclipse.org api
#define SERVER_IP_ADDRESS "183.230.40.39"//192.168.178.67
#define PORT_NUMBER 6002//1883
还有就是XCC3200设计设备的一些信息
/* connection configuration */
connect_config usr_connect_config[]
{
基本的参数修改设置下
}
还有就是 XCC3200连接无线网络的 设置
common.h文件
#define SSID_NAME " *********** " /* AP SSID */
#define SECURITY_TYPE SL_SEC_TYPE_WPA_WPA2/* Security type (OPEN or WEP or WPA*/
#define SECURITY_KEY "************** " /* Password of the secured AP */
最后就是static void
Mqtt_Recv(void *app_hndl, const char *topstr, long top_len, const void *payload,
long pay_len, bool dup,unsigned char qos, bool retain) 中接收的数据进行判断输出了
//控制输出
if(output_str[11]=='5')//{"switch":"1"} 这里就是要与“快捷指令”请求体JSON一支
{
GPIO_IF_LedOn(MCU_RED_LED_GPIO);
}
else if(output_str[11]=='4')//{"switch":"1"}
{
GPIO_IF_LedOff(MCU_RED_LED_GPIO);
}
此内容由EEWORLD论坛网友蓝雨夜原创,如需转载或用于商业用途需征得作者同意并注明出处