Open-Source-Browser-Webseite und T5L-DWIN-Bildschirm, umfassende Erweiterung des seriellen Ports (Node-RED-Technologie)

——Vom DWIN-Entwicklerforum

In dieser Ausgabe stellen wir Ihnen einen preisgekrönten Open-Source-Fall des Devin Developer Forum für die Anwendung von Divin Screen im neuen Bereich vor – Browser-Webseite und eingehende Erweiterung der seriellen Schnittstelle von T5L Divin Screen (Node-RED-Technologie). .Ingenieure verwenden T5L-Smart-Screens, um die Node-RED-Technologie zu bestehen. Sie benötigen lediglich einen seriellen Port, um eine Verbindung zum Internet herzustellen und die Dateninteraktion zwischen dem Diwen-Bildschirm und der Browser-Webseite zu realisieren.Diese Lösung realisiert Funktionen wie das Senden und Empfangen von Daten, die Diagramminteraktion und die Anzeige grundlegender Informationen zwischen dem Smart Screen und der Webseite.

1. Anzeige des laufenden Effekts auf der Node-RED-Webseite

(1) Mithilfe der Node-RED-Technologie wird der Browser als Interaktionseingang verwendet, sodass der Browser und der Bildschirm über die serielle Schnittstelle interagieren, um die entsprechende Funktionsanzeige zu realisieren.

asva (1)
asva (2)

Registerkarte „Daten senden und empfangen“.

Symbol für interaktive Tab-Seite

asva (3)

Grundlegende Informationen zum Tab-Seiteneffekt

(2) Die wichtigsten Referenzcodes für den Node-RED-Webclient lauten wie folgt:

{

„id“: „fbb314a16ea00889“,

„Typ“: „Seriell in“,

„z“: „09e0777eaff7fdea“,

„g“: „c1661722c7db00f9“,

„name“: „Serieller Port empfängt Daten“,

„seriell“: „83fb45b5f4b51d61“,

„x“: 390,

„y“: 140,

"Drähte": [

[

„685a2fb2c2dc8fba“

]

]

},

{

„id“: „1ba3c6e812e03e27“,

„Typ“: „Serieller Ausgang“,

„z“: „09e0777eaff7fdea“,

„g“: „c1661722c7db00f9“,

„name“: „Senden über die serielle Schnittstelle“,

„seriell“: „83fb45b5f4b51d61“,

„x“: 860,

„y“: 260,

"Drähte": []

},

{

„id“: „5fb7f1d3d7425133“,

„Typ“: „Status“,

„z“: „09e0777eaff7fdea“,

„g“: „c1661722c7db00f9“,

„name“: „Status der seriellen Schnittstelle überwachen“,

"Umfang": [

„fbb314a16ea00889“

],

„x“: 390,

„y“: 200,

"Drähte": [

[

„3f18d1fdea398d35“

]

]

},

{

„id“: „3f18d1fdea398d35“,

„Typ“: „Funktion“,

„z“: „09e0777eaff7fdea“,

„g“: „c1661722c7db00f9“,

„name“: „Status der seriellen Schnittstelle extrahieren“,

"func": "let 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 = 'Verbindung erfolgreich';\n color = 'grün';\n}else\n sta = 'Fehler aufgetreten';\nmsg[' payload'] = sta;\nmsg['color'] = color;\n\nreturn msg;",

„Ausgänge“: 1,

„timeout“: 0,

„noerr“: 0,

„initialisieren“: „“,

„finalisieren“: „“,

"libs": [],

„x“: 620,

„y“: 200,

"Drähte": [

[

„2ec78ff0b0b9a56f“

]

]

},

{

„id“: „2ec78ff0b0b9a56f“,

„type“: „ui_template“,

„z“: „09e0777eaff7fdea“,

„g“: „c1661722c7db00f9“,

„Gruppe“: „4e4db779a7b91019“,

„name“: „Status der seriellen Schnittstelle anzeigen“,

„Bestellung“: 1,

"Breite": 0,

"Höhe": 0,

"Format": "\n Status der seriellen Schnittstelle:

2.DGUSISchnittstelleDDesign

asva (4)

1. C51 Ingenieurdesign

Die Lösung nutzt den seriellen Port 2 des T5L Smart Screen für die Kommunikation mit der Node-RED-Webseite.Einige Referenzcodes lauten wie folgt:

#include „sys.h“

#include „uart2.h“

#enthalten

#enthalten

u8 Buff[200];

void main(void)

{

u16num;

u16val;

u16alt;

u8i;

sys_init();

uart2_init(115200);

alt= 0;

while(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';

if(num<3)

{

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

}

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

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

{

if(buff==0xff)

{

Buff= 0x00;

buff[i+1]= 0x00;

brechen;

}

}

u2_send_bytes(buff,strlen(buff));

Wert= 0;

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

}

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

if(val!=old)

{

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

u2_send_bytes(buff,strlen(buff));

alt = Wert;

}

}

}


Zeitpunkt der Veröffentlichung: 28. Dezember 2023