——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.
Pahina ng tab sa pagpapadala at pagtanggap ng data
Icon interactive na pahina ng Tab
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
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