Webbsida med öppen källkod och T5L DWIN-skärm Serial Port Deep Expansion (Node-RED-teknik)

——Från DWIN Developer Forum

I det här numret kommer vi att presentera ett prisbelönt fall med öppen källkod från Devin Developer Forum för tillämpningen av Divin Screen i det nya fältet - webbläsarwebbsida och T5L Divin Screen serieport för djupgående expansion (Node-RED-teknik) .Ingenjörer använder T5L smarta skärmar för att passera Node-RED-tekniken kräver bara en seriell port för att ansluta till Internet och realisera datainteraktion mellan Diwen-skärmen och webbläsarens webbsida.Denna lösning realiserar funktioner som sändning och mottagning av data, sjökortsinteraktion och grundläggande informationsvisning mellan den smarta skärmen och webbsidan.

1. Visning av effekt på nodröd webbsida

(1) Med hjälp av Node-RED-teknik används webbläsaren som interaktionsingång, så att webbläsaren och skärmen interagerar genom den seriella porten för att realisera motsvarande funktionsvisning.

asva (1)
asva (2)

Fliken för att skicka och ta emot data

Ikon interaktiv fliksida

asva (3)

Grundläggande information Tab page effekt

(2) Huvudreferenskoderna för Node-RED-webbklienten är följande:

{

"id": "fbb314a16ea00889",

"type": "serie in",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Serial port tar emot data",

"serial": "83fb45b5f4b51d61",

"x": 390,

"y": 140,

"ledningar": [

[

"685a2fb2c2dc8fba"

]

]

},

{

"id": "1ba3c6e812e03e27",

"type": "serieutgång",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Sändning av serieport",

"serial": "83fb45b5f4b51d61",

"x": 860,

"y": 260,

"ledningar": []

},

{

"id": "5fb7f1d3d7425133",

"type": "status",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Övervaka seriell portstatus",

"scope": [

"fbb314a16ea00889"

],

"x": 390,

"y": 200,

"ledningar": [

[

"3f18d1fdea398d35"

]

]

},

{

"id": "3f18d1fdea398d35",

"type": "funktion",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Extrahera seriell portstatus",

"func": "låt sta = msg.status.text;\nlåt färg = 'röd';\nif (sta.indexOf('inte ansluten') >= 0) \n sta = 'Ej ansluten';\nelse om (sta.indexOf('ansluten') >= 0)\n{\n sta = 'anslutningen lyckades';\n färg = 'grön';\n}annars\n sta = 'fel inträffade';\nmsg[' nyttolast'] = sta;\nmsg['färg'] = färg;\n\nretur meddelande;",

"utgångar": 1,

"timeout": 0,

"noerr": 0,

"initialize": "",

"finalize": "",

"libs": [],

"x": 620,

"y": 200,

"ledningar": [

[

"2ec78ff0b0b9a56f"

]

]

},

{

"id": "2ec78ff0b0b9a56f",

"type": "ui_mall",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"group": "4e4db779a7b91019",

"name": "Visa seriell portstatus",

"order": 1,

"bredd": 0,

"höjd": 0,

"format": "\n Seriell portstatus:

2.DGUSIgränssnittDesign

asva (4)

1. C51 Engineering Design

Lösningen använder T5L smart skärm seriell port 2 för att kommunicera med Node-RED webbsidan.Några referenskoder är följande:

#inkludera "sys.h"

#inkludera "uart2.h"

#omfatta

#omfatta

u8 buff[200];

void main(void)

{

u16num;

u16val;

u16gammal;

u8i;

sys_init();

uart2_init(115200);

gammal= 0;

medan (1)

{

if(är_recv_complete)

{

uart2_buf[recv_len++]= 0;

uart2_buf[recv_len++]= 0;

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

{

num= uart2_buf[3]-'0';

om(antal<3)

{

för(i=0;i<3;i++)

{

val= (antal==i);

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

}

}elseif(tal<5)

{

val= (antal==3);

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

}

}annan

{

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

}

recv_len= 0;

is_recv_complete= 0;

}

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

if(val==1)

{

sys_read_vp(0x2100,buff, 50);

för(i=0;i<100;i++)

{

if(buff==0xff)

{

buff= 0x00;

buff[i+1]= 0x00;

ha sönder;

}

}

u2_send_bytes(buff,strlen(buff));

val= 0;

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

}

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

if(val!=gammal)

{

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

u2_send_bytes(buff,strlen(buff));

gammal= val;

}

}

}


Posttid: 2023-12-28