Açıq Mənbəli Brauzer Veb səhifəsi və T5L DWIN Ekran Serial Portunun Dərin Genişlənməsi (Node-RED texnologiyası)

——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 ekranla işləyir

(1) Node-RED texnologiyasından istifadə edərək, brauzer qarşılıqlı giriş kimi istifadə olunur ki, brauzer və ekran müvafiq funksiya ekranını həyata keçirmək üçün serial port vasitəsilə qarşılıqlı əlaqə qurur.

asva (1)
asva (2)

Məlumatların göndərilməsi və qəbulu Tab səhifəsi

Simge interaktiv Tab səhifəsi

asva (3)

Ə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ş",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Serial port məlumat qəbul edir",

"serial": "83fb45b5f4b51d61",

"x": 390,

"y": 140,

"tellər": [

[

"685a2fb2c2dc8fba"

]

]

},

{

"id": "1ba3c6e812e03e27",

"type": "seriyalı çıxış",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Serial port göndərilməsi",

"serial": "83fb45b5f4b51d61",

"x": 860,

"y": 260,

"tellər": []

},

{

"id": "5fb7f1d3d7425133",

"növ": "status",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Serial port statusunu izləyin",

"əhatə dairəsi": [

"fbb314a16ea00889"

],

"x": 390,

"y": 200,

"tellər": [

[

"3f18d1fdea398d35"

]

]

},

{

"id": "3f18d1fdea398d35",

"növ": "funksiya",

"z": "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,

"y": 200,

"tellər": [

[

"2ec78ff0b0b9a56f"

]

]

},

{

"id": "2ec78ff0b0b9a56f",

"type": "ui_template",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"group": "4e4db779a7b91019",

"name": "Serial port statusunu göstərin",

"sifariş": 1,

"en": 0,

"hündürlük": 0,

"format": "\n Serial port statusu:

2.DGUSIinterfeysDesign

asva (4)

1. C51 Mühəndislik Dizaynı

Həll, Node-RED veb səhifəsi ilə əlaqə yaratmaq üçü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ı<3)

{

üçün(i=0;i<3;i++)

{

val= (num==i);

sys_write_vp(0x2300+i,(u8*)&val, 1);

}

}elseif(nömrə<5)

{

val= (sayı==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<100;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