mirror of
https://github.com/RoCry/blozi-etag.git
synced 2025-12-06 09:02:49 +08:00
update docs
This commit is contained in:
@@ -1,78 +0,0 @@
|
||||
By @Atc1441 ( https://ATCnetz.de )
|
||||
|
||||
Hanshow Stellar-MN@ E31H
|
||||
|
||||
Electronic Shelf Label
|
||||
|
||||
M = 2.13"
|
||||
N = NFC
|
||||
@ = RGB_LED
|
||||
H = High-resolution
|
||||
|
||||
|
||||
550mAh Battery, 2xCR2450
|
||||
|
||||
|
||||
EPD:
|
||||
2.13" Black White HINK-E0213A31
|
||||
Pixel: 250*122
|
||||
SPI
|
||||
EPD_BS = Grounded = 4Line SPI
|
||||
|
||||
NFC:
|
||||
FM11NC08
|
||||
i2c version
|
||||
|
||||
|
||||
TLSR8359 Pinout
|
||||
32Pins
|
||||
2.4GHz RF = 2402-2480MHz
|
||||
512KB Flash
|
||||
64KB RAM
|
||||
|
||||
Pin|Name| Function
|
||||
-----------------------------------
|
||||
1 PD4 EPD_RESET
|
||||
2 PD7 EPD_DC
|
||||
3 PA0 RXD
|
||||
4 PA1 EPD_BUSY
|
||||
5 PA7 LED Blue + SWS_Debug
|
||||
6 PB1 TXD
|
||||
7 VSS ---
|
||||
8 VDD ---
|
||||
|
||||
9 VDD ---
|
||||
10 VDCDC ---
|
||||
11 VDCDC ---
|
||||
12 VDD ---
|
||||
13 VDD ---
|
||||
14 PB4 EPD_CS
|
||||
15 PB5 EPD_CLK
|
||||
16 PB6 EPD_MOSI
|
||||
|
||||
17 PB7 Not-Used
|
||||
18 VDD ---
|
||||
19 VDD ---
|
||||
20 PC0 NFC_SDA
|
||||
21 PC1 NFC_SCL
|
||||
22 PC4 NFC_IRQ
|
||||
23 PC5 EPD_ENABLE via Mosfet
|
||||
24 PC6 NFC_CS
|
||||
|
||||
25 RESET ---
|
||||
26 VANT ---
|
||||
27 ANT ---
|
||||
28 VDD ---
|
||||
29 X24mhz ---
|
||||
30 X24mhz ---
|
||||
31 PD2 LED Red
|
||||
32 PD3 LED Green
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BIN
Image2ESL/.DS_Store
vendored
BIN
Image2ESL/.DS_Store
vendored
Binary file not shown.
BIN
Image2ESL/Image2ESL/.DS_Store
vendored
BIN
Image2ESL/Image2ESL/.DS_Store
vendored
Binary file not shown.
BIN
Image2ESL/Image2ESL/Base.lproj/.DS_Store
vendored
BIN
Image2ESL/Image2ESL/Base.lproj/.DS_Store
vendored
Binary file not shown.
64
README_en.md
64
README_en.md
@@ -1,64 +0,0 @@
|
||||
# ATC_TLSR_Paper
|
||||
Custom BLE firmware for Hanshow E-Paper Shelf Labels / Price Tags using the TLSR8359 ARM SOC
|
||||
|
||||
### You can support my work via PayPal: https://paypal.me/hoverboard1 this keeps projects like this coming.
|
||||
|
||||
As BLE can be enabled on the Telink TLSR8359 so i decided to make a custom firmware instead of reversing the stock firmware and its 2.4Ghz RF Protocol
|
||||
|
||||
This repo is made together with this explanation video:(click on it)
|
||||
|
||||
[](https://www.youtube.com/watch?v=ANHz7EgWx7k)
|
||||
|
||||
|
||||
WebSerial Firmware flasher Tool:
|
||||
https://atc1441.github.io/ATC_TLSR_Paper_UART_Flasher.html
|
||||
|
||||
WebBluetooth Image Uploader:
|
||||
https://atc1441.github.io/ATC_TLSR_Paper_Image_Upload.html
|
||||
|
||||
WebBluetooth Firmware OTA Flashing:
|
||||
https://atc1441.github.io/ATC_TLSR_Paper_OTA_writing.html
|
||||
|
||||
#### Compiling:
|
||||
Python needs to be installed
|
||||
##### Windows:
|
||||
To compile under windows navigate with a command prompt to the "Firmware" folder
|
||||
|
||||
Enter "makeit.exe" and wait till the Compiling is done.
|
||||
|
||||
|
||||
##### Linux:
|
||||
Navigate with a Terminal into the "Firmware" Folder
|
||||
|
||||
Enter "make" and wait till the Compiling is done.
|
||||
|
||||
#### Flashing:
|
||||
Open the Compiled .bin firmware with the WebSerial Flasher and write it to Flash.
|
||||
|
||||
On first Connection it is needed to Unlock the flash of the TLSR8359
|
||||
|
||||
#### About the display:
|
||||
The e-ink panel used in this ESL is 250 by 122 pixels, black and white (no gray levels...yet).
|
||||
|
||||
Larry Bank added his OneBitDisplay (https://github.com/bitbank2/OneBitDisplay) and TIFF_G4 (https://github.com/bitbank2/TIFF_G4) libraries to make it easy to generate text and graphics. For anyone wanting to write directly to the display buffer, the memory is laid out like a typical 1-bpp bitmap except that it is rotated 90 degrees clockwise. In other words, the display is really 122 wide by 250 tall, but laying on its side. Each byte contains 8 pixels with the most significant bit on the left. Black is 0 and white is 1. Each row of 122 pixels uses 16 bytes. Here is an example function to set a pixel given the x,y of the orientation (portrait) that the display is used:<br>
|
||||
<br>
|
||||
```
|
||||
void SetPixel(int x, int y, uint8_t *pDisplayBuffer)
|
||||
{
|
||||
uint8_t *d = &pDisplayBuffer[(y >> 3) + (249-x)*16];
|
||||
*d &= ~(0x80 >> (y & 7)); // set pixel to black
|
||||
}
|
||||
```
|
||||
|
||||
|
||||
The following hardware is currently supported,
|
||||
most displays are detected automatically if that fails you can select the correct one in the OTA flashing tool.
|
||||
The graphical layout is not edited for each screen size and will not fit nicely on all especially the 1.54" Version.
|
||||
|
||||
## Compatible Hanshow models:
|
||||
Name |Name | Case front | Case back
|
||||
:-------------------------:|:-------------------------:|:-------------------------:|:-------------------------:
|
||||
Stellar-MFN@ E31A | 2,13" 212x104 | | 
|
||||
Stellar-M3N@ E31HA | 2,13" 250x122 | | 
|
||||
Stellar-MN@ E31H | 2,13" 250x122 | | 
|
||||
Stellar-S3TN@ E31HA | 1,54" 200x200 | | 
|
||||
BIN
images/blozi_bwr_213.jpeg
Normal file
BIN
images/blozi_bwr_213.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 985 KiB |
BIN
images/flash_solder.jpeg
Normal file
BIN
images/flash_solder.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 564 KiB |
BIN
images/pcb-back.jpeg
Normal file
BIN
images/pcb-back.jpeg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 497 KiB |
BIN
images/pinout.png
Normal file
BIN
images/pinout.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.9 MiB |
111
readme.md
111
readme.md
@@ -1,105 +1,28 @@
|
||||
<h1 align="center">hanshow stellar L3N 电子价签/airtag固件</h1>
|
||||
|
||||
### 适用型号 L3N@ (注意:只适配了L3N@ 2.9寸设备,原项目的其他型号可能已经不再兼容)
|
||||
# Check the original readme from
|
||||
|
||||
### 最终效果
|
||||
- [atc1441/ATC_TLSR_Paper](https://github.com/atc1441/ATC_TLSR_Paper) the original repository.
|
||||
- [reece15/stellar-L3N-etag](https://github.com/reece15/stellar-L3N-etag) the forked repository.
|
||||
|
||||
- [web 上传图片](https://javabin.cn/stellar-L3N-etag/web_tools/)
|
||||

|
||||
- 时钟模式2,图片模式
|
||||

|
||||
|
||||

|
||||
# What does this repo do?
|
||||
|
||||
### 刷入固件步骤
|
||||
- Updated the pin io for Blozi price tag(see `main.h`)
|
||||
- Tested on Blozi BWR 2.13
|
||||

|
||||
|
||||
- 1. 拆开电池后盖观察主板是否是如下图所示。(或者查看主控是否为TLSR8359)
|
||||
|
||||

|
||||
# Flash guide
|
||||
|
||||
- 2. 焊接 GND, VCC, RX, RTS四根线。
|
||||
- 3. 使用usb2ttl模块(CH340)链接焊接的四根线。其中rx 链接 tx, tx链接 rx, vcc链接3.3v, GND链接 GND。RTS飞线和芯片CH340G第三脚链接(也可不焊,烧录前手动和GND连一下)。
|
||||
- 4. 打开https://atc1441.github.io/ATC_TLSR_Paper_UART_Flasher.html, 波特率选择默认 460800,Atime默认,文件选择Firmware/ATC_Paper.bin
|
||||
- 5. 先点击unlock,再点击write to flush,等待完成。成功后,屏幕会自动刷新。
|
||||
> USB-Serial(Orange) - PCB(Red)
|
||||

|
||||
- 3.3v
|
||||
- GND
|
||||
- TX - SWS
|
||||
- RTS - RST
|
||||
|
||||
### 项目编译
|
||||
|
||||
```cmd
|
||||
# Other
|
||||
|
||||
cd Firmware
|
||||
makeit.exe clean && makeit.exe -j12
|
||||
|
||||
```
|
||||
|
||||
成功后提示内容:
|
||||
|
||||
```
|
||||
'Create Flash image (binary format)'
|
||||
'Invoking: TC32 Create Extended Listing'
|
||||
'Invoking: Print Size'
|
||||
"tc32_windows\\bin\\"tc32-elf-size -t ./out/ATC_Paper.elf
|
||||
copy from `./out/ATC_Paper.elf' [elf32-littletc32] to `./out/../ATC_Paper.bin' [binary]
|
||||
text data bss dec hex filename
|
||||
75608 4604 25341 105553 19c51 ./out/ATC_Paper.elf
|
||||
75608 4604 25341 105553 19c51 (TOTALS)
|
||||
'Finished building: sizedummy'
|
||||
' '
|
||||
tl_fireware_tools.py v0.1 dev
|
||||
Firmware CRC32: 0xe62d501e
|
||||
'Finished building: out/../ATC_Paper.bin'
|
||||
' '
|
||||
'Finished building: out/ATC_Paper.lst'
|
||||
' '
|
||||
```
|
||||
|
||||
### 蓝牙链接和OTA升级
|
||||
|
||||
- 1. 必须先断开TTL TX线,不然蓝牙链接不上。
|
||||
- 2. OTA升级: https://atc1441.github.io/ATC_TLSR_Paper_OTA_writing.html
|
||||
|
||||
### 上传图片
|
||||
|
||||
- 1. 运行 `cd web_tools && python -m http.server`
|
||||
- 2. 打开 http://127.0.0.1:8000 后在页面上链接蓝牙
|
||||
- 3. 选择图片并上传,上传后可添加文字或者手动绘制文字。也可设置抖动算法。
|
||||
- 4. 发送到设备,等待屏幕刷新
|
||||
|
||||
### 接入苹果findmy网络,模拟airtag
|
||||
- 设备已支持接入苹果findmy网络,(设备会通过蓝牙广播自动发送符合airtag协议的公钥,当设备附近的苹果设备接受到公钥时,就会使用公钥加密自己的位置信息然后发送到findmy服务器,用户可使用自己的私钥从苹果服务器获取设备的位置信息)
|
||||
- 该功能默认关闭
|
||||
- 打开该功能 需要修改ble.c文件 PUB_KEY=后的数据,改为你自己的公钥。PUB_KEY获取方法可参考项目(https://github.com/dchristl/macless-haystack 或者 https://github.com/malmeloo/openhaystack)
|
||||
- 打开该功能 还需要修改ble.c文件 AIR_TAG_OPEN=1
|
||||
|
||||
### 已解决/未解决问题
|
||||
|
||||
- [X] 编译报错
|
||||
- [X] 刷入不生效
|
||||
- [X] 屏幕区域不对/异常
|
||||
- [X] 蓝牙无法链接/蓝牙OTA升级
|
||||
- [ ] 自动识别型号
|
||||
- [X] python 图片生成脚本
|
||||
- [X] 蓝牙发送图片, 显示大小不对问题解决
|
||||
- [X] 添加蓝牙上传图片后notify
|
||||
- [X] 添加场景且支持切换
|
||||
- [X] 图片模式
|
||||
- [X] web 支持图片切换
|
||||
- [X] 添加新的时间场景
|
||||
- [X] 支持设置年月日
|
||||
- [X] web 支持画图编辑,直接上传图片,黑白抖动算法
|
||||
- [X] 三色抖动算法、设备端三色显示支持,蓝牙传输支持
|
||||
- [X] epd buffer刷新后 数据异常(左或右偶尔有黑条)?
|
||||
- [X] 中文显示 (部分中文以bitmap显示,不支持全部中文)
|
||||
- [X] 支持接入苹果findmy网络,模拟airtag
|
||||
|
||||
### 原始readme.md
|
||||
|
||||
[README_EN.md](/README_en.md) (其他型号请参考原始项目,这个项目只支持L3N@ 2.9寸设备)
|
||||
|
||||
> 注:
|
||||
> 基于该项目 [ATC_TLSR_Paper](https://github.com/atc1441/ATC_TLSR_Paper) 修改。
|
||||
|
||||
### 资料
|
||||
|
||||
- [TLSR8359规格说明书](/docs/DS_TLSR8359-E_Datasheet for Telink ULP 2.4GHz RF SoC TLSR8359.pdf)
|
||||
- [tlsr8x5x蓝牙开发说明书(中文)](/docs/Telink Kite BLE SDK Developer Handbook中文.pdf)
|
||||
- [屏幕驱动说明书 SSD1680.pdf](/docs/SSD1680.pdf)
|
||||

|
||||

|
||||
Reference in New Issue
Block a user