F5UII – Station radioamateur française

Tutorial d’installation d’un écran Nextion pour MMDVM

Dans la suite de mes articles pédagogiques sur MMDVM, je vous propose cette fois-ci un tutorial expliquant étape par étape, comment ajouté un écran Nextion (itead) sur votre relais MMDVM.

Programmation initiale de l’écran Nextion

Prérequis logiciel

Nous avons besoin de rajouter le module logiciel serial au langage python

sudo apt-get install python-serial

Configuration du port série /dev/ttyAMA0

Dévalider l’accès à la console par le port série. (Vous êtes connecté par un autre moyen).

sudo raspi-config

Configurer le port série et redémarrer le Raspberry Pi

Raccordement de l’écran

L’écran doit à présent être raccordé au port série (appelé UART) du Raspberry Pi, afin de pouvoir le programmer à l’étape suivante.

 

Cablage du Raspberry Pi (GPIO) à l’écran Nextion

Chargement du firmware MMDVM sur l’écran Nextion

Sélectionner tout d’abord le fichier que vous allez charger en fonction de l’écran. Consultez la référence de l’écran indiqué sur le dos de celui-ci. Dans le cas de notre exemple, l’écran est sérigraphié NX3224T024_011. Nous allons identifier le nom du fichier avec les commandes suivantes

cd /opt/MMDVMHost/Nextion
ls
ls *24T024*

Nous trouvons deux fichiers correspondant à cet écran. Le fichier .HMI est le format natif. Le fichier .tft est le fichier binaire compilé qui sera chargé sur l’écran à l’étape suivante.

Nous allons à présent charger le fichier grâce au programme python nextion.py fourni. Le premier paramètre est le nom du fichier tft à charger, le second paramètre est le port série cible.

 sudo python nextion.py NX3224T024.tft /dev/ttyAMA0

 

L’écran s’allume. Le logo MMDVM s’affiche.

Raccordement et configuration de MMDVM

Choix du raccordement

Il existe deux possibilités de raccordement de votre écran Nextion:

Nous allons expliciter les deux manières de procéder.

L’écran Nextion sur le Raspberry Pi

Il nous faut valider le fonctionnement de l’écran en modifiant le fichier de configuration MMDVM.ini

sudo nano /opt/MMDVMHost/MMDVM.ini

En début du fichier, section [General] nous allons spécifier l’écran

[General]
Callsign=F5ZKS
Timeout=600
Duplex=1
# ModeHang=10
RFModeHang=10
NetModeHang=3
Display=Nextion
#Display=None
Daemon=0

Et nous vérifions que la section [Nextion] précise bien le port série utilisé

[Nextion]
# Port=modem
Port=/dev/ttyAMA0
Brightness=50
DisplayClock=1
UTC=0
IdleBrightness=20

Nous enregistrons le fichier modifié (Ctrl-X), et Yes

Nous redémarrons le Raspberry Pi

sudo reboot

L’écran s’allume et indique que MMDVM est prêt (Idle). L’indicatif et l’ID du relais est affiché.

L’écran Nextion sur la platine de filtrage MMDVM

Nous allons nous intéresser à la seconde possibilité de raccordement, celle de la platine de filtrage.

Configuration logiciel du firmware MMDVM

Notez que pour plus de détail sur le processus de mise à jour du firmware, référez-vous à l’article Installation de MMDVM sur une carte STM32F4xx

Nous modifions le fichier de configuration du firmware Config.h, en validant le port série pour l’afficheur Nextion (SERIAL_REPEATER), en bas de fichier

Puis on recompile de firmware MMDVM (cf. “Lancer la compilation” dans  Installation de MMDVM sur une carte STM32F4xx).

On recharge la cible (avec STM32 utility pour Nucleo par exemple, voir :fr]Installation de MMDVM sur une carte STM32F4xx).

Configuration de MMDVMHost

Nous spécifions au fichier MMDVM.ini à présent que l’écran Nextion est raccordé sur le modem MMDVM.

sudo nano /opt/MMDVMHost/MMDVM.ini
[Nextion]
Port=modem
#Port=/dev/ttyAMA0
Brightness=50
DisplayClock=1
UTC=0
IdleBrightness=20

Dans la section [General], l’écran est spécifié Nextion.

[General]
Callsign=F5ZKS
Timeout=600
Duplex=1
# ModeHang=10
RFModeHang=10
NetModeHang=3
Display=Nextion
#Display=None
Daemon=0

Raccordement de l’écran sur le modem MMDVM

Brancher sur la platine MMDVM pour STM32 comme présenté sur la photo ci-dessous.

Nous redémarrons le Raspberry Pi

sudo reboot

Votre afficheur est opérationnel.

Modem MMDVM, sur Nucleo STM32F4, écran iTead Nextion et Raspberry Pi

Installation de MMDVM sur une carte STM32F4xx .

We modify the config.h firmware configuration file, validating the serial port for the Nextion display (SERIAL_REPEATER), at the end of the file.

Then you recompile MMDVM firmware (see “Start compilation” in Installation de MMDVM sur une carte STM32F4xx).

We reload the target (with STM32 utility for Nucleo for example, see Installation de MMDVM sur une carte STM32F4xx).

Configuring MMDVMHost

We now specify in MMDVM.ini file so that the Nextion screen is connected to the MMDVM modem.

sudo nano /opt/MMDVMHost/MMDVM.ini
[Nextion]
Port=modem
#Port=/dev/ttyAMA0
Brightness=50
DisplayClock=1
UTC=0
IdleBrightness=20

In the [General] section, the screen is specified as Nextion.

[General]
Callsign=F5ZKS
Timeout=600
Duplex=1
# ModeHang=10
RFModeHang=10
NetModeHang=3
Display=Nextion
#Display=None
Daemon=0

Connecting the display to the MMDVM modem

Plug into the MMDVM Nucleo STM32 shield as shown on the picture below.

We restart the Raspberry Pi

sudo reboot

Your display is operational.

MMDVM modem, on Nucleo STM32F4, iTead Nextion screen and Raspberry Pi

N’hésitez pas à utiliser les commentaires pour toute aide jugée nécessaire…