4.2inch NFC-Powered e-Paper
| |||||||||||||||||||
| |||||||||||||||||||
| |||||||||||||||||||
|
Contents
Video
Instruction
This is an NFC-powered 4.2inch e-Paper Module, with 400x300 resolution. Users can transmit data from smartphone or NFC reader to e-Paper and refresh by NFC.
Features
- No backlight required, e-Paper keep displaying the last content for a long time without power
- No power adapter requried
- You can modify the display content by smartphone
- Compe with ABS case
- App is provided
Specification
- Power: NFC-powered
- Resolution: 400x300
- Dot pitch: 0x212x 0x212
- Refresh time: 4s
- Display color: black, white
- Viewing angle: >170°
- Outline dimension: 105.0mm x 94.1mm, 9.90mm
- Display dimension: 84.8mm x 63.6mm
User guide
Android APP
You can scan the QR code to download and install the APP to your phone, note that the app can only supports Android 4.0(Ice Cream Sandwich) and above.
- Click the picture button on the bottome to choose picture. You can choose the picture from DCIM or you take a picture by camera.
- You can cut the picture after choosing, resize it and rotate. For best effect. we recommend you to pre-adjust the picture according to the resolution of e-Paper.
- In the main page, you can select the process effect ( None Effect, Gray Effect, Block Effect, Sketch Effect and Neon Effect)
- In the main page, you can clock the Adjust symbol on the left-bottom to adjust the brightness and contrast. You can also touch the "+" symbol on the right-bottom to adjust picture.
- After setting, close the NFC area of you phone to backside of 4.2inch NFC-Powered e-Paper to update it.
【Note】Make sure that you have open NFC function of your phone, and do not move phone when transmitting and updating.
- Other functions
- You can also draw the picture. Click the "..." symbol on right-top , choose Gallery, touch one picture to enter drawing mode.
IOS APP
For IOS users, you can download and install NFC E-Tag app from APP store. 1. Open the APP, choose the e-Paper type according to the actual display.
2. Click the picture, near the NFC area of your iPhone to NFC area of e-Paper for updating.
3. You can click the Pictures button on the left-bottom to choose the updated pictures.
3. You can click the Text buttons to make a text image.
4. You can click the Adjust button to adjust the brightness and contrast of picture.
e-Paper Floyd-Steinberg
- Floyd-Steinberg dithering algorithm is suitable to show a rich sense of gradation based on a picture that has few colors. This makes it possible to obtain more color combinations and perform better shadow rendering on the original picture, especially suitable for e-Paper display.
- This instruction we will show you how to made Floyd-Steinberg image
- You can also refer to the demo codes of ESP32 or ESP8266 about the realization of the Floyd-Steinberg algorithm.
How to do
- Download the color table to your PC and unzip it
- Create a new Photoshop project, and set the resolution according to the e-Paper you use, set the color mode to RGB. For example, we use 7.5inch e-Paper whose resolution is 800*480 as example.
- Import the image to project, adjust the image as you want
- Select File -> Export -> Save as Web...
- Import the color table
- For black/white e-Paper, import Black-White.act, and save the image.
- For black/white/red e-Paper, import Black-White-Read.act and save.
- For black/white/yellow e-Paper, import Black-White-Yellow.act and save.
- For Seven-colors e-Paper, import N-color.act and save.
Android SDK for NFC-Powered e-Paper
For easily develop your own APP, we provided the SDK, the SDK packages the send function, you only need to use it for updating the NFC-Powered e-Paper.
Import the .jar file
- Download the SDK
- Download the SDK and unzip it to get the .jar file
- NFC SDK
- Copy the Jar file to libs directory of your project.
- Find the .jar file in your project, right-click it to add it as libraries.
- After adding, the line will bee auto-added to build.gradle.:
Use guide
There are two functions provided, one is send function and any is status function.
Sent function
- int a(NfcA var1, int var2, Bitmap var3) ;
- var1: NFC tag
- var2:Type of the e-Paper (refer to the type table below)
- var3: The BMP picture for updating.(refer to the picture table below)
- Return
- 1:Sent successfully
- 0:Failed
Type | e-Paper |
---|---|
1 | 2.13inch |
2 | 2.9inch |
3 | 4.2inch |
4 | 7.5inch |
5 | 7.5inch HD |
6 | 2.7inch |
7 | 2.9inch B |
Type | e-Paper | width | height |
---|---|---|---|
1 | 2.13inch | 250 | 122 |
2 | 2.9inch | 296 | 128 |
3 | 4.2inch | 400 | 300 |
4 | 7.5inch | 800 | 480 |
5 | 7.5inch HD | 880 | 528 |
6 | 2.7inch | 264 | 176 |
7 | 2.9inch B | 296 | 128 |
- Bitmap
Black/White e-Paper: Requrie BMP pictures, which has only Black and white pixels.
Three-color e-Paper: Require BMP picture, which has only three colors.
Status function
- int b()
- Return:
- 0-100:The current process of sending.
- -1:Failed
Examples
protected void onNewIntent(Intent intent) {//Recognized the NFC if (mWriteMode && NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) { detectedTag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG); String[] tech = detectedTag.getTechList();//Get the descriptor if(tech[0].equals("android.nfc.tech.NfcA")) {//if the descriptor is correct Thread t = new Thread() {//Create an new thread @Override public void run() { Boolean success = false; NfcA tntag;//NFC tag final a a = new a();//Create a new instance. a.a();//初始化发送函数 Thread thread = new Thread(new Runnable() {//Create thread @Override public void run() { EPD_total_progress = 0; while(EPD_total_progress != -1){ EPD_total_progress = a.b();//Read the process if(EPD_total_progress == -1){ break; } setStatusBody(getString(R.string.txing) + EPD_total_progress +"%"); if(EPD_total_progress == 100 ){ break; } SystemClock.sleep(10); } } }); thread.start();//start the thread tntag = NfcA.get(detectedTag);//Get the tag instance. try { int whether_succeed = a.a(tntag,Size_Flag, bmp_send);//Send picture if(whether_succeed == 1){ success = true; runOnUiThread(new Runnable() { @Override public void run() { checkNFCpopwindow.dismiss(); //Tips } }); Success_Sound_Effects(); }else{ setStatusBody(getString(R.string.txfail)); } } finally { try { if (success == false) { setStatusBody(getString(R.string.txfail)); runOnUiThread(new Runnable() { @Override public void run() { checkNFCpopwindow.dismiss(); } }); } tntag.close(); } catch (IOException e) {//handle exception error e.printStackTrace(); } } } }; t.start();//Start thread } } }
Resources
Support
|