2016-11-09 18:04:44 +00:00
|
|
|
# Update Nextion Displays from the Command Line
|
|
|
|
|
|
|
|
This directory contains a simple python script which you can use to update the
|
|
|
|
Nextion displays. All you need is a compiled .tft file which is written to the
|
|
|
|
display's flash memory. The precompiled .tft files with the MMDVMHost default
|
|
|
|
layout are to be found in this directory as well.
|
|
|
|
|
|
|
|
To update the Nextion display you just need to know the serial port the display
|
|
|
|
is connected to. It could be /dev/ttyUSBx for USB<->Serial adapters or
|
|
|
|
/dev/ttyAMA0 for the UART on the Raspberry Pi for example.
|
|
|
|
|
|
|
|
# Prerequisites
|
|
|
|
|
|
|
|
You need to have python installed as well as the python-serial package. That can
|
|
|
|
normally be found in your distro's package manager.
|
|
|
|
|
2016-11-10 20:22:10 +00:00
|
|
|
# File Naming Convention
|
|
|
|
|
|
|
|
There are compiled .tft files in the repo for basic and enhanced Nextion
|
|
|
|
displays of sizes 2.4", 2.8", 3.2" and 3.5". Please choose depending on the
|
|
|
|
model number printed on the back of the display.
|
|
|
|
|
|
|
|
The basic displays are denoted by a "T" as 7th character in the filename and
|
|
|
|
model number whereas enhanced displays have a "K" in that position. The actual
|
|
|
|
display size can be derived from the last two digits. The four digits in between
|
|
|
|
the characters refert to the diplay's resolution.
|
|
|
|
|
|
|
|
For example: A model number NX4832T035 represents a display with:
|
|
|
|
|
|
|
|
- a resolution of 320x480 pixels
|
|
|
|
- basic command set
|
|
|
|
- a screen size of 3.5"
|
|
|
|
|
|
|
|
# Updating the Display
|
2016-11-09 18:04:44 +00:00
|
|
|
|
|
|
|
Now comes the easy part. Just execute:
|
|
|
|
|
|
|
|
```
|
2016-11-10 20:22:10 +00:00
|
|
|
$ python nextion.py NX4832T035.tft /dev/ttyUSB0
|
2016-11-09 18:04:44 +00:00
|
|
|
```
|
|
|
|
|
|
|
|
And the output should be as follows:
|
|
|
|
|
|
|
|
```
|
|
|
|
Trying with baudrate: 2400...
|
|
|
|
Trying with baudrate: 4800...
|
|
|
|
Trying with baudrate: 9600...
|
|
|
|
Connected with baudrate: 9600...
|
|
|
|
Status: comok
|
|
|
|
Touchscreen: yes
|
|
|
|
Model: NX4832T035_011R
|
|
|
|
Firmware version: 68
|
|
|
|
MCU code: 61488
|
|
|
|
Serial: D2658880C35D2124
|
|
|
|
Flash size: 16777216
|
|
|
|
Downloading, 100%...
|
|
|
|
File transferred successfully
|
|
|
|
```
|
|
|
|
|
|
|
|
# Known errors
|
|
|
|
|
|
|
|
Especially when using USB<->Serial adapters there are cases in which the scripts
|
|
|
|
stops at different times. This is known and due to the very simple update
|
|
|
|
protocol. In this case you have to fix the display by using a SD-Card to update
|
|
|
|
the display. The /dev/ttyAMAx ports do not seems to suffer from this issue.
|
|
|
|
|