Open Source Browser Webpage at T5L DWIN Screen Serial Port Deep Expansion (Node-RED technology)

——Mula sa DWIN Developer Forum

Sa isyung ito, ipapakilala namin sa iyo ang isang award-winning na open source case ng Devin Developer Forum para sa aplikasyon ng Divin Screen sa bagong field - webpage ng browser at T5L Divin Screen serial port sa malalim na pagpapalawak (Node-RED technology) .Gumagamit ang mga inhinyero ng T5L smart screen upang maipasa ang teknolohiyang Node- RED ay nangangailangan lamang ng serial port upang kumonekta sa Internet at mapagtanto ang pakikipag-ugnayan ng data sa pagitan ng screen ng Diwen at ng web page ng browser.Napagtatanto ng solusyon na ito ang mga function tulad ng pagpapadala at pagtanggap ng data, pakikipag-ugnayan sa chart, at pagpapakita ng pangunahing impormasyon sa pagitan ng smart screen at ng web page.

1. Node-RED web page na nagpapatakbo ng effect display

(1) Gamit ang teknolohiyang Node-RED, ginagamit ang browser bilang pasukan ng pakikipag-ugnayan, upang ang browser at ang screen ay nakikipag-ugnayan sa pamamagitan ng serial port upang mapagtanto ang kaukulang pagpapakita ng function.

asva (1)
asva (2)

Pahina ng tab sa pagpapadala at pagtanggap ng data

Icon interactive na pahina ng Tab

asva (3)

Basic na impormasyon Tab page effect

(2) Ang mga pangunahing reference code para sa Node-RED web client ay ang mga sumusunod:

{

"id": "fbb314a16ea00889",

"type": "serial in",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Nakakatanggap ng data ang serial port",

"serial": "83fb45b5f4b51d61",

"x": 390,

"y": 140,

"mga wire": [

[

"685a2fb2c2dc8fba"

]

]

},

{

"id": "1ba3c6e812e03e27",

"type": "serial out",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Pagpapadala ng serial port",

"serial": "83fb45b5f4b51d61",

"x": 860,

"y": 260,

"mga wire": []

},

{

"id": "5fb7f1d3d7425133",

"type": "status",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Subaybayan ang serial port status",

"saklaw": [

"fbb314a16ea00889"

],

"x": 390,

"y": 200,

"mga wire": [

[

"3f18d1fdea398d35"

]

]

},

{

"id": "3f18d1fdea398d35",

"type": "function",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "I-extract ang serial port status",

"func": "hayaan ang 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 = 'connection succeeded';\n color = 'green';\n}else\n sta = 'error occurred';\nmsg[' payload'] = sta;\nmsg['color'] = color;\n\nreturn msg;",

"mga output": 1,

"timeout": 0,

"noerr": 0,

"initialize": "",

"finalize": "",

"libs": [],

"x": 620,

"y": 200,

"mga wire": [

[

"2ec78ff0b0b9a56f"

]

]

},

{

"id": "2ec78ff0b0b9a56f",

"type": "ui_template",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"grupo": "4e4db779a7b91019",

"name": "Ipakita ang serial port status",

"order": 1,

"lapad": 0,

"taas": 0,

"format": "\n Katayuan ng serial port:

2.DGUSInterfaceDesign

asva (4)

1. C51 Engineering Design

Gumagamit ang solusyon ng T5L smart screen serial port 2 para makipag-ugnayan sa Node-RED web page.Ang ilang mga reference code ay ang mga sumusunod:

#include "sys.h"

#include "uart2.h"

#isama

#isama

u8 buff[200];

void main(walang bisa)

{

u16num;

u16val;

u16old;

u8i;

sys_init();

uart2_init(115200);

luma= 0;

habang(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';

kung(num<3)

{

para sa(i=0;i<3;i++)

{

val= (num==i);

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

}

}elseif(num<5)

{

val= (num==3);

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

}

}iba pa

{

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

}

recv_len= 0;

is_recv_complete= 0;

}

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

kung(val==1)

{

sys_read_vp(0x2100,buff, 50);

para sa(i=0;i<100;i++)

{

kung(buff==0xff)

{

buff= 0x00;

buff[i+1]= 0x00;

pahinga;

}

}

u2_send_bytes(buff,strlen(buff));

val= 0;

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

}

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

kung(val!=old)

{

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

u2_send_bytes(buff,strlen(buff));

old= val;

}

}

}


Oras ng post: Dis-28-2023