GL-S10 固件编译指南¶
本文档旨在帮助用户设置软件构建环境并为 GL-S10 构建自己的应用程序。 作为示例,我们构建一个简单的演示。它旨在接收来自周围的 iBeacons,然后通过 WiFi 将其发送到指定的 MQTT 代理。注意,WiFi 和 MQTT 设置是在源代码中编写的。
设置开发环境¶
GL-S10 应用程序基于 Espressif esp-idf(v3.3)。您可以通过以下链接获得构建编译环境的详细步骤。https://docs.espressif.com/projects/esp-idf/en/v3.3/get-started/index.html#introduction (注意:请在下载前检查IDF的版本。)
配置完开发环境后,解压并进入源代码文件夹 ble_ibeacon/
。大多数代码都在 ibeacon_demo.c
文件中。
修改源代码¶
1. 修改 WiFi 设置
在 ibeacon_demo.c
中找到如下内容,并将 WiFi 设置修改为所需的内容。
wifi_config_t wifi_config = {
.sta = {
.ssid = "WIFI SSID", //
.password = "WIFI password",
},
};
2. 修改 MQTT 设置
类似于 WiFi 设置。在ibeacon_demo.c
中查找并修改结构体 esp_mqtt_client_config_t
。
esp_mqtt_client_config_t mqtt_cfg = {
.uri = "mqtt://192.168.100.174:61613",//IP:port
.usernaem = "MQTT username",
.password = "MQTT password",
.event_handle = mqtt_event_handler,
};
(如果希望连接到除 tcp 之外的 MQTT 代理,请更改 url 前缀。)
tcp ---> mqtt://
tcp-ssl ---> mqtts://
web socket ---> ws://
web socket secure ---> wss://
编译和烧录¶
1. 配置工程
在编译应用程序之前,进入您的项目文件夹(这里是 ble_ibeacon/
),使用命令 make menuconfig
配置一些基本设置,比如说串口配置。
在配置界面中,您只需要更改如下三点。
首先,单击 Serial flasher config
。
然后修改红线标出的三个点。
设置Default serial port
为 PC 上显示的端口名称 ,通常是 /dev/ttyUSB0
.
设置Serial flasher config --->Flash SPI speed
为80MHz
.
设置Serial flasher config --->Flash size
为 4MB
.
2. 构建
在项目文件夹中,使用命令 make all
。它将编译并构建固件。当成功完成时,它将显示如下信息。
3. 烧录
GL-S10 使用 UART 来刷新固件,并使用该 UART 来输出系统日志。
通过 USB-UART 转换器将 S10 中的 UART 连接到 PC 。PC 将找到一个新的usb设备,如 /dev/ttyUSB0
。这是您应该在 /dev/ttyUSB0
中写入的名称
将 S10 UART 连接到 PC 后,使用命令 make flash
或 make flash monitor
来烧录固件。当出现这种情况时,这意味着 PC 正在等待 S10 进入”下载模式“。
进入“下载模式”的方式:拔下 S10 电源,按下烧录按钮(不要松开),再插上电源。当它像这样显示时,
表示闪光启动成功,此时可以松开闪光按钮,等待闪光完成。 当闪光灯完成后,重新启动 GL-S10。
结果¶
如果您已经将 S10 UART 连接到 PC,使用命令 make monitor
,它将打印所有系统日志。(这里显示的是它接收到的 iBeacon 数据)
在MQTT代理中,您可以像这样获得由S10发布的消息。