——DWIN Developer Forumundan
Bu buraxılışda biz sizə Divin Ekranının yeni sahədə tətbiqi üçün Devin Developer Forumunun mükafat qazanmış açıq mənbə nümunəsini təqdim edəcəyik - brauzer veb səhifəsi və T5L Divin Screen seriya portunun dərin genişləndirilməsi (Node-RED texnologiyası) . Mühəndislər Node-RED texnologiyasını ötürmək üçün T5L smart ekranlarından istifadə edir, İnternetə qoşulmaq və Diwen ekranı ilə brauzerin veb səhifəsi arasında məlumat qarşılıqlı əlaqəsini həyata keçirmək üçün yalnız serial port tələb edir. Bu həll məlumatların göndərilməsi və qəbulu, diaqramın qarşılıqlı əlaqəsi və smart ekran və veb səhifə arasında əsas məlumatların göstərilməsi kimi funksiyaları həyata keçirir.
1. Node-RED veb səhifəsi effektli ekran
(1) Node-RED texnologiyasından istifadə edərək, brauzer qarşılıqlı giriş kimi istifadə olunur, beləliklə brauzer və ekran müvafiq funksiya ekranını həyata keçirmək üçün serial port vasitəsilə qarşılıqlı əlaqədə olur.
![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)
Məlumatların göndərilməsi və qəbulu Tab səhifəsi
Simge interaktiv Tab səhifəsi
![asva (3)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bad3193a85099.jpg)
Əsas məlumat Tab səhifəsi effekti
(2) Node-RED veb müştərisi üçün əsas istinad kodları aşağıdakılardır:
{
"id": "fbb314a16ea00889",
"type": "seriyalı giriş",
"from": "09e0777eaff7fdea",
"g": "c1661722c7db00f9",
"name": "Serial port məlumat qəbul edir",
"serial": "83fb45b5f4b51d61",
"x": 390,
"və": 140,
"tellər": [
[
"685a2fb2c2dc8fba"
]
]
},
{
"id": "1ba3c6e812e03e27",
"type": "seriyalı çıxış",
"from": "09e0777eaff7fdea",
"g": "c1661722c7db00f9",
"name": "Serial port göndərilməsi",
"serial": "83fb45b5f4b51d61",
"x": 860,
"və": 260,
"tellər": []
},
{
"id": "5fb7f1d3d7425133",
"növ": "status",
"from": "09e0777eaff7fdea",
"g": "c1661722c7db00f9",
"name": "Serial port statusunu izləyin",
"əhatə dairəsi": [
"fbb314a16ea00889"
],
"x": 390,
"və": 200,
"tellər": [
[
"3f18d1fdea398d35"
]
]
},
{
"id": "3f18d1fdea398d35",
"növ": "funksiya",
"from": "09e0777eaff7fdea",
"g": "c1661722c7db00f9",
"name": "Serial port statusunu çıxarın",
"func": "let sta = msg.status.text;\nlet color = 'red';\nif (sta.indexOf('not-connected') >= 0) \n sta = 'Unconnected';\nelse if (sta.indexOf('connected') >= 0)\n{\n sta = 'bağlantı uğurlu oldu';\n rəng = 'yaşıl';\n}else\n sta = 'xəta baş verdi';\nmsg[' faydalı yük'] = sta;\nmsg['color'] = color;\n\nmsg qaytarın;",
"çıxışlar": 1,
"fayda": 0,
"noerr": 0,
"initialize": "",
"finalize": "",
"libs": [],
"x": 620,
"və": 200,
"tellər": [
[
"2ec78ff0b0b9a56f"
]
]
},
{
"id": "2ec78ff0b0b9a56f",
"type": "ui_template",
"from": "09e0777eaff7fdea",
"g": "c1661722c7db00f9",
"group": "4e4db779a7b91019",
"name": "Serial port statusunu göstərin",
"sifariş": 1,
"en": 0,
"hündürlük": 0,
"format": "
2. DGUSIinterfeysDesign
![asva (4)](https://ecdn6.globalso.com/upload/p/1355/source/2024-03/65f96bae62cee44597.jpg)
1. C51 Mühəndislik Dizaynı
Həll, Node-RED veb səhifəsi ilə əlaqə saxlamaq üçün T5L smart ekran serial port 2-dən istifadə edir. Bəzi istinad kodları aşağıdakılardır:
# "sys.h" daxil edin
# "uart2.h" daxil edin
#daxildir
#daxildir
u8 buff[200];
əsas boşluq (boş)
{
u16;
u16val;
u16 yaşlı;
u8i;
sys_init();
uart2_init(115200);
köhnə = 0;
isə (1)
{
əgər (recv_tamamlanmışdır)
{
uart2_buf[recv_len++]= 0;
uart2_buf[recv_len++]= 0;
if(strstr((char*)uart2_buf,"cmd"))
{
num= uart2_buf[3]-'0';
əgər(sayı
{
üçün(i=0;i
{
val= (num==i);
sys_write_vp(0x2300+i,(u8*)&val, 1);
}
}elseif(nömrə
{
val=(num==3);
sys_write_vp(0x2200,(u8*)&val, 1);
}
}başqa
{
sys_write_vp(0x2000,uart2_buf, recv_len/2+2);
}
recv_len= 0;
is_recv_complete= 0;
}
sys_read_vp(0x1000,(u8*)&val, 1);
əgər(val==1)
{
sys_read_vp(0x2100, buff, 50);
üçün(i=0;i
{
əgər (buff==0xff)
{
buff = 0x00;
buff[i+1]= 0x00;
fasilə;
}
}
u2_send_bayt(buff,strlen(buff));
val= 0;
sys_write_vp(0x1000,(u8*)&val, 1);
}
sys_read_vp(0x2400,(u8*)&val, 1);
əgər(val!=köhnə)
{
sprintf(buff,"%d", val);
u2_send_bayt(buff,strlen(buff));
köhnə = val;
}
}
}
Göndərmə vaxtı: 28 dekabr 2023-cü il
- 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