简介
在上一个帖子里https://forum.eepw.com.cn/thread/394467/1/#1 我们已经使用了涂鸦T5接入了MCP服务,但是实际上看起来。不知道什么原因它会出现类似假死的情况。本文将尝试使用ESP32-S3 对上文中的MCP服务进行集成,并且尝试使用CherryStudio来控制ESP32-S3上的板载LED灯进行闪烁。
首先,需要创建MQTT的项目. 直接选择MQTT5的项目即可。
然后,在menuconfig中配置好WIFI和密码。同时配置好对应的MQTT的地址(目前demo上的默认地址好像已经连接不上去了)
上图中我的端口是1884所以配置的1884,默认的为1883
然后在项目中修改MQTT的账号和密码等连接信息。
然后注释掉程序中MQTT连接事件中连接之后取消订阅的代码。(如果要注释干净的话建议将上述的函数指针也注释掉)
这样的话程序在订阅主题之后遍不会再取消订阅了。 我们可以使用MQTTX向对应的主题中发送一个消息测试是否能够接收到消息。
成功的收到了消息,接下来我们修改上期的MCP服务器,将上期的MQTT账号和密码进行修改。
然后此时可以看到已经正常的启动了MCP的服务。并且成功的连接上了MQTT
接下来使用CherryStudio来发送命令使其打开和关闭LED灯,并且观察控制台输出。
已经正常收到了消息。然后尝试发送关灯的命令。
此时灯已经正常的被关闭了。
总结
本文主要是探究了使用MCP服务控制IOT设备的可行性,使用ESP32S3作为平台,通过CherryStudio发起MCPserver的服务调用,通过MQTT发送给ESP32S3来控制外围设备。用户可以用这个作为一个模板来搭建你自己的MCP server来实现一些智能定制的效果。需要注意的是,不建议大家使用开放的不需要认证的MQTT平台,因为安全性得不到保障。建议大家要么自己在云服务器上自己搭建,要么使用对应厂商提供的服务。要么局域网运行。 同时一定要设置一个比较复杂的密码。也避免将敏感设备接入MQTT