Template: RPi User Guides for 4.2inch e-Paper Cloud

From Waveshare Wiki
Jump to: navigation, search

Using Guides for RPI

Install Libraries

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://www.waveshare.com/w/upload/2/2e/Cloud_RPI.7z
7z x Cloud_RPI.7z
cd Cloud_RPI 


  • 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.
Cloud ESP32 e-Paper Board manual 10.png


Vreate a tcp_server class in tcp_sver.py file. You need to inherits the class and refactor the handle function when using.

def handle(self)

Every time the new client 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

cmd ‘;’+cmd+'/'+Parity

Sent data

def Send_data(self,data)

The parameter data is message transmitte (inlcuded addree and lenghta nd so on) data.

data 0x57+data+ Parity

Set size

def set_size(self,w,h)

w: The width of image; h: The height of image.
Take bicolor e-Paper as example, 1 bit stands of one pixel, then you we gets

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.

Paramter Send times Lenght of every frame(len) Content DATA(Image data) Total lenght of image data/lenght of singal frame(len) 1024 Byte(Configurable) 0x57+4 Byte addr+ 4 Byte len +1 Byte num + len Byte data+Parity

The lenght of singal transmittion 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)



  • 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



  • 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):