🚀 配置文件设置

September 6, 2025 · View on GitHub

在编译和上传代码之前,您需要根据自己的实际情况配置项目。

第一步:创建配置文件

  1. 进入 firmware 目录
  2. 复制 UserConfig.example.hUserConfig.h
    cp UserConfig.example.h UserConfig.h
    
  3. 编辑 UserConfig.h 文件,按照以下指南配置各项参数

📝 配置项详细说明

🔐 必须配置的敏感信息

WiFi 配置

仅支持 2.4GHz WiFi

#define UserWifiSSID "Your_WiFi_Name"          // 修改为您的WiFi名称
#define UserWifiPassword "Your_WiFi_Password"    // 修改为您的WiFi密码

说明: 设备需要连接 WiFi 来获取网络时间和天气信息。

点灯科技配置

获取方法:

  1. 下载并安装点灯科技 App
  2. 打开 App,点击右上角的"+"号
  3. 选择"添加设备" > "独立设备"(免费用户可申请 1 个设备)
  4. 选择"Arduino" > "WiFi 接入"
  5. 复制生成的 Secret Key

详细教程:点灯科技官方文档

#define UserBlinkerAuthKey "your_auth_key"         // 修改为您的点灯科技设备密钥

巴法云配置(推荐使用,见 巴法云集成

#define UserBemfaUID "your_bemfa_uid"              // 修改为您的巴法云用户UID

🌍 地理位置配置

城市代码

#define UserWeatherCityCode 440123                 // 修改为您所在城市的代码

获取方法:

  • 自行查询,搜索 "国家行政区编码"
以下配置项可以不用修改:

🔧 网络服务配置(可选)

#define UserHttpServerPort 1229                    // HTTP服务器监听端口
#define UserUdpLocalPort 2506                      // 本地UDP监听端口
#define UserUdpBroadcastPort 1998                  // 远程广播端口

// HTTP API 安全配置(留空 "" 表示禁用API密钥验证,所有敏感接口将无需验证即可访问)
#define UserHttpApiKey "cute_clock_2025"           // HTTP API访问密钥

说明:

  • 端口:如果这些端口在您的网络中被占用,可以修改为其他可用端口。
  • API 密钥
    • 用于保护敏感接口(如灯光、电脑控制)。
    • 跳过验证:将密钥设置为空字符串 ("") 可以关闭安全验证,此时所有接口都不再需要 X-API-Key 请求头。这在安全的内网环境中可以简化调试,但不建议在不受信任的网络中使用。

🏠 设备标识配置(可选)

配套小程序所用到的 设备基本信息

#define UserDeviceId "esp8266-bedroom-01"           // 设备唯一标识
#define UserDeviceRoomName "卧室1"                 // 房间名称
#define UserLightDeviceName "卧室大灯"             // 灯设备名称
#define UserClockDeviceName "客厅时钟"             // 时钟设备名称

建议: 根据您的实际部署位置修改这些标识,便于在多设备环境中区分。

💻 巴法云配置

#define UserBemfaLightTopic "roomlight002"         // 灯光控制主题名(只能包含字母数字,必须以002结尾)
#define UserBemfaBrightnessTopic "clockbrightness002" // 时钟亮度控制主题名(只能包含字母数字,必须以002结尾)
#define UserBemfaSensorTopic "roomsensor004"       // 传感器数据主题名(只能包含字母数字,必须以004结尾)
#define UserBemfaSwitchTopic "pcswitch006"         // 开关控制主题名(只能包含字母数字,必须以006结尾)

🎛️ 硬件显示配置(可选)

#define UserClockBrightnessMin 1                   // 时钟最低亮度
#define UserClockBrightnessMax 15                  // 时钟最高亮度
#define UserClockBrightnessDefault 2               // 时钟默认亮度
#define UserClockAutoBrightness true               // 是否启用自动亮度调整(true=启用,false=禁用)
#define UserLoveDisplayText "I&Y"                  // 爱心模式显示的文字,& 会在代码中替换为爱心符号

自动亮度调整功能

功能说明: 系统会根据一天中的不同时间段自动调整时钟显示亮度,提供更好的用户体验:

  • 🌅 白天时段 (7:00-19:00):亮度设置为 4(较亮),适合白天光线充足的环境
  • 🌆 傍晚时段 (19:00-23:00):亮度设置为 2(中等),适合傍晚光线较暗的环境
  • 🌙 夜间时段 (23:00-7:00):亮度设置为最低值,避免夜间过亮影响休息

注意事项:

  • 自动调整仅在整点时执行,避免频繁调整

🛠️ 高级配置

系统参数调整

#define UserWifiConnectMaxRetry 20                // WiFi连接最大重试次数
#define UserNtpCheckInterval 2000                  // NTP时间校正检查间隔(毫秒)
#define UserWeatherUpdateInterval 3000000          // 天气更新间隔(毫秒,约50分钟)
#define UserUdpBroadcastInterval 5000              // UDP广播间隔(毫秒)
#define UserEepromStartAddress 2500                // EEPROM起始地址

⚠️ 注意事项

  1. 配置文件安全: UserConfig.h 文件包含敏感信息,已加入 .gitignore,不会被提交到版本控制系统。

  2. 点灯科技限制: 每个设备密钥只能同时连接一个设备,请确保密钥的唯一性。

  3. 网络要求: 设备需要稳定的 2.4GHz WiFi 连接,不支持 5GHz 网络。

  4. 端口冲突: 如果遇到端口冲突,请修改相应的端口配置。

  5. 自动亮度调整: 此功能仅在整点执行,如需立即调整亮度,请使用各端手动调节。