Nextion HMI iemand ervaring

High met Henk

Special Member

Voor een low budget oplossing zocht ik een HMI
mijn keuze is nu waaschijnlijk gevallen op de Nextion HMI van 7"

https://nextion.itead.cc/

probleem is dat ik een paar wijzertjes wil maken, maar heb toch wel flinke problemen om een schaal te maken. Een ronddraaiende wijzer is geen probleem. maar een bijbehorende schaal maken lijkt mij ook wel ERG prettig. de lijntjes die naar de bijbehorende waarde moeten maken, moet ik vanuit de MCU de lijntjes gaan tekenen. ook kan ik lijndikten niet opgeven.. dit maakt de lijntjes niet echt lekker zichtbaar. nou kan ik best meerdere lijntjes langs elkaar leggen, maar komop zeg.

beetje omslachtig om alle coordinaten te bereken

Zeker daar ik niet 1 maar 10 (deels) ronde metertjes wil gebruiken. het kan allemaal wel, maar is een puist werk.

met een echte HMI zou ik in no time klaar zijn.

ook heb ik dus mijn waarden in de "gauge" ofwel meter staan en als ik die in debug herschrijf vallen de waarden weg. Al met al ben ik er nog niet heel erg van overtuigd dat dit hem ook echt gaat worden... ik heb ze nog niet besteld

Doel is een nieuw dashboard in mijn auto
(voor de ingewijden meters representeren:
Snelheid,
toerental
olie temp
oliedruk
water temp
waterdruk
inlaat temp
inlaat druk
uitlaat temp
brandstof niveau

dan heb ik ook nog zaken als boordcomputer (brandstofverbruik, afstand nog te rijden, gemiddelde snelheid, gemiddeld verbruik)
km teller
dagteller
deur open indicator
lamp defect indicatie
raw
buiten temp
grootlicht
gewoonlicht
Diff locks
cruis control actief
boordspanning
winch actief
(later) omvormer actief
alarmen (oliedruk, geen lading, over temperatuur)
waarschuwingen (warm worden, tank bijna leeg)

al met al is het allemaal niet tijd kritisch, maar als ik ALLES moet genereren met de MCU.. Ik verdeel het wel over 2 mcu's misschien, maar dan nog!

ik ben een normale HMI gewend en mag toch wel aannamen dat ik gewoon een lijntje kan tekenen en op kan geven hoe dik die moet zijn?? of een halfronde cirkel? (nextion kan alleen volle cirkels)

en als ik een meter heb is een schaal eigenlijk ook wel prettig.. ik snap er geen bal van dat ze dit zo leveren of mis ik de helft van de features???
misschien ben ik verwend met normale HMI's van Hakko of WAGO of Siemens, maar dit is wel echt allemaal HEEL knullig in elkaar gestoken...

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

Je moet gebruik maken van plaatjes waar je dan de wijzers in laat bewegen.
Alles genereren met software is niet te doen omdat je meestal niet genoeg geheugen hebt in de controller.

Dus plaatjes maken met een tekenprogramma of kopiëren van het net en met die plaatjes de layout(s) van het scherm of schermen maken.

Ik heb geen scherm maar heb mij er wel eens in verdiept maar het is zeer omslachtig, toen alleszins, nu is het al wat uitgebreider.
Ook moeilijk om de wijzers op het juiste punt te laten starten als je bv van 20° naar 270° wilt gaan, je kunt nl die 20° niet aanzien als 0 en die 270° als 100%.

Maar je kunt alles proberen en uittesten met de gratis software.

edit: mijn doel was een antenne te besturen maar omdat de software toen nog very basic was heb ik het opgegeven.

LDmicro user.

Wat je zou kunnen doen is in een tekenprogramma de schaal maken en die als image aan de gauge toekennen.
je moet alleen even uitzoeken hoever de waarden van de gauge uit elkaar liggen.
Met lijndikte bedoel je de dikte van de wijzer?
Dat is de de wid optie in de gauge.

Je hoeft ook niet een hele cirkel te gebruiken, alleen begint de gauge een beetje dom op 270 graden dus moet je uit rekenen waar je wilt beginnen.

High met Henk

Special Member

@mgp: ik heb gezien dat hun dat zo doen, maar vindt dat eigenlijk een k*t methode.. Zelf plaatje maken en daar wijzer op laten draaien... Brrrr...
Die hoeken had ik al ontdekt idd. Draai van 320 naar 270 via 0.

@djenn: ik bedoelde de lijntjes die ik bij de schaal zet. Dus commando line, x1,y1,x2,y2,color. Er is dus geen optie line width

Voor geheugen problemen ben ik niet zo bang.. Een i2c eeprom erbij lost dit op..

Iemand die ook iets weet over het overschrijven? Mijn gauge is nu 400 x 400 en daar binnen zet ik nu met tekst ook de schaal en teken vanuit de mcu de streepjes.. Maar als ik de wijzer laat draaien valt 75% weg. Althans in de simulator....

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

ik vind het juist wel een hele goede opzet.
Ok de tool is erg eigenaardig en het vergt heel wat creativiteit.
Het is ook een lopende ontwikkeling en wordt langzaamaan steeds beter.
Maar wat verwacht je voor een paar euro voor een soortgelijkschermpje
Je kan ook in je mcu software heel je grafische stuk coden of een dure 3rd party tool van segger bijvoorbeeld gebruiken. Tuurlijk zullen die wat gebruiksvriendelijker zijn (denk ik)

Ik vind het juist wel fijn dat je je mcu zoveel mogelijk kan ontlasten en in jouw toepassing enkel de waardes van alles gauges via uart naar de nextion hoeft te sturen. Hoe zicht dat vertaalt en hoe er dat uitziet definieer je allemaal in de HMI editor.

Je kan ook nog wat code toevoegen wat redelijk beperkt is, maar meestal toch genoeg.
Ik heb laatst een 10 cijferig keypad gemaakt om ip adressen in te stellen.
Dit was nog best een uitdaging omdat je per octet maar max 255 mag kiezen dus als je al 2 en 5 hebt gekozen, mag je enkel nog 0,1,2,3,4 of 5 kiezen, etc.
Dat vergt wel wat gedoe, maar het kan allemaal wel en vanuit mijn mcu applicatie hoeft ik enkel het ingestelde ip adres op te vragen.

High met Henk

Special Member

Aanvulling wat ik bedoel:
ik bouw dit met vaste texten en getekende lijntjes..

en dan verplaats ik de wijzer door een andere value op te geven:
I_spd.val=336

Ca de helft van mijn objecten verdwijnt.

Okee dit is in simulatie, maar maakt mij huiverig voor het echte ding!!!

dus stijn: ja wil best creatief worden, maar moet het wel beetje werken. Dit belast mijn MCU juist t.o.v. een industirële HMI. Daar teken ik alles in de HMI en hoef alleen maar verplaatsings waarden van meters op te geven: nu moet de MCU alles teken

ik heb al 20 commando's nodig im de lijntjes te tekenen:
line 247,379,239,385,GREEN

als de lijntjes 3x zo dik worden, zoals ik wil zijn het 60 commando's

das geen ontlasting, maar een belasting. en dat alleen voor deze meter

[Bericht gewijzigd door High met Henk op donderdag 23 november 2017 08:16:43 (44%)

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

Ik blijf erbij dat het best werken is met plaatjes hoe kl*te je het ook vindt.

Waarschijnlijk komt het omdat de gauge in werkelijkheid een vierkant is dat telkens hertekend wordt op de achtergrond.
In de praktijk zal het erop neerkomen dat je telkens een refresh zult moeten doen van de getekende objecten nadat de wijzer is verplaatst, niet te doen dus.

Hieronder een plaatje met zo'n getekende achtergrond, let niet op het witte vlak onderaan want daar stond een naam.

Edit : bij dit model kon je de wijzer door de cijfers tekenen zonder dat er iets verdween.

LDmicro user.

Dat lijkt wel op oude basic problemen. Ik tekende eerst de oude wijzerstand in de achtergrondkleur en de nieuwe stand weer de kleur die je wilt. Dan nog zie wel eens wat pixels die overblijven.

Automotive engineer - www.easy-tech.nl

Hier wordt het achtergrondplaatje gebruikt als transparant color en daardoor worden alle andere objecten in dat vierkant overschreven, de objecten zijn er nog wel maar de pixels zijn weg tot je ze hertekent of update(t).

Als je een gauge invoegt zie je dat vierkant en dat is de oorzaak.

edit: misschien een andere werkwijze gebruiken, teken in de editor alle objecten die niet veranderen ook dat groene vlak waar cijfers in verschijnen, maak er dan een snapshot van en gebruik dat als achtergrond.
Het heeft meteen ook de juist afmetingen en dan heb je geen last meer van verdwijnende tekens.

[Bericht gewijzigd door MGP op donderdag 23 november 2017 10:07:01 (35%)

LDmicro user.
High met Henk

Special Member

Wordt dan dus idd een mooie achtergrond maken.
een echte HMI mogen we dit dus niet noemen...

Is behelpen, maar prima. We gaan wel een work around maken...
voor nu niet zo erg.

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

het is bij die nextion inderdaad veel meer de kunst om met crop images en een grafische tool mooie achtergronden te maken.
Dit heeft wel zo zijn beperkingen dat de tool niet echt goede transparantie kent, maar ik zou in jouw geval denken dat je een " mooie" achtergrond maakt van de meter. En de gauge die je daaroverheen legt moet weer een uitsnede van die grafische achtergrond hebben als background.

High met Henk

Special Member

het werkt idd, wel maar een normale HMI heeft gewoon compleet scala aan gauges

en die regelt ook zelf zijn overschrijven van de data.. Moest nu een vector based programma downloaden. ben nu inkscape aan het klooien.

met hakko of siemens of Wago ben je zo klaar.
Nu is dit een privé projectje, maar profi ga ik dit never of te nooit inzetten voorlopig!

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

tsja maar wat betaal je voor een siemens HMI?
Ik ben met je eens dat je wat meer flexibiliteit zou wensen.
Het knutselen met plaatjes overelkaar leggen en op juiste coordinaten componenten plaatsen vergt wat gepuzzel, maar heeft ook weer zijn voordelen.
Zie bijgevoegde hmi file.
Dit is ene willekeurige gauge via google gevonden en daar een nextion gauge van getoverd.

Wat ik zelf jammer vind is dat je dus niet 1x zo'n ding maakt en vervolgens deze 4x op de scherm zet. Je ze ook niet kan resizen.
In je background image moet je dus al alle gauges getekend hebben die je wil hebben uiteindelijk

je mcu hoeft enkel een string te sturen van z0.val="waarde"
ik zou zelf geen lijnen gaan tekenen vanuit de mcu als dat niet nodig is

[Bericht gewijzigd door Stijnos op donderdag 23 november 2017 12:31:13 (10%)

Voor de mensen die geen nextioneditor staan hebben hieronder het plaatje waarover het gaat ;)

Resizen kun je doen met veel andere programma's

[Bericht gewijzigd door MGP op donderdag 23 november 2017 12:48:20 (22%)

LDmicro user.
High met Henk

Special Member

wat mij frustreert is dat ze best een mooi ding gemaakt hebben, maar dat de implementatie van bepaalde dingen i.m.o. onnodig moeilijk gemaakt is, zoals gewoon figuurtjes tekenen. Zit genoeg geheugen in om dit voor elkaar te krijgen...

hoop dat iTead hier nog eens echt werk van gaat maken, want het is volgens mij echt wel een mooi product, maar de interface i.c.m. de firmware kan veel beter in mijn optiek.

en dat is zonde en een flinke gemist kans.

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???
High met Henk

Special Member

Even een update wat ik inmiddels gebouwd heb.

Sta open voor alle commentaren..
En JA het zijn 2 displays, 1x 7" was echt te klein

En JA bij de auto zit ook lamp defect en deur open indicatie. De assen lichten rood op als ze gelocked zijn..

en ja, het is nu erg druk, maar alles staat aan.
Het info display bestaat uit 2 regels, 1 plaatje en 3 regels.
Moet ik alle info wel in kunnen krijgen...

[Bericht gewijzigd door High met Henk op dinsdag 28 november 2017 20:59:21 (48%)

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

Wauw... echt heel mooi gemaakt, daar zit heel wat werk achter, zeker weten.

Waar heb je al die wijzerplaten vandaan?

LDmicro user.
High met Henk

Special Member

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???
Shiptronic

Overleden

He Sven goed gelukt, je ben allen nog vergeten om het font aan te passen , De W is nog steeds klein. Veel werkt, tja als je 1x door hebt hoe het werkt ;) , was een fun weekeind ! Met dank aan de dames ;)

zal mijn resultaat ook zo posten

Wie de vraag stelt, zal met het antwoord moeten leren leven.
High met Henk

Special Member

Font moet idd nog, maar ben erachter dat je alleen monospace fonts kunt gebruiken.. Kijk maar eens naar de locatie van de I. Helemaal links en de gereserveerde plaats is net zo groot als de rest..

daarom worden de W en M herschaald: die passen niet in de gereserveerde plaats..
Nogmaals het is een mooi product die nextion, maar de interface is echt VREEMD en vreet IMO onnodig veel plaats..

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???
Shiptronic

Overleden

Mijn resultaat, aangestuurd met data vanuit en arduino , zowel analoog als digitale pinne zijn te gebruiken, kan zenden en ontvangen.
mode 1

mode 2

PS. snelheid is gesimuleerd ! ;)

Gemaakt met realdash : http://realdash.net/

Wie de vraag stelt, zal met het antwoord moeten leren leven.
mel

Golden Member

Die elektrische autobussen van VDL,waar Arriva mee rijd, hebben ook razend mooie displays.Als hij rijd, geeft het netjes de snelheid aan.Staat de bus stil, dan zie je gelijk andere dingen,zoals deuren open enzo.En niet onoverzichtelijk, daar is goed over nagedacht.

u=ir betekent niet :U bent ingenieur..
High met Henk

Special Member

probleem is dat ik juist geintresseerd ben als ik rijd in deur status: heb al meerdere keren met open achterdeur gereden (zie je niet bij bedrijfswagen)

@shiptronic: NICE, maar jammer van die opstarttijd.

Anders zou het een optie geweest zijn.

[Bericht gewijzigd door High met Henk op woensdag 29 november 2017 06:05:23 (24%)

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???

erg goed gelukt high met henk!
Dat heeft je wel wat uurtjes pielen gekost denk ik zo.

High met Henk

Special Member

nu moet ik nog een interface maken:
Wat ik wil:
een AT90CAN128 nemen en zelf een PCB maken met stekkers
Dan een grote automotive stekker erop en per sensor:

5V, Signaal (0-5V, 0-20 mA of weerstand, via soldeer jumper instelbaar) en gnd
pulsingangen voor dynamo en snelheid
schakelingangen voor de schakelaars.
G sensor erop (MEMS)

ik zit alleen nog even met die meting voor de lampen.
Ik zit te denken om HALL sensoren te gebruiken IPV shunts. Maar eigenlijk zou ik dan van die clamp dingen willen gebruiken die ook op lage stroom goed reageren (ik overweeg sterk om rondom LED verlichting te monteren)

Wat het waarschijnlijk gaat worden:
een arduino mega met wat gefreubel

E = MC^2, dus de magnetische compatibiliteit doet kwadratisch mee???