——Van het DWIN-ontwikkelaarsforum
In dit nummer introduceren we u een bekroonde open source-case van het Devin Developer Forum voor de toepassing van Divin Screen in het nieuwe veld - browserwebpagina en diepgaande uitbreiding van de T5L Divin Screen seriële poort (Node-RED-technologie) . Ingenieurs gebruiken slimme T5L-schermen om Node-RED-technologie door te geven. Er is alleen een seriële poort nodig om verbinding te maken met internet en gegevensinteractie tussen het Diwen-scherm en de browserwebpagina te realiseren. Deze oplossing realiseert functies zoals het verzenden en ontvangen van gegevens, kaartinteractie en weergave van basisinformatie tussen het slimme scherm en de webpagina.
1. Node-RED webpagina met effectweergave
(1) Met behulp van Node-RED-technologie wordt de browser gebruikt als interactie-ingang, zodat de browser en het scherm via de seriële poort samenwerken om de bijbehorende functieweergave te realiseren.
![asva (1)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96baa7b18a54530.jpg)
![asva (2)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96babae2d997861.jpg)
Tabblad Gegevens verzenden en ontvangen
Icoon interactief tabblad
![asva (3)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bad3193a85099.jpg)
Basisinformatie Tabbladeffect
(2) De belangrijkste referentiecodes voor de Node-RED-webclient zijn als volgt:
{
"id": "fbb314a16ea00889",
"type": "serieel in",
"van": "09e0777eaff7fdea",
"g": "c1661722c7db00f9",
"name": "Seriële poort ontvangt gegevens",
"serieel": "83fb45b5f4b51d61",
"x": 390,
"en": 140,
"draden": [
[
"685a2fb2c2dc8fba"
]
]
},
{
"id": "1ba3c6e812e03e27",
"type": "seriële uitgang",
"van": "09e0777eaff7fdea",
"g": "c1661722c7db00f9",
"name": "Seriële poort verzenden",
"serieel": "83fb45b5f4b51d61",
"x": 860,
"en": 260,
"draden": []
},
{
"id": "5fb7f1d3d7425133",
"type": "status",
"van": "09e0777eaff7fdea",
"g": "c1661722c7db00f9",
"name": "Status van de seriële poort controleren",
"domein": [
"fbb314a16ea00889"
],
"x": 390,
"en": 200,
"draden": [
[
"3f18d1fdea398d35"
]
]
},
{
"id": "3f18d1fdea398d35",
"type": "functie",
"van": "09e0777eaff7fdea",
"g": "c1661722c7db00f9",
"name": "Status van de seriële poort extraheren",
"func": "let sta = msg.status.text;\nlet color = 'rood';\nif (sta.indexOf('niet-verbonden') >= 0) \n sta = 'Niet verbonden';\nelse if (sta.indexOf('verbonden') >= 0)\n{\n sta = 'verbinding geslaagd';\n kleur = 'groen';\n}else\n sta = 'fout opgetreden';\nmsg[' payload'] = sta;\nmsg['kleur'] = kleur;\n\nreturn msg;",
"uitgangen": 1,
"time-out": 0,
"noerr": 0,
"initialiseren": "",
"afronden": "",
"lib": [],
"x": 620,
"en": 200,
"draden": [
[
"2ec78ff0b0b9a56f"
]
]
},
{
"id": "2ec78ff0b0b9a56f",
"type": "ui_template",
"van": "09e0777eaff7fdea",
"g": "c1661722c7db00f9",
"groep": "4e4db779a7b91019",
"name": "Seriële poortstatus weergeven",
"bestelling": 1,
"breedte": 0,
"hoogte": 0,
"formaat": "
2. DGUSIinterfaceDontwerp
![asva (4)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bae62cee44597.jpg)
1. C51 Technisch ontwerp
De oplossing maakt gebruik van T5L smart screen seriële poort 2 om te communiceren met de Node-RED-webpagina. Sommige referentiecodes zijn als volgt:
#include "sys.h"
#include "uart2.h"
#erbij betrekken
#erbij betrekken
u8 verbeterd[200];
leegte hoofd(leegte)
{
u16num;
u16val;
u16oud;
u8i;
sys_init();
uart2_init(115200);
oud= 0;
terwijl(1)
{
als(is_recv_complete)
{
uart2_buf[recv_len++]= 0;
uart2_buf[recv_len++]= 0;
if(strstr((char*)uart2_buf,"cmd"))
{
num= uart2_buf[3]-'0';
als(aantal
{
voor(i=0;i
{
val= (num==i);
sys_write_vp(0x2300+i,(u8*)&val, 1);
}
}elseif(num
{
val=(aantal==3);
sys_write_vp(0x2200,(u8*)&val, 1);
}
}anders
{
sys_write_vp(0x2000,uart2_buf, recv_len/2+2);
}
recv_len= 0;
is_recv_complete= 0;
}
sys_read_vp(0x1000,(u8*)&val, 1);
als(val==1)
{
sys_read_vp(0x2100,gebleekt, 50);
voor(i=0;i
{
als(verbetering==0xff)
{
buff= 0x00;
buff[i+1]= 0x00;
pauze;
}
}
u2_send_bytes(verbetering,strlen(verbetering));
val= 0;
sys_write_vp(0x1000,(u8*)&val, 1);
}
sys_read_vp(0x2400,(u8*)&val, 1);
als(val!=oud)
{
sprintf(verbetering,"%d", val);
u2_send_bytes(verbetering,strlen(verbetering));
oud= val;
}
}
}
Posttijd: 28 december 2023
- English
- French
- German
- Portuguese
- Spanish
- Russian
- Japanese
- Korean
- Arabic
- Irish
- Greek
- Turkish
- Italian
- Danish
- Romanian
- Indonesian
- Czech
- Afrikaans
- Swedish
- Polish
- Basque
- Catalan
- Esperanto
- Hindi
- Lao
- Albanian
- Amharic
- Armenian
- Azerbaijani
- Belarusian
- Bengali
- Bosnian
- Bulgarian
- Cebuano
- Chichewa
- Corsican
- Croatian
- Dutch
- Estonian
- Filipino
- Finnish
- Frisian
- Galician
- Georgian
- Gujarati
- Haitian
- Hausa
- Hawaiian
- Hebrew
- Hmong
- Hungarian
- Icelandic
- Igbo
- Javanese
- Kannada
- Kazakh
- Khmer
- Kurdish
- Kyrgyz
- Latin
- Latvian
- Lithuanian
- Luxembou..
- Macedonian
- Malagasy
- Malay
- Malayalam
- Maltese
- Maori
- Marathi
- Mongolian
- Burmese
- Nepali
- Norwegian
- Pashto
- Persian
- Punjabi
- Serbian
- Sesotho
- Sinhala
- Slovak
- Slovenian
- Somali
- Samoan
- Scots Gaelic
- Shona
- Sindhi
- Sundanese
- Swahili
- Tajik
- Tamil
- Telugu
- Thai
- Ukrainian
- Urdu
- Uzbek
- Vietnamese
- Welsh
- Xhosa
- Yiddish
- Yoruba
- Zulu
- Kinyarwanda
- Tatar
- Oriya
- Turkmen
- Uyghur