——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.
Data stuur en ontvang Tab bladsy
Ikoon interaktiewe bladbladsy
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
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