Beginnen met Nextion
42 berichten
• Pagina 1 van 5 • 1, 2, 3, 4, 5
Beginnen met Nextion
Plof ! daar viel mijn eerste Nextion scherm op de mat.
Ik betaalde ongeveer 15 euro voor een NX3224T024_011. Het was een tijdelijke aanbieding.
Hieronder wil ik beschrijven wat ik gedaan heb, en waar ik tegenaan loop.
Het scherm wil ik eerst gaan uitproberen met een Arduino Uno, samen met de AltSoftSerial library.
Verbinden met de Nextion Editor door gebruik te maken van de Arduino usb-serial chip
Maak een lege sketch (lege setup() en lege loop() functie) en upload die.
Verbind daarna het Nextion scherm met de GND, de 5V en de gele draad naar pin 0 (RX) en de blauwe draad naar pin 1 (TX). Vanuit de Nextion Editor kun je dingen uploaden, en daarna debuggen. Als je een baudrate kunt kiezen, kies dan 115200. In het debug venster verbinden, en dan beide kiezen (zowel het schermpje als de emulatie), en dan kun je de berichten zien als je op een knop drukt.
Bedienen vanuit de Arduino Uno
Installeer de Nextion library vanaf hier: https://github.com/itead/ITEADLIB_Arduino_Nextion
Scroll naar beneden voor de stabiele 0.7.0 versie. Download de .zip.
Vanuit de Arduino IDE de bibliotheek als .zip toevoegen.
Dan naar Mijn documenten / Arduino / libraries naar de ITEAD Nextion library gaan, en de instellingen wijzigen in "NexConfig.h" voor altSoftSerial en de debug poort uitzetten.
Daarna de Arduino IDE opnieuw opstarten.
De altSoftSerial met 115200 is te snel, dus begin met 9600.
De Nextion gele draad naar pin 9 en de Nextion blauwe draad naar pin 8.
Installeer de altSoftSerial via de Bibliotheek beheerder in de Arduino IDE.
Via SD kaartje
De voorbeelden bestaan uit een sketch en twee bestanden die op een SD kaartje gezet kunnen worden.
Dit gaat helaas niet goed.
Op het scherm krijg ik altijd de mededeling dat de file versie te nieuw is.
Is er ergens firmware die geupdate moet worden ?
Thema's
Ik dacht: "ik ga even een steampunk thema downloaden", maar dat gaat niet. Er zijn helemaal geen thema's om te downloaden. Moet ik alles zelf maken ? maar ik heb de creativiteit van een baksteen
Ik betaalde ongeveer 15 euro voor een NX3224T024_011. Het was een tijdelijke aanbieding.
Hieronder wil ik beschrijven wat ik gedaan heb, en waar ik tegenaan loop.
Het scherm wil ik eerst gaan uitproberen met een Arduino Uno, samen met de AltSoftSerial library.
Verbinden met de Nextion Editor door gebruik te maken van de Arduino usb-serial chip
Maak een lege sketch (lege setup() en lege loop() functie) en upload die.
Verbind daarna het Nextion scherm met de GND, de 5V en de gele draad naar pin 0 (RX) en de blauwe draad naar pin 1 (TX). Vanuit de Nextion Editor kun je dingen uploaden, en daarna debuggen. Als je een baudrate kunt kiezen, kies dan 115200. In het debug venster verbinden, en dan beide kiezen (zowel het schermpje als de emulatie), en dan kun je de berichten zien als je op een knop drukt.
Bedienen vanuit de Arduino Uno
Installeer de Nextion library vanaf hier: https://github.com/itead/ITEADLIB_Arduino_Nextion
Scroll naar beneden voor de stabiele 0.7.0 versie. Download de .zip.
Vanuit de Arduino IDE de bibliotheek als .zip toevoegen.
Dan naar Mijn documenten / Arduino / libraries naar de ITEAD Nextion library gaan, en de instellingen wijzigen in "NexConfig.h" voor altSoftSerial en de debug poort uitzetten.
- Code: Alles selecteren
// #define DEBUG_SERIAL_ENABLE
#define nexSerial altSerial
Daarna de Arduino IDE opnieuw opstarten.
De altSoftSerial met 115200 is te snel, dus begin met 9600.
De Nextion gele draad naar pin 9 en de Nextion blauwe draad naar pin 8.
Installeer de altSoftSerial via de Bibliotheek beheerder in de Arduino IDE.
Via SD kaartje
De voorbeelden bestaan uit een sketch en twee bestanden die op een SD kaartje gezet kunnen worden.
Dit gaat helaas niet goed.
Op het scherm krijg ik altijd de mededeling dat de file versie te nieuw is.
Is er ergens firmware die geupdate moet worden ?
Thema's
Ik dacht: "ik ga even een steampunk thema downloaden", maar dat gaat niet. Er zijn helemaal geen thema's om te downloaden. Moet ik alles zelf maken ? maar ik heb de creativiteit van een baksteen
Advertisement
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Beginnen met Nextion
Dan worden het baksteen schermen:)
De firmware wordt geupdate met een nieuwe tft file uit de editor. Dus ff een voorbeeld file lezen met de editor en een nieuwe tft genereren. En die dan uploaden.
De firmware wordt geupdate met een nieuwe tft file uit de editor. Dus ff een voorbeeld file lezen met de editor en een nieuwe tft genereren. En die dan uploaden.
Re: Beginnen met Nextion
Okay, bedankt, dus de firmware gaat altijd gaat gelijk mee bij een upload. Ik zie een melding in de Nextion Editor dat de voorbeelden worden omgezet naar een nieuw formaat.
Dus dan heb ik eigenlijk niets aan de socket voor een SD kaartje, want dan krijg ik de melding: "File Version is too low".
Ik ben gewend om een scherm met capacitieve touch te gebruiken die ik maar net hoef aan te raken. Hier moet ik echt op het scherm drukken. Het lijkt er op dat de touch op het scherm is geplakt, en dat de voorkant nu kunststof is en geen glas. En ja, de beschermfolie heb ik er af gehaald
Welke versie van de Arduino library gebruik jij ? De stabiele v0.7.0, of de nieuwste ?
Dus dan heb ik eigenlijk niets aan de socket voor een SD kaartje, want dan krijg ik de melding: "File Version is too low".
Ik ben gewend om een scherm met capacitieve touch te gebruiken die ik maar net hoef aan te raken. Hier moet ik echt op het scherm drukken. Het lijkt er op dat de touch op het scherm is geplakt, en dat de voorkant nu kunststof is en geen glas. En ja, de beschermfolie heb ik er af gehaald
Welke versie van de Arduino library gebruik jij ? De stabiele v0.7.0, of de nieuwste ?
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Beginnen met Nextion
Ik had versie 0.41 bij mij erop staan. Ga nu naar 0.43. Moet ff kijken of dat nog meer effecten heeft. Ik ben namelijk een Windows programma aan het schrijven (met CodeBlocks & wxWidgets) om een HMI file te lezen en te decoderen en dan automatisch een include te genereren. Dan kan je gewoon eventdriven programmeren
voorbeeld van de .h
cpp code
De pest met die Chinezen is dat ze af en toe weer de indeling veranderen en moet je dus rekening houden elke keer met een andere indeling. De grootste verandering was toen ze van 16 bit pointers overgingen naar 32 bits. En tegelijk ook maar ff de file header hebben aangepast. Verder heb ik op dit moment versie 0.9.0 als library.
voorbeeld van de .h
cpp code
#ifndef TEST_H
#define TEST_H
//
// include file generated from HMI file TEST.HMI
// HMI file was created with Nextion IDE version V0.38
// generated on 2017-01-31T11:07:59
//
#include <Arduino.h>
#include <Nextion.h>
/**
* Structure of page: MainScreen
*/
struct {
NexButton ButtonOn = NexButton(0, 1, "ButtonOn");
NexButton ButtonOff = NexButton(0, 2, "ButtonOff");
NexText DisplayText = NexText(0, 3, "DisplayText");
} MainScreen;
void OnReleaseMainScreenButtonOn(void *ptr);
/**
* @name MainScreenButtonOnReleaseCallBack
* @param ptr Pointer to ButtonOnobject that generated this event
* is called when a release event is generated from button ButtonOn
*/
void MainScreenButtonOnReleaseCallBack (void *ptr) {
OnReleaseMainScreenButtonOn(&ptr);
}
void OnReleaseMainScreenButtonOff(void *ptr);
/**
* @name MainScreenButtonOffReleaseCallBack
* @param ptr Pointer to ButtonOffobject that generated this event
* is called when a release event is generated from button ButtonOff
*/
void MainScreenButtonOffReleaseCallBack (void *ptr) {
OnReleaseMainScreenButtonOff(&ptr);
}
/**
* @name attachCallBacks()
* attaches our callback functions to the Nextion system
*/
void attachCallBacks() {
MainScreen.ButtonOn.attachPop(MainScreenButtonOnReleaseCallBack, &(MainScreen.ButtonOn));
MainScreen.ButtonOff.attachPop(MainScreenButtonOffReleaseCallBack, &(MainScreen.ButtonOff));
}
/**
* @name nex_listen_list
* is a list of all objects that need listening to
*/
NexTouch * nex_listen_list[] {
&ButtonOn,
&ButtonOff,
NULL
};
#endif
De pest met die Chinezen is dat ze af en toe weer de indeling veranderen en moet je dus rekening houden elke keer met een andere indeling. De grootste verandering was toen ze van 16 bit pointers overgingen naar 32 bits. En tegelijk ook maar ff de file header hebben aangepast. Verder heb ik op dit moment versie 0.9.0 als library.
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Beginnen met Nextion
En uiteraard is de indeling weer veranderd. Maar het valt mee zo te zien....
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Beginnen met Nextion
Ik het volgende gedaan:
a) Met IDE versie 0.43 (nieuwste versie) compButton geladen vanuit de voorbeeld in de Nextion Arduino library
b) omgezet naar nieuwere format (daar vraagt hij om als je wilt compileren)
c) de .tft file uit de build directory gekopieerd naar een lege SD kaart
d) Nextion scherm van spanning voorzien
e) hij laadt bij mij keurig de tft in
f) ff spanning eraf spanning erop en scherm is keurig geladen.
Dus dat werkt prima.
a) Met IDE versie 0.43 (nieuwste versie) compButton geladen vanuit de voorbeeld in de Nextion Arduino library
b) omgezet naar nieuwere format (daar vraagt hij om als je wilt compileren)
c) de .tft file uit de build directory gekopieerd naar een lege SD kaart
d) Nextion scherm van spanning voorzien
e) hij laadt bij mij keurig de tft in
f) ff spanning eraf spanning erop en scherm is keurig geladen.
Dus dat werkt prima.
Re: Beginnen met Nextion
Via een SD kaartje met de bestanden omgezet door de Nextion Editor krijg ik nu: "No Find File".
Verder heb ik de debug messages weer aangezet en die gaan naar de normale Serial port. Ik gebruik nu overal de nieuwste programma's van. Dus Arduino IDE 1.8.1, en de unstable nieuwste Nextion library.
De nieuwste Nextion library heeft verkeerde namen voor de voorbeelden, die komen daardoor niet in het menu. Ik haal een voorbeeld op en bewaar het dan bij mijn projecten.
De AltSoftSerial bleek geen setTimeout() te hebben, dus dat heb ik weggecommentarieerd in NexHardware.cpp.
Verder bleek er een probleem met de includes, daarom heb ik nog wat regels toegevoegd aan NexConfig.h :
Tot zover gaat het goed, alleen zit ik onhandig te hinkelen tussen Windows en linux.
Verder heb ik de debug messages weer aangezet en die gaan naar de normale Serial port. Ik gebruik nu overal de nieuwste programma's van. Dus Arduino IDE 1.8.1, en de unstable nieuwste Nextion library.
De nieuwste Nextion library heeft verkeerde namen voor de voorbeelden, die komen daardoor niet in het menu. Ik haal een voorbeeld op en bewaar het dan bij mijn projecten.
De AltSoftSerial bleek geen setTimeout() te hebben, dus dat heb ik weggecommentarieerd in NexHardware.cpp.
Verder bleek er een probleem met de includes, daarom heb ik nog wat regels toegevoegd aan NexConfig.h :
- Code: Alles selecteren
#define DEBUG_SERIAL_ENABLE
#define dbSerial Serial
#include <AltSoftSerial.h>
extern AltSoftSerial altSerial;
#define nexSerial altSerial
Tot zover gaat het goed, alleen zit ik onhandig te hinkelen tussen Windows en linux.
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Beginnen met Nextion
De .HMI file is de zgn. project file. die hoeft niet op de SD kaart. Er is ook nog een folder waar de .tft file wordt gezet. Via de IDE kun je daar naar toe. Die moet je op de SD kaart zetten. Die file bouw je op met de compile button in de IDE
Re: Beginnen met Nextion
Via een SD kaartje werkt nu ook Bedankt !
In het menu zit "open build folder", en daar zitten ze dus.
Hoe ver zou @PhilippeSteelant zijn ? Hij gebruikt ook een Arduino Uno, en dat samen met AltSoftSerial vind ik goed werken.
In het menu zit "open build folder", en daar zitten ze dus.
Hoe ver zou @PhilippeSteelant zijn ? Hij gebruikt ook een Arduino Uno, en dat samen met AltSoftSerial vind ik goed werken.
- nicoverduin
- Berichten: 5043
- Geregistreerd: 13 Mei 2013, 20:57
- Woonplaats: Heemskerk
Re: Beginnen met Nextion
Persoonlijk vind ik buildfolder k.t maar ik heb nog niet kunnen vinden dat ie gewoon dezelfde folder pakt als de hmi.
42 berichten
• Pagina 1 van 5 • 1, 2, 3, 4, 5
Wie is er online?
Gebruikers in dit forum: Geen geregistreerde gebruikers en 1 gast