4.2inch e-Paper Cloud Module
| ||
Overview
You can connect to the device via wifi with port number 6868, and update the display with commands.
You can configure the devices via wifi or Bluetooth, if you are the first time configure the device, only Bluetooth is available.
Please note that we do NOT provide firmware for this product, so it is recommended you carefully consider whether to refresh the ESP32 firmware.
The device must be woken up by pressing a button!
Features
- Suitable for equipment labels, shelf labels, information storage, etc.
- Integrates SW6106 chip, supports multiple quick charge protocols including PD / QC / FCP / PE / SFCP, etc.
- Allows the user to control the display content via a remote server, convenient and flexible.
- The voltage detection circuit can detect the battery circuit to avoid over-discharge.
- ID support, makes it easy to centrally manage and track the modules.
- Provides Android APP for configuring and managing the modules.
- No backlight, keeps displaying last content for a long time even when powered down.
- Long battery life, basically power consumption is only required for refreshing.
- Provide online supporting information and manuals.
Specification
- Power supply: Battery
- Resolution: 400 x 300
- Pixel pitch: 0.212 × 0.212
- Display color: Black, White
- Refresh time: 4s
- Viewing Angle: >170°
- Outline Dimensions: 96.5mm × 85mm
- Display Size: 84.8mm × 63.6mm
- Maximum refresh times (battery capacity: 1000mah): 1500+
You can download and install the APP by scanning the QR codes
Lead Information
Every time the device start, it will do partial refresh and display status icons.
Hereby provide the refrence of icons.
Waiting | Setting | Low Voltage | WIFI | Host |
- Waiting: The device is waiting for commands.
- Setting: Setting is finished.
- Low Voltage: The voltage of battareis is lower than warnning value.
- WIFI: The wifi is connected.
- Host: The devices is connected to target host by IP address.
- Generally, you should press the button to wake up the device and check the icons. The warnning voltage is 3600mv, once the voltage is 150mv lower than warnning voltage (3450mv), the devices will shutdown automatically to protect the stable of the whole system.
Configure Device
First Setup
If you have not configured the device, you should configure the device by APP after pressing the Wakeup button to update the display ①. Please refer to #Configure Device by APP to configure the device ②.
Note:
① If the device isn't configured, the Waiting icon is displayed in the top-right area. If the Low Voltage icon is displayed without Waiting, it means that the batteries are less than 3450mv and it is going to shutdown.
② If the device doesn't connect to Bluetooth, it will shutdown after 90s after booting and refreshing the display.
Reconfiguration
If the device was configured, the device will update and display Setted icon in the top-right area ① after pressing wakeup button. The Bluetooth is disabled by default, if required, you should hold the wakeup button for 5s at least to enable the Bluetooth ②. The updating process of the device will not be interrupted ③ while enabling Bluetooth. After enabling the Bluetooth, you can re-configure the device by referring to #Configure Device by APP ④.
Note:
① The update time of the device is determined by the speed of WIFI, It should less than 30s as we test.
② You can hold the wake-up button until your phone can scan the device via Bluetooth. Otherwise, the device auto-shutdown if the Bluetooth is disconnected.
③ If you enable the Bluetooth of the device, it will try to connect to your phone in 30s if the shutdown command is received via wifi. If the device is connected to the phone by Bluetooth, it will keep waking, otherwise, it will be turned off after 30s.
④ You should reboot the device after configuration to make the configuration effect. Please do not reboot the device when transmitting data via WIFI, it will cause data loss.
APP Description
- Device_Password, you should input the device password to vertify if the device is locked.
Note: The default device password of the Raspberry Pi example is 123456. If you lock the device you have to unlock it with password 123456, otherwise, the device cannot work.
Warning_voltage: If the voltage of batteries is less than the warning voltage, the device will display the warning icon. If the battery is 150mV lower than the warning voltage, the device will shutdown automatically.
Configure Device by APP
- Ⅰ. Open APP(APP will auto-save the last configuration information)
- Ⅱ. Click the Bluetooth CONNECTION button, the default Bluetooth device is WaveShare_EPD or the Device ID configured.
-
- Unparied
-
- Paried
- Ⅲ. Choose the device, for example, connect the WaveShare_EPD. If you are the first time to connect the WaveShare_EPD device, it should be paired first.
- Ⅳ. Modify the configuration information and Upload(If you have configured the password, you need to input the password as well.)
- Ⅴ. The APP will disconnect and reboot the device if the configuration is uploaded successfully.
- Note: We recommend you set static IP for the device.
Communicating Protocol
Communicating is divided into two modes: Command mode and the data mode. Command mode is used for sending commands. data Mode is used for sending image data to e-Paper.
Command Format
‘;’+Command(+Data)+'/'+Parity
Data Format
0x57+4Byte addr+ 4Byte len +1Byte num + len Byte data +Verify
Return Format
'$'+Data+'#' The format of the response of Command and Data is the same
Note: The Verity is the XOR result of data which is marked in red.
Command Mode:
Command Format
- ‘;’+Comamnd(+Data)+'/'+Verify
Commands (locked)
Comamnd | Desctiption | Return |
'C' | Check if the device is locked | Parity bit + Flag bit 0 or 1, 0: unclocked, 1: locked. |
‘N' + Device password | Unclocked the device | Parity bit + Flag bit 0 or 1, 0: failed to lock; 1: lock the device successfully. |
'G' | Get the ID of device | ID |
'r' + Sleep time (<9999) | Set the device to sleep mode | Parity bit |
PS: The sleep command is only available in 2.13inch e-Paper Cloud Module.
- These commands can be used if the device is locked.
Comamnds (unlocked)
Command | Description | Return |
'0' + name | Modify the ID | Parity bit |
'1' + IP address | Modify the IP address of Host | Parity bit |
‘2’+SSID | Modify the WIFI SSID | Parity bit |
‘3’+password | Modify the WIFI password | Parity bit |
‘P’+userpassword | Modify the device password | Parity bit |
'L' +'0' / 'L' + '1' | Set the device lock; 1 to lock and 0 to unlock | Parity bit |
's' + '0' /'s' + '1' | Set the flag bit, 0 to disable and 1 to enable | Parity bit |
'F' | Enter data mode | Parity bit |
'B' | Open Bluetooth | Parity bit |
'b' | Check the current voltage of battery | Parity bit + voltage of battery (mv) |
'S' | Shutdown | Parity bit |
'R' | Restart | Parity bit |
- These commands can be used when the device is unlocked.
Data Mode:
Data Format
- 0x57+4Byte addr+ 4Byte len +1Byte num + len Byte data +Verify
Data | Lebs | Content |
addr | 4byte | Address of data |
len | 4byte | Length os data |
num | 1byte | The frame number of current sector |
data | len byte | The data transmitted |
Note:
- Recommend you transmit the frames with the same length.
- The size of frame transmitted should not larger than 1100Byte, otherwise it cause data lose.
- num should be a static variable because it may be invalid because of version updates.
- The data frame doesn't have a stop bit, you need to wait for the verity data before sending the next frame, otherwise, it causes failure.
- The e-Paper will update automatically and exit from update mode when the addr and len are 0.
For more details, please refer to the python3 examples provided.
Using Guides for RPI
Install Libraries
#python3 sudo apt-get update sudo apt-get install python3-pip sudo apt-get install python3-pil sudo apt-get install python3-tqdm sudo apt-get install python3-numpy sudo apt-get install python3-progressbar
Download the demo codes
Open a terminal and runthe following commands:
sudo apt-get install p7zip-full sudo wget https://files.waveshare.com/upload/2/2e/Cloud_RPI.7z 7z x Cloud_RPI.7z cd Cloud_RPI
python
- The demo codes can only support python3.
- Please go to the directory of Cloud_RPI and run the command:
#This code is used to climb the picture of the Waveshare website and transmit the image data to the slave device. sudo python3 ./examples/display_WS.py #The codes will draw figures and send the image data to the slave device. sudo python3 ./examples/display_EPD.py
API Description
There are three directories in lib,http_get, tcp_server和waveshare_epd, They are used to climb HTTP pictures, TCP service, and the functions of e-Paper.
tcp_sver.py
Path: Cloud_RPI/lib/tcp_server
Create a tcp_server class in the tcp_sver.py file. You need to inherit the class and refactor the handle function when using.
def handle(self)
Every time a new client is connected, it should call the handle function.
Receive Message
def Get_msg(self)
Command | Return |
---|---|
'$'+Data+'#' | Data |
Send Command
def Send_cmd(self,cmd)
Parameter cmd is the command sent.
Command | |
---|---|
cmd | ‘;’+cmd+'/'+Parity |
Sent data
def Send_data(self,data)
The parameter data is a message transmitted (including address and lenghta nd so on) data.
Command | |
---|---|
data | 0x57+data+ Parity |
Set size
def set_size(self,w,h)
w: The width of the image; h: The height of the image.
Take bicolor e-Paper as an example, 1 bit stands for one pixel, then you get.
Len of data=Width of image(w)*Height of image(h)/8 |
---|
Refer to 4.2inch e-Paper Module
Update function
def flush_buffer(self,DATA)
DATA; The image data. the image data can be get by the getbuffer function.
Parameter | Send times | Length of every frame(len) | Content | DATA(Image data) | Total length of image data/length of singal frame(len) | 1024 Byte(Configurable) | 0x57+4 Byte addr+ 4 Byte len +1 Byte num + len Byte data+Parity |
---|
The length of signal transmission should less than 1100 Byte, or it will cause data loss.
Check voltage of battery
- Get the current voltage.
def check_batter(self)
Power Off Function
- Power off or low power state.
def Shutdown(self)
http_get.py
Path:Cloud_RPI/lib/http_get
- Download picture
def Get_PNG(Url,Name)
This function is used to download the picture from Url and save it to the current directory with Name
epd4in2.py
Path:Cloud_RPI/lib/waveshare_epd
- Convert the picture to image data.
def getbuffer(self, image):
Directory: Cloud_RPI/lib/waveshare_epd
Convert image information to queue
def getbuffer(self, image):
Configure Windows
This guide is made in Windows 10
- Note:
- Please make sure that you have installed python3 on your Windows PC and the default version is python3 if you installed multiple versions.
- You may need to close the firewall to make the python work.
Install libraries
Open a CMD or Powershell to install libraries with the following commands:
#python3 python -m pip install tqdm python -m pip install pillow python -m pip install numpy python -m pip install pypiwin32 python -m pip install progressbar
Download demo codes
Download the Windows demo, unzip, and enter the Cloud_WIN directory.
python
Note that you need to run the CMD or PowerShell under the Cloud_WIN direcoty and turn the following command.
python ./examples/***inch_display_EPD
For example:
#If you have 4.2inch e-Paper Cloud Module python ./examples/4.2inch_display_EPD #If you have2.13inch e-Paper Cloud Module python ./examples/2.13inch_display_EPD
Resource
Related Guides
Androdi app
- Android APP
- Android APP Souces Codes
- You can also scan the below QR Code to install the APP
Raspberry Pi Examples
FAQ
【Working conditions】Temperature range: 0~50°C; Humidity range: 35%~65%RH
【Storage conditions】: Temperature range: below 30°C; Humidity range: below 55%RH; Maximum storage time: 6 months
{{{5}}}
- Without battery: 4.42mm
- With battery: 14.31mm
{{{5}}}
Support
Technical Support
If you need technical support or have any feedback/review, please click the Submit Now button to submit a ticket, Our support team will check and reply to you within 1 to 2 working days. Please be patient as we make every effort to help you to resolve the issue.
Working Time: 9 AM - 6 PM GMT+8 (Monday to Friday)