mirror of
https://github.com/tpunix/HMCLOCK.git
synced 2026-05-07 01:05:48 +08:00
Update Readme.txt
This commit is contained in:
147
Readme.txt
147
Readme.txt
@@ -1,81 +1,96 @@
|
||||
# 盒马时钟
|
||||
|
||||
盒马时钟
|
||||
--------
|
||||
---
|
||||
|
||||
此项目利用超市淘汰下来的价签的硬件,实现一个简单的时钟:
|
||||
显示时间与日期
|
||||
显示农历与节气和节假日
|
||||
显示电池电量
|
||||
蓝牙对时
|
||||
蓝牙OTA
|
||||
## 项目简介
|
||||
|
||||
本项目利用超市淘汰下来的 **盒马价签** 硬件,实现一个功能简单但实用的电子时钟,具有如下功能:
|
||||
|
||||
* ✅ 显示时间与日期
|
||||
* ✅ 显示农历、节气与节假日
|
||||
* ✅ 显示电池电量
|
||||
* ✅ 蓝牙对时
|
||||
* ✅ 蓝牙 OTA 更新
|
||||
|
||||
---
|
||||
|
||||
## 编译与烧写
|
||||
|
||||
请先下载 DA14585 的 [SDK](https://www.renesas.com/en/document/swo/sdk60221401-da1453x-da145856 "SDK") 包,目前使用 **6.0.22.1401** 版本。
|
||||
|
||||
1. 将本项目放置在:
|
||||
|
||||
```
|
||||
SDK_PATH/projects/target_apps/ble_examples
|
||||
```
|
||||
|
||||
2. 使用Keil打开项目进行编译。
|
||||
|
||||
3. 编译完成后:
|
||||
|
||||
* **调试模式运行一次**,固件会自动写入 Flash;
|
||||
* 或者使用 **SmartSnippets Toolbox** 将固件下载到 RAM 运行一次也可。
|
||||
|
||||
---
|
||||
|
||||
## 蓝牙对时
|
||||
|
||||
项目内置页面提供 **Web Bluetooth** 功能,可用于手动对时:
|
||||
|
||||
* 固件每隔 **整十分钟** 广播一次,持续 **30秒**;
|
||||
* 广播状态下,屏幕显示蓝牙图标与设备名后缀;
|
||||
* 打开页面点击 “连接”,选中设备后,按 “对时” 即可完成同步。
|
||||
|
||||

|
||||
|
||||
首次上电会打开配对页面,扫码跳转网页可以进行配对。
|
||||

|
||||
|
||||
---
|
||||
|
||||
## 关于盒马价签
|
||||
|
||||
本项目使用到的盒马价签屏幕类型如下:
|
||||
|
||||
| 尺寸 | 颜色 | 屏幕连接方式 | 型号 | 主控芯片 | 分辨率 | 拆解难度 | LED | 测试点文件 |
|
||||
| ------ | --- | ------ | ----------------- | ----------------- | ------- | ---- | --- | --------------- |
|
||||
| 2.13 寸 | 黑白 | 焊接 | HINK-E0213A41/A55 | IL3897 / SSD1675B | 212×104 | 困难 | 有 | pinout_1/0.xlsx |
|
||||
| 2.13 寸 | 黑白 | 插座 | OPM021B1 | IL3895 / SSD1673A | 250×122 | 困难 | 有 | pinout_0.xlsx |
|
||||
| 2.13 寸 | 黑白红 | 焊接 | HINK-E0213A67 | IL3897 | 250×122 | 困难 | 三色 | pinout_0.xlsx |
|
||||
| 2.9 寸 | 黑白红 | 插座 | HINK-E029A10 | IL3897 | 296×128 | 容易 | 有 | pinout_0.xlsx |
|
||||
|
||||
|
||||
编译与烧写
|
||||
----------
|
||||
---
|
||||
|
||||
请先下载DA14585的SDK包。目前使用的版本是6.0.22.1401。
|
||||
将本项目放置在SDK_PATH/projects/target_apps/ble_examples下面,然后打开项目编译即可。
|
||||
编译完成后以调试模式运行一次,固件会自动写入Flash中。
|
||||
或者使用SmartSnippets Toolbox将固件下载到RAM中运行一次即可。
|
||||
### Flash存储信息
|
||||
|
||||
#### 屏幕引脚配置(地址 `0x39000`)
|
||||
|
||||
蓝牙对时
|
||||
--------
|
||||
示例:
|
||||
|
||||
这里使用web bluetooth实现了一个简单的网页来设置时间。
|
||||
为了省电,固件每隔整十分钟广播一次,持续半分钟。广播时,屏幕会显示蓝牙图标和设备名的后缀。
|
||||
此时点击页面上的"连接"按钮,在弹出的页面选择对应的设备即可连接上。再点"对时"按钮完成对时。
|
||||
```
|
||||
09 01 FF FF FF FF FF FF 21 22 10 01 20 07 11 23
|
||||
CS ?? RST CLK SDI DC BUSY PWR
|
||||
```
|
||||
|
||||
* 第一个字节 `09`:屏幕类型
|
||||
* 第二个字节 `01`:引脚配置启用标志(非 `01` 表示无效)
|
||||
|
||||
关于盒马价签
|
||||
------------
|
||||
#### 屏幕分辨率等信息(地址 `0x3a000`)
|
||||
|
||||
我用过的有三种:
|
||||
2.13寸黑白
|
||||
第一种:
|
||||
屏是直接焊接到主板上的,型号: HINK-E0213A41/A55, 主控IL3897,分辨率212x104。
|
||||
另外,这种屏有少数用的主控是SSD1675B。这两种主控的LUT格式是不一样的。
|
||||
很难无损拆解,需从后盖处拆起。带一个LED空位。
|
||||
此种型号有两种电路板:
|
||||
5个测试点: pinout_1.xlsx
|
||||
6个测试点: pinout_0.xlsx
|
||||
示例:
|
||||
|
||||
第二种:
|
||||
屏通过插座连接到主板上,型号: OPM021B1, 主控IL3895/SSD1673A,分辨率250x122。
|
||||
这种主控貌似没有内部OTP,需要写入LUT才能工作。
|
||||
很难无损拆解,需从后盖处拆起。带一个LED空位。
|
||||
此种型号的电路板:
|
||||
6个测试点: pinout_0.xlsx
|
||||
```
|
||||
00 25 00 00 92 fa a8 fe 00 01 80 00 28 01 04 00
|
||||
0080 0128 128x296 BWR
|
||||
```
|
||||
|
||||
2.13寸黑白红:
|
||||
屏是直接焊接到主板上的,型号: HINK-E0213A67,主控IL3897,分辨率250x122。
|
||||
很难无损拆解,需从面板处拆起。自带一个三色LED。
|
||||
6个测试点: pinout_0.xlsx
|
||||
---
|
||||
|
||||
2.9 寸黑白红: pinout_0.xlsx
|
||||
屏通过插座连接到主板上,型号: HINK-E029A10, 主控IL3897,分辨率296x128。
|
||||
这个尺寸的价签比较好拆,卡扣结构。带一个LED空位。
|
||||
6个测试点: pinout_0.xlsx
|
||||
|
||||
这批价签看来都是从OTP启动的。但OTP里面放的只是一个二级BootLoader,还是会从Flash加载APP启动的。
|
||||
Flash中的固件符合SUOTA格式。
|
||||
|
||||
Flash的0x39000处存放有墨水屏所使用的IO的信息:
|
||||
|
||||
09 01 FF FF FF FF FF FF 21 22 10 01 20 07 11 23
|
||||
CS ?? RST CLK SDI DC BUSY PWR
|
||||
第一个字节"09"是所用屏的类别。固件内置了十几种屏的驱动,根据这里的类别来选择。
|
||||
第二个字节"01"指示后面有IO的配置。非01的值则忽略后面的配置。
|
||||
|
||||
|
||||
Flash的0x3a000处存放有墨水屏的分辨率等信息:
|
||||
|
||||
00 25 00 00 92 fa a8 fe 00 01 80 00 28 01 04 00
|
||||
0080 0128 128x296 BWR
|
||||
40 1f 00 00 f0 70 18 01 00 01 7a 00 fa 00 fc 07
|
||||
007a 00fa 122x250 BWR
|
||||
c4 0a 00 00 1a 4f ae 5a 00 00 68 00 d4 00 04 00
|
||||
0068 00d4 104x212 BW
|
||||
|
||||
原版的固件,不知道什么原因,无法用蓝牙搜索到。否则可以无损更新固件了(但大多数价签的电池都是没电的,还是得拆开)。
|
||||
## 其他说明
|
||||
|
||||
* 原版价签固件存放在 Flash 的 SUOTA 区域;
|
||||
* 大多数价签使用 OTP 启动器,但会从 Flash 继续加载固件;
|
||||
* Flash 中包含屏幕和引脚配置,因此新固件无需硬编码这些信息;
|
||||
* 原生固件无法被蓝牙扫描到,因此难以通过 OTA 更新;
|
||||
* 价签多数电池电量不足,因此建议拆机替换供电。
|
||||
|
||||
Reference in New Issue
Block a user