Oopbronblaaierwebblad en T5L DWIN-skermreekspoort-diepuitbreiding (Node-RED-tegnologie)

——Van DWIN-ontwikkelaarsforum

In hierdie uitgawe sal ons 'n bekroonde oopbron-geval van die Devin-ontwikkelaarsforum vir die toepassing van Divin Screen in die nuwe veld aan u bekendstel - blaaierwebblad en T5L Divin Screen-reekspoort in-diepte uitbreiding (Node-RED tegnologie) .Ingenieurs gebruik T5L-slimskerms om Node-RED-tegnologie deur te gee, vereis slegs 'n seriële poort om aan die internet te koppel en data-interaksie tussen die Diwen-skerm en die blaaierwebblad te realiseer.Hierdie oplossing realiseer funksies soos die stuur en ontvang van data, grafiekinteraksie en basiese inligtingvertoning tussen die slimskerm en die webblad.

1. Node-ROOI webblad wat effek vertoon

(1) Deur gebruik te maak van Node-RED-tegnologie, word die blaaier as die interaksie-ingang gebruik, sodat die blaaier en die skerm deur die seriële poort in wisselwerking tree om die ooreenstemmende funksievertoning te realiseer.

asva (1)
asva (2)

Data stuur en ontvang Tab bladsy

Ikoon interaktiewe bladbladsy

asva (3)

Basiese inligting Tabblad effek

(2) Die hoofverwysingskodes vir die Node-RED-webkliënt is soos volg:

{

"id": "fbb314a16ea00889",

"type": "reeks in",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Seriële poort ontvang data",

"reeks": "83fb45b5f4b51d61",

"x": 390,

"y": 140,

"drade": [

[

"685a2fb2c2dc8fba"

]

]

},

{

"id": "1ba3c6e812e03e27",

"type": "reeks uit",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Seriële poort stuur",

"reeks": "83fb45b5f4b51d61",

"x": 860,

"y": 260,

"drade": []

},

{

"id": "5fb7f1d3d7425133",

"type": "status",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Monitor seriële poort status",

"omvang": [

"fbb314a16ea00889"

],

"x": 390,

"y": 200,

"drade": [

[

"3f18d1fdea398d35"

]

]

},

{

"id": "3f18d1fdea398d35",

"type": "funksie",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Onttrek seriële poort status",

"func": "laat sta = msg.status.text;\nlaat kleur = 'rooi';\nif (sta.indexOf('nie-gekoppel') >= 0) \n sta = 'Ongekoppel';\nelse as (sta.indexOf('verbonde') >= 0)\n{\n sta = 'verbinding geslaag';\n kleur = 'groen';\n}anders\n sta = 'fout het voorgekom';\nmsg[' loonvrag'] = sta;\nmsg['kleur'] = kleur;\n\nstuur boodskap terug;",

"uitsette": 1,

"time-out": 0,

"noerr": 0,

"initialize": "",

"finaliseer": "",

"libs": [],

"x": 620,

"y": 200,

"drade": [

[

"2ec78ff0b0b9a56f"

]

]

},

{

"id": "2ec78ff0b0b9a56f",

"type": "ui_template",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"groep": "4e4db779a7b91019",

"name": "Vertoon seriële poortstatus",

"bestelling": 1,

"wydte": 0,

"hoogte": 0,

"format": "\n Seriepoortstatus:

2.DGUSIkoppelvlakDesign

asva (4)

1. C51 Ingenieursontwerp

Die oplossing gebruik T5L-slimskerm-seriepoort 2 om met die Node-RED-webblad te kommunikeer.Sommige verwysingskodes is soos volg:

#sluit "sys.h" in

#sluit "uart2.h" in

#insluit

#insluit

u8 buff[200];

nietig hoof(leeg)

{

u16nommer;

u16val;

u16oud;

u8i;

sys_init();

uart2_init(115200);

oud= 0;

terwyl (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 (getal<3)

{

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

{

val= (getal==i);

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

}

}elseif(getal<5)

{

val= (getal==3);

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

}

} anders

{

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

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

{

if(buff==0xff)

{

buff = 0x00;

buff[i+1]= 0x00;

breek;

}

}

u2_send_bytes(buff, strlen(buff));

val= 0;

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

}

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

if(val!=oud)

{

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

u2_send_bytes(buff, strlen(buff));

oud= val;

}

}

}


Postyd: 28 Desember 2023