Skip to main content
欢迎来到PAWPAW技术文档网站了解更多信息

物联网示例

这个例子演示了如何使用MQTT来控制GPIO。

注意

这个例子的应用目前只支持Linux或Mac

网络配置

在这个例子中,我们演示了使用Eclipse Mosquitto MQTT代理。确保你已经按照这里的说明安装了Mosquitto:https://mosquitto.org/download/。

备注

你可以修改示例代码以连接到不同的MQTT代理。这样做的时候,你也需要在运行文件系统设置脚本之前修改它们。这是为了确保正确的客户证书、私钥和CA证书被刷新。参见 filesystem_support/create_fs.sh 和下面的文件系统设置说明。

接下来,配置示例软件以连接到适当的MQTT代理。如果你在你的本地电脑上运行MQTT代理,你将需要知道该电脑的IP地址。这可以通过多种方式确定,例如

ifconfig

最后,在appconf.h中,将appconfMQTT_HOSTNAME设置为你的MQTT代理IP地址或URL:

#define appconfMQTT_HOSTNAME "your endpoint here"

构建固件

在xcore_sdk根目录下运行以下命令来构建固件:

cmake -B build -DCMAKE_TOOLCHAIN_FILE=xmos_cmake_toolchain/xs3a.cmake
cd build
make example_freertos_iot

设置硬件

备注

主机应用程序需要创建文件系统。更多信息见SDK安装说明。

在运行演示之前,必须对文件系统进行配置和刷新:

make flash_fs_example_freertos_iot

该脚本将创建TLS凭证,并提示你输入WiFi凭证。

Enter the WiFi network SSID:
Enter the WiFi network password:
Enter the security (0=open, 1=WEP, 2=WPA):
Add another WiFi network? (y/n):
备注

一旦创建了WiFi配置文件,它将自动被使用。如果你需要改变配置文件,请删除networks.dat

运行固件

从xcore_sdk构建文件夹执行:

make run_example_freertos_iot

测试MQTT消息

运行代理服务器(broker)

从iot实例的根文件夹中运行:

cd mosquitto
mosquitto -v -c mosquitto.conf
备注

你可能需要修改密码证书的权限,以便mosquitto使用它们

发送信息

要打开LED 0:

mosquitto_pub --cafile mqtt_broker_certs/ca.crt --cert mqtt_broker_certs/client.crt --key mqtt_broker_certs/client.key -d -t "explorer/ledctrl" -m "{"LED": "0",: "status": "on"}"

"LED"的支持值为["0", "1", "2", "3"],"status"的支持值为["on", "off"]。