update docs

This commit is contained in:
RoCry
2024-05-24 16:11:11 +08:00
parent 9d81787bf3
commit 6dadca9400
10 changed files with 17 additions and 236 deletions

View File

@@ -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

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -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)
[![YoutubeVideo](https://img.youtube.com/vi/ANHz7EgWx7k/0.jpg)](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 | ![](/Compatible_models/Stellar-MFN%40_Front.jpg)| ![](/Compatible_models/Stellar-MFN%40_Back.jpg)
Stellar-M3N@ E31HA | 2,13" 250x122 | ![](/Compatible_models/Stellar-M3N%40_Front.jpg)| ![](/Compatible_models/Stellar-M3N%40_Back.jpg)
Stellar-MN@ E31H | 2,13" 250x122 | ![](/Compatible_models/Stellar-MN%40_Front.jpg)| ![](/Compatible_models/Stellar-MN%40_Back.jpg)
Stellar-S3TN@ E31HA | 1,54" 200x200 | ![](/Compatible_models/Stellar-S3TN%40_Front.jpg)| ![](/Compatible_models/Stellar-S3TN%40_Back.jpg)

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 564 KiB

BIN
images/pcb-back.jpeg Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 497 KiB

BIN
images/pinout.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.9 MiB

111
readme.md
View File

@@ -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/)
![蓝牙管理](/images/web.jpg)
- 时钟模式2图片模式
![时钟模式2图片模式](/images/1553702163.jpg)
![时钟模式2图片模式](/images/1587504241.jpg)
# What does this repo do?
### 刷入固件步骤
- Updated the pin io for Blozi price tag(see `main.h`)
- Tested on Blozi BWR 2.13
![|320](./images/blozi_bwr_213.jpeg)
- 1. 拆开电池后盖观察主板是否是如下图所示。或者查看主控是否为TLSR8359
![焊接图示](/USB_UART_Flashing_connection.jpg)
# 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, 波特率选择默认 460800Atime默认文件选择Firmware/ATC_Paper.bin
- 5. 先点击unlock,再点击write to flush,等待完成。成功后,屏幕会自动刷新。
> USB-Serial(Orange) - PCB(Red)
![](./images/flash_solder.jpeg)
- 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)
![](./images/pcb-back.jpeg)
![](./images/pinout.png)