Skip to content

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

espressif iot development framework configuration

然后修改红线标出的三个点。

espressif iot development framework configuration serial flasher config

设置Default serial port 为 PC 上显示的端口名称 ,通常是 /dev/ttyUSB0. 设置Serial flasher config --->Flash SPI speed80MHz. 设置Serial flasher config --->Flash size4MB.

2. 构建

在项目文件夹中,使用命令 make all。它将编译并构建固件。当成功完成时,它将显示如下信息。

compile and build firmware

3. 烧录

GL-S10 使用 UART 来刷新固件,并使用该 UART 来输出系统日志。 通过 USB-UART 转换器将 S10 中的 UART 连接到 PC 。PC 将找到一个新的usb设备,如 /dev/ttyUSB0 。这是您应该在 /dev/ttyUSB0 中写入的名称

gl-s10 pcb

将 S10 UART 连接到 PC 后,使用命令 make flashmake flash monitor 来烧录固件。当出现这种情况时,这意味着 PC 正在等待 S10 进入”下载模式“。

wait flash

进入“下载模式”的方式:拔下 S10 电源,按下烧录按钮(不要松开),再插上电源。当它像这样显示时,

flash

表示闪光启动成功,此时可以松开闪光按钮,等待闪光完成。 当闪光灯完成后,重新启动 GL-S10。

结果

如果您已经将 S10 UART 连接到 PC,使用命令 make monitor ,它将打印所有系统日志。(这里显示的是它接收到的 iBeacon 数据)

system log result

在MQTT代理中,您可以像这样获得由S10发布的消息。

messages published result