Iepenboarne-blêderwebside en T5L DWIN-skerm Serial Port Deep Expansion (Node-RED technology)

——Fan DWIN Developer Forum

Yn dit nûmer sille wy jo in priiswinnende iepen boarne-saak yntrodusearje fan it Devin Developer Forum foar de tapassing fan Divin Screen yn it nije fjild - browserwebside en T5L Divin Screen seriële poarte yngeande útwreiding (Node-RED technology) .Yngenieurs brûke T5L smart skermen te pass Node- RED technology allinnich fereasket in seriële poarte te ferbinen mei it ynternet en realisearje gegevens ynteraksje tusken de Diwen skerm en de blêder webside.Dizze oplossing realisearret funksjes lykas it ferstjoeren en ûntfangen fan gegevens, ynteraksje mei diagrammen, en werjaan fan basisynformaasje tusken it tûke skerm en de webside.

1. Node-RED webside running effekt werjefte

(1) Mei help fan Node-RED technology, de browser wurdt brûkt as de ynteraksje yngong, sadat de browser en it skerm ynteraksje fia de seriële poarte te realisearjen de oerienkommende funksje werjefte.

asva (1)
asva (2)

Gegevens ferstjoeren en ûntfange Tab side

Ikoan ynteraktive Tab side

asva (3)

Basisynformaasje Tab side effekt

(2) De wichtichste referinsjekoades foar de Node-RED-webkliïnt binne as folget:

{

"id": "fbb314a16ea00889",

"type": "searje yn",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Seriële poarte ûntfangt gegevens",

"serial": "83fb45b5f4b51d61",

"x": 390,

"y": 140,

"wires": [

[

"685a2fb2c2dc8fba"

]

]

},

{

"id": "1ba3c6e812e03e27",

"type": "searje út",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Seriële poarte ferstjoeren",

"serial": "83fb45b5f4b51d61",

"x": 860,

"y": 260,

"draad": []

},

{

"id": "5fb7f1d3d7425133",

"type": "status",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Seriële poartestatus kontrolearje",

"omfang": [

"fbb314a16ea00889"

],

"x": 390,

"y": 200,

"wires": [

[

"3f18d1fdea398d35"

]

]

},

{

"id": "3f18d1fdea398d35",

"type": "funksje",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Seriële poartestatus útpakke",

"func": "lit sta = msg.status.text;\nlet color = 'read';\nif (sta.indexOf('net-ferbûn') >= 0) \n sta = 'Net ferbûn';\nelse as (sta.indexOf('ferbûn') >= 0)\n{\n sta = 'ferbining slagge';\n kleur = 'grien';\n}oars\n sta = 'flater barde';\nmsg[' payload'] = sta;\nmsg['kleur'] = kleur;\n\nberjocht werom;",

"útgongen": 1,

"timeout": 0,

"noerr": 0,

"initialize": "",

"finalize": "",

"libs": [],

"x": 620,

"y": 200,

"wires": [

[

"2ec78ff0b0b9a56f"

]

]

},

{

"id": "2ec78ff0b0b9a56f",

"type": "ui_sjabloan",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"group": "4e4db779a7b91019",

"name": "Seriële poartestatus werjaan",

"oarder": 1,

"breedte": 0,

"hichte": 0,

"format": "\n Seriële poarte status:

2.DGUSInterfaceDesign

asva (4)

1. C51 Engineering Design

De oplossing brûkt T5L smart skerm seriële poarte 2 om te kommunisearjen mei de Node-RED webside.Guon referinsjekoades binne as folget:

#include "sys.h"

#include "uart2.h"

#ynklusyf

#ynklusyf

u8 buff[200];

leechte haad (void)

{

u16num;

u16val;

u16old;

u8i;

sys_init();

uart2_init(115200);

âld= 0;

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

as (nûmer<3)

{

foar(i=0;i<3;i++)

{

val= (num==i);

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

}

}elseif(nûmer<5)

{

val= (num==3);

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

}

}oars

{

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

foar(i=0;i<100;i++)

{

if(buff==0xff)

{

buff= 0x00;

buff[i+1]= 0x00;

brekke;

}

}

u2_send_bytes(buff,strlen(buff));

val= 0;

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

}

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

if(val!=âld)

{

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

u2_send_bytes(buff,strlen(buff));

old= val;

}

}

}


Post tiid: Dec-28-2023