Ашық бастапқы шолғыш веб-парағы және T5L DWIN экранының сериялық портын терең кеңейту (Node-RED технологиясы)

——DWIN әзірлеушілер форумынан

Бұл шығарылымда біз сізге жаңа өрісте Divin Screen қолданбасын - шолғыштың веб-бетін және T5L Divin Screen сериялық портын тереңдете кеңейту (Node-RED технологиясы) үшін Devin Developer Forumының марапатталған ашық бастапқы кодымен таныстырамыз. .Инженерлер T5L смарт экрандарын Node-RED технологиясын өткізу үшін пайдаланады, тек Интернетке қосылу және Diwen экраны мен шолғыш веб-бетінің арасындағы деректер әрекетін жүзеге асыру үшін сериялық порт қажет.Бұл шешім смарт экран мен веб-бет арасында деректерді жіберу және қабылдау, диаграммамен өзара әрекеттесу және негізгі ақпаратты көрсету сияқты функцияларды жүзеге асырады.

1. Түйін-ҚЫЗЫЛ веб-беттің жұмыс істейтін эффектінің дисплейі

(1) Node-RED технологиясын пайдалана отырып, браузер мен экран сәйкес функция дисплейін жүзеге асыру үшін сериялық порт арқылы өзара әрекеттесу үшін өзара әрекеттесу кірісі ретінде пайдаланылады.

asva (1)
asva (2)

Деректерді жіберу және қабылдау қойындысы беті

Белгіше интерактивті қойынды беті

asva (3)

Негізгі ақпарат Қойынды беті әсері

(2) Node-RED веб-клиентінің негізгі анықтамалық кодтары төмендегідей:

{

"id": "fbb314a16ea00889",

"түрі": "сериялық кіріс",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Сериялық порт деректерді қабылдайды",

"serial": "83fb45b5f4b51d61",

"x": 390,

«y»: 140,

«сымдар»: [

[

"685a2fb2c2dc8fba"

]

]

},

{

"id": "1ba3c6e812e03e27",

"түрі": "сериялық шығу",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Сериялық порт жіберу",

"serial": "83fb45b5f4b51d61",

"x": 860,

«y»: 260,

«сымдар»: []

},

{

"id": "5fb7f1d3d7425133",

"түрі": "күй",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "сериялық порт күйін бақылау",

"аумақ": [

"fbb314a16ea00889"

],

"x": 390,

«y»: 200,

«сымдар»: [

[

"3f18d1fdea398d35"

]

]

},

{

"id": "3f18d1fdea398d35",

"түрі": "функция",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "сериялық порт күйін шығару",

"func": "let sta = msg.status.text;\nlet color = 'red';\nif (sta.indexOf('not-connected') >= 0) \n sta = 'Connected';\nletse if (sta.indexOf('connected') >= 0)\n{\n sta = 'қосылу сәтті';\n түсі = 'жасыл';\n}else\n sta = 'қате орын алды';\nmsg[' пайдалы жүк'] = sta;\nmsg['color'] = color;\n\nхабарламаны қайтару;",

"шығыстар": 1,

"тайм-аут": 0,

"noerr": 0,

"инициализация": "",

"finalize": "",

"libs": [],

"x": 620,

«y»: 200,

«сымдар»: [

[

"2ec78ff0b0b9a56f"

]

]

},

{

"id": "2ec78ff0b0b9a56f",

"түрі": "ui_template",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"group": "4e4db779a7b91019",

"name": "сериялық порт күйін көрсету",

"тапсырыс": 1,

«ені»: 0,

«биіктігі»: 0,

"формат": "\n Сериялық порт күйі:

2.DGUSIинтерфейсDesign

asva (4)

1. C51 Инженерлік дизайн

Шешім Node-RED веб-бетімен байланысу үшін T5L смарт экранды сериялық порт 2 пайдаланады.Кейбір анықтамалық кодтар келесідей:

#"sys.h" қосу

#қосу "uart2.h"

#қосу

#қосу

u8 буфф[200];

негізгі жарамсыз (жарамсыз)

{

u16num;

u16val;

u16 жас;

u8i;

sys_init();

uart2_init(115200);

ескі = 0;

while(1)

{

егер(жасалу_аяқталған)

{

uart2_buf[recv_len++]= 0;

uart2_buf[recv_len++]= 0;

if(strstr((char*)uart2_buf,"cmd"))

{

num= uart2_buf[3]-'0';

егер(сан<3)

{

үшін(i=0;i<3;i++)

{

val= (сан==i);

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

}

}elseif(сан<5)

{

val= (сан==3);

sys_write_vp(0x2200,(u8*)&val, 1);

}

}басқа

{

sys_write_vp(0x2000,uart2_buf, recv_len/2+2);

}

recv_len= 0;

is_recv_complete= 0;

}

sys_read_vp(0x1000,(u8*)&val, 1);

егер(вал==1)

{

sys_read_vp(0x2100, buff, 50);

үшін(i=0;i<100;i++)

{

егер(буфф==0хфф)

{

буфф = 0x00;

буфф[i+1]= 0x00;

үзіліс;

}

}

u2_send_bytes(buff,strlen(buff));

val= 0;

sys_write_vp(0x1000,(u8*)&val, 1);

}

sys_read_vp(0x2400,(u8*)&val, 1);

егер(вал!=ескі)

{

sprintf(буфф,"%d", val);

u2_send_bytes(buff,strlen(buff));

ескі = val;

}

}

}


Жіберу уақыты: 28 желтоқсан 2023 ж