mirror of
https://github.com/tpunix/HMCLOCK.git
synced 2025-12-06 08:12:48 +08:00
65491cd02672f5e9ee5c8f86587eccae04743023
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
盒马时钟
--------
此项目利用超市淘汰下来的价签的硬件,实现一个简单的时钟:
显示时间与日期
显示农历与节气和节假日
显示电池电量
蓝牙对时
蓝牙OTA
编译与烧写
----------
请先下载DA14585的SDK包。目前使用的版本是6.0.22.1401。
将本项目放置在SDK_PATH/projects/target_apps/ble_examples下面,然后打开项目编译即可。
编译完成后以调试模式运行一次,固件会自动写入Flash中。
或者使用SmartSnippets Toolbox将固件下载到RAM中运行一次即可。
蓝牙对时
--------
这里使用web bluetooth实现了一个简单的网页来设置时间。
为了省电,固件每隔整十分钟广播一次,持续半分钟。广播时,屏幕会显示蓝牙图标和设备名的后缀。
此时点击页面上的"连接"按钮,在弹出的页面选择对应的设备即可连接上。再点"对时"按钮完成对时。
关于盒马价签
------------
我用过的有三种:
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
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
原版的固件,不知道什么原因,无法用蓝牙搜索到。否则可以无损更新固件了(但大多数价签的电池都是没电的,还是得拆开)。
Languages
C
91.7%
HTML
8.1%