—— DWIN dörediji forumyndan
Bu sanymyzda, täze ugurda - brauzer web sahypasy we T5L Divin Screen seriýa porty (Node-RED tehnologiýasy) üçin Divin Ekrany ulanmak üçin baýrakly açyk çeşme bilen tanyşdyrarys. .Inodeenerler “Node-RED” tehnologiýasyndan geçmek üçin T5L akylly ekranlary ulanýarlar, diňe internete birikmek we Diwen ekrany bilen brauzer web sahypasynyň arasynda maglumatlaryň özara täsirini amala aşyrmak üçin seriýa portuny talap edýär.Bu çözgüt, maglumat ibermek we kabul etmek, diagramma täsiri we akylly ekran bilen web sahypasynyň arasynda esasy maglumatlary görkezmek ýaly funksiýalary durmuşa geçirýär.
1. Düwünli RED web sahypasynyň işleýiş effekti
.
Maglumat sahypasyny ibermek we almak
Nyşan interaktiw Tab sahypasy
Esasy maglumatlar Tab sahypasynyň täsiri
(2) Node-RED web müşderisi üçin esasy salgy kodlary aşakdakylar:
{
"id": "fbb314a16ea00889",
"tip": "serial",
"z": "09e0777eaff7fdea",
"g": "c1661722c7db00f9",
"name": "Seriýa porty maglumatlary alýar",
"serial": "83fb45b5f4b51d61",
"x": 390,
"y": 140,
"simler": [
[
"685a2fb2c2dc8fba"
]
]
},
{
"id": "1ba3c6e812e03e27",
"tip": "serial out",
"z": "09e0777eaff7fdea",
"g": "c1661722c7db00f9",
"name": "Seriýa portuny ibermek",
"serial": "83fb45b5f4b51d61",
"x": 860,
"y": 260,
"simler": []
},
{
"id": "5fb7f1d3d7425133",
"tip": "status",
"z": "09e0777eaff7fdea",
"g": "c1661722c7db00f9",
"name": "Seriýa portunyň ýagdaýyna gözegçilik",
"çäk": [
"fbb314a16ea00889"
],
"x": 390,
"y": 200,
"simler": [
[
"3f18d1fdea398d35"
]
]
},
{
"id": "3f18d1fdea398d35",
"tip": "funksiýa",
"z": "09e0777eaff7fdea",
"g": "c1661722c7db00f9",
"name": "Seriýa portunyň ýagdaýyny çykaryň",
"funksiýa": "goý sta = msg.status.text; \ nlet color = 'red'; \ nif (sta.indexOf ('birikdirilmedik')> = 0) \ n sta = 'Baglanmadyk'; \ nelse if (sta. payload '] = sta; \ nmsg [' color '] = color; \ n \ nreturn msg; ",
"netijeler": 1,
"gutarmak": 0,
"noerr": 0,
"başlangyç": "",
"jemlemek": "",
"libs": [],
"x": 620,
"y": 200,
"simler": [
[
"2ec78ff0b0b9a56f"
]
]
},
{
"id": "2ec78ff0b0b9a56f",
"tip": "ui_template",
"z": "09e0777eaff7fdea",
"g": "c1661722c7db00f9",
"topar": "4e4db779a7b91019",
"name": "Seriýa portunyň ýagdaýyny görkez",
"sargyt": 1,
"ini": 0,
"beýiklik": 0,
"format": "\ n Seriýa portunyň ýagdaýy:
2.DGUSINterfaceDesign
1. C51 In Engineeringenerçilik dizaýny
Çözüw, Node-RED web sahypasy bilen habarlaşmak üçin T5L akylly ekran seriýa porty 2 ulanýar.Käbir salgylanma kodlary aşakdakylar:
# "sys.h" goşuň
# "uart2.h" goşuň
# goş
# goş
u8 buff [200];
esasy däl (boş)
{
u16num;
u16val;
u16old;
u8i;
sys_init ();
uart2_init (115200);
köne = 0;
(1)
{
eger (is_recv_complete)
{
uart2_buf [recv_len ++] = 0;
uart2_buf [recv_len ++] = 0;
eger (strstr ((char *) uart2_buf, "cmd"))
{
num = uart2_buf [3] - '0';
eger (num <3)
{
üçin (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);
}
} başga
{
sys_write_vp (0x2000, uart2_buf, recv_len / 2 + 2);
}
recv_len = 0;
is_recv_complete = 0;
}
sys_read_vp (0x1000, (u8 *) & val, 1);
eger (val == 1)
{
sys_read_vp (0x2100, buff, 50);
üçin (i = 0; i <100; i ++)
{
eger (buff == 0xff)
{
buff = 0x00;
buff [i + 1] = 0x00;
arakesme;
}
}
u2_send_bytes (buff, strlen (buff));
val = 0;
sys_write_vp (0x1000, (u8 *) & val, 1);
}
sys_read_vp (0x2400, (u8 *) & val, 1);
eger (val! = köne)
{
sprintf (buff, "% d", val);
u2_send_bytes (buff, strlen (buff));
köne = val;
}
}
}
Iş wagty: 28-2023-nji dekabry