Atvirojo kodo naršyklės tinklalapis ir T5L DWIN ekrano nuosekliojo prievado gilus išplėtimas (Node-RED technologija)

——Iš DWIN kūrėjų forumo

Šiame numeryje pristatysime apdovanojimus pelniusį Devin Developer Forum atvirojo kodo atvejį, skirtą Divin Screen pritaikymui naujoje srityje – naršyklės tinklalapyje ir T5L Divin Screen nuosekliojo prievado išplėtimas (Node-RED technologija) .Inžinieriai naudoja T5L išmaniuosius ekranus, kad galėtų perduoti Node-RED technologijai, norint prisijungti prie interneto ir realizuoti duomenų sąveiką tarp Diwen ekrano ir naršyklės tinklalapio, reikalingas tik nuoseklusis prievadas.Šis sprendimas įgyvendina tokias funkcijas kaip duomenų siuntimas ir gavimas, diagramų sąveika ir pagrindinės informacijos atvaizdavimas tarp išmaniojo ekrano ir tinklalapio.

1. Node-RED tinklalapio veikimo efekto rodymas

(1) Naudojant Node-RED technologiją, naršyklė naudojama kaip sąveikos įėjimas, kad naršyklė ir ekranas sąveikautų per nuoseklųjį prievadą, kad būtų rodoma atitinkama funkcija.

asva (1)
asva (2)

Duomenų siuntimo ir gavimo skirtuko puslapis

Piktograma interaktyvus skirtuko puslapis

asva (3)

Pagrindinė informacija Skirtuko puslapio efektas

(2) Pagrindiniai „Node-RED“ žiniatinklio kliento nuorodos kodai yra šie:

{

"id": "fbb314a16ea00889",

"type": "serial in",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Narusis prievadas gauna duomenis",

"serial": "83fb45b5f4b51d61",

"x": 390,

"y": 140,

"laidai": [

[

"685a2fb2c2dc8fba"

]

]

},

{

"id": "1ba3c6e812e03e27",

"tipas": "serijinis išėjimas",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Siuntimas nuosekliuoju prievadu",

"serial": "83fb45b5f4b51d61",

"x": 860,

"y": 260,

"laidai": []

},

{

"id": "5fb7f1d3d7425133",

"tipas": "statusas",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Stebėti nuosekliojo prievado būseną",

"apimtis": [

"fbb314a16ea00889"

],

"x": 390,

"y": 200,

"laidai": [

[

"3f18d1fdea398d35"

]

]

},

{

"id": "3f18d1fdea398d35",

"tipas": "funkcija",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Išskleisti nuosekliojo prievado būseną",

"func": "tegul sta = msg.status.text;\nlet color = 'raudona';\nif (sta.indexOf('not-connected') >= 0) \n sta = "Neprisijungta";\nelse if (sta.indexOf('connected') >= 0)\n{\n sta = 'prisijungimas pavyko';\n color = 'žalias';\n}else\n sta = 'įvyko klaida';\nmsg[' payload'] = sta;\nmsg['color'] = spalva;\n\ngrąžinti pranešimą;",

"išėjimai": 1,

"timeout": 0,

"noerr": 0,

"inicializuoti": "",

"finalize": "",

"libs": [],

"x": 620,

"y": 200,

"laidai": [

[

"2ec78ff0b0b9a56f"

]

]

},

{

"id": "2ec78ff0b0b9a56f",

"tipas": "ui_template",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"grupė": "4e4db779a7b91019",

"name": "Rodyti nuosekliojo prievado būseną",

"užsakymas": 1,

"plotis": 0,

"aukštis": 0,

"formatas": "\n Nuosekliojo prievado būsena:

2.DGUSIsąsajaDesign

asva (4)

1. C51 inžinerinis projektavimas

Sprendimas naudoja T5L išmaniojo ekrano nuoseklųjį prievadą 2 ryšiui su Node-RED tinklalapiu palaikyti.Kai kurie nuorodų kodai yra tokie:

#include "sys.h"

#include "uart2.h"

#įtraukti

#įtraukti

u8 buff[200];

negalioja pagrindinis (negalioja)

{

u16num;

u16val;

iki 16 metų;

u8i;

sys_init();

uart2_init(115200);

senas = 0;

kol (1)

{

if(yra_recv_complete)

{

uart2_buf[recv_len++]= 0;

uart2_buf[recv_len++]= 0;

if(strstr((char*)uart2_buf,"cmd"))

{

skaičius = uart2_buf[3]-'0';

jei(skaičius <3)

{

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

{

val= (skaičius==i);

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

}

}elseif(skaičius <5)

{

val= (skaičius==3);

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

}

}Kitas

{

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

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

{

if(buff==0xff)

{

buff= 0x00;

buff[i+1] = 0x00;

pertrauka;

}

}

u2_send_bytes(buff,strlen(buff));

val = 0;

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

}

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

if(val!=senas)

{

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

u2_send_bytes(buff,strlen(buff));

senas= val;

}

}

}


Paskelbimo laikas: 2023-12-28