Բաց կոդով դիտարկիչի վեբ էջ և T5L DWIN էկրանի սերիական պորտի խորը ընդլայնում (Node-RED տեխնոլոգիա)

——DWIN Developer Forum-ից

Այս թողարկումում մենք ձեզ կներկայացնենք Devin Developer Forum-ի մրցանակակիր բաց կոդով դեպքը նոր ոլորտում Divin Screen-ի կիրառման համար՝ դիտարկիչի վեբ էջ և T5L Divin Screen սերիական պորտի խորը ընդլայնում (Node-RED տեխնոլոգիա) .Ինժեներները օգտագործում են T5L խելացի էկրաններ Node-RED տեխնոլոգիան փոխանցելու համար միայն սերիական միացք է պահանջում՝ ինտերնետին միանալու և Diwen էկրանի և զննարկիչի վեբ էջի միջև տվյալների փոխազդեցությունը իրականացնելու համար:Այս լուծումն իրականացնում է այնպիսի գործառույթներ, ինչպիսիք են տվյալների ուղարկումը և ստացումը, գծապատկերների փոխազդեցությունը և հիմնական տեղեկատվության ցուցադրումը խելացի էկրանի և վեբ էջի միջև:

1. Node-RED վեբ էջի գործարկման էֆեկտի ցուցադրում

(1) Օգտագործելով Node-RED տեխնոլոգիան, զննարկիչը օգտագործվում է որպես փոխազդեցության մուտք, այնպես որ զննարկիչը և էկրանը փոխազդում են սերիական պորտի միջոցով՝ իրականացնելու համապատասխան գործառույթի ցուցադրումը:

ասվա (1)
ասվա (2)

Տվյալների ուղարկման և ստացման ներդիրի էջ

Պատկերակի ինտերակտիվ ներդիրի էջ

ասվա (3)

Հիմնական տեղեկություններ Ներդիրի էջի էֆեկտ

(2) Node-RED վեբ հաճախորդի հիմնական հղման կոդերը հետևյալն են.

{

"id": "fbb314a16ea00889",

«տեսակ»՝ «սերիական մուտք»,

«z»: «09e0777eaff7fdea»,

«g»: «c1661722c7db00f9»,

"name": "Սերիական նավահանգիստը ստանում է տվյալներ",

«սերիալ»՝ «83fb45b5f4b51d61»,

«x»: 390,

«y»: 140,

«լարեր»:

[

«685a2fb2c2dc8fba»

]

]

},

{

"id": "1ba3c6e812e03e27",

«տեսակ»՝ «սերիական դուրս»,

«z»: «09e0777eaff7fdea»,

«g»: «c1661722c7db00f9»,

"name": "Serial port ուղարկում",

«սերիալ»՝ «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": "թող sta = msg.status.text;\nթող գույն = 'կարմիր';\nif (sta.indexOf('կապված չէ') >= 0) \n sta = 'Չկապված';\nse եթե (sta.indexOf('միացված') >= 0)\n{\n sta = 'միացումը հաջողվեց';\n գույնը = 'կանաչ';\n}else\n sta = 'սխալ է տեղի ունեցել';\nmsg[' payload'] = sta;\nmsg['color'] = գույն;\n\nվերադարձ հաղորդագրություն;",

«ելքեր»՝ 1,

«թայմաութ»՝ 0,

«noerr»: 0,

"initialize": "",

"վերջացնել": "",

«libs»: [],

«x»: 620,

«y»: 200,

«լարեր»:

[

«2ec78ff0b0b9a56f»

]

]

},

{

"id": "2ec78ff0b0b9a56f",

"type": "ui_template",

«z»: «09e0777eaff7fdea»,

«g»: «c1661722c7db00f9»,

«խումբ»: «4e4db779a7b91019»,

"name": "Ցուցադրել սերիական պորտի կարգավիճակը",

«պատվեր»՝ 1,

«լայնություն»՝ 0,

«բարձրություն»՝ 0,

«ձևաչափ»:\n Սերիական պորտի կարգավիճակը՝

2.DGUSIինտերֆեյսDնշան

ասվա (4)

1. C51 ինժեներական դիզայն

Լուծումն օգտագործում է T5L խելացի էկրանի սերիական պորտ 2՝ Node-RED վեբ էջի հետ հաղորդակցվելու համար:Որոշ հղման կոդերը հետևյալն են.

#include «sys.h»

#ներառել «uart2.h»

#ներառում

#ներառում

u8 բուֆ[200];

դատարկ հիմնական (անվավեր)

{

u16 համարը;

u16val;

u16 տարեկան;

u8i;

sys_init ();

uart2_init (115200);

հին = 0;

մինչդեռ (1)

{

if (is_recv_complete)

{

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= (num==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);

եթե (val==1)

{

sys_read_vp (0x2100, buff, 50);

համար (i=0;i<100;i++)

{

if (buff==0xff)

{

buff= 0x00;

buff[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);

եթե (val! = հին)

{

sprintf(buff,"%d", val);

u2_send_bytes (buff,strlen(buff));

հին= val;

}

}

}


Հրապարակման ժամանակը՝ Dec-28-2023