Ιστοσελίδα προγράμματος περιήγησης ανοιχτού κώδικα και σειριακή θύρα οθόνης T5L DWIN Deep Expansion (τεχνολογία Node-RED)

——Από το Φόρουμ προγραμματιστών DWIN

Σε αυτό το τεύχος, θα σας παρουσιάσουμε μια βραβευμένη θήκη ανοιχτού κώδικα του Devin Developer Forum για την εφαρμογή του Divin Screen στο νέο πεδίο - ιστοσελίδα του προγράμματος περιήγησης και σε βάθος επέκταση της σειριακής θύρας T5L Divin Screen (τεχνολογία Node-RED) .Οι μηχανικοί χρησιμοποιούν έξυπνες οθόνες T5L για να περάσουν η τεχνολογία Node-RED απαιτεί μόνο μια σειριακή θύρα για να συνδεθεί στο Διαδίκτυο και να πραγματοποιήσει την αλληλεπίδραση δεδομένων μεταξύ της οθόνης Diwen και της ιστοσελίδας του προγράμματος περιήγησης.Αυτή η λύση πραγματοποιεί λειτουργίες όπως αποστολή και λήψη δεδομένων, αλληλεπίδραση γραφήματος και προβολή βασικών πληροφοριών μεταξύ της έξυπνης οθόνης και της ιστοσελίδας.

1. Εμφάνιση εφέ λειτουργίας ιστοσελίδας με ΚΟΚΚΙΝΟ κόμβο

(1) Χρησιμοποιώντας την τεχνολογία Node-RED, το πρόγραμμα περιήγησης χρησιμοποιείται ως είσοδος αλληλεπίδρασης, έτσι ώστε το πρόγραμμα περιήγησης και η οθόνη να αλληλεπιδρούν μέσω της σειριακής θύρας για να πραγματοποιήσουν την αντίστοιχη εμφάνιση λειτουργίας.

asva (1)
asva (2)

Σελίδα καρτέλας αποστολής και λήψης δεδομένων

Εικονίδιο διαδραστική σελίδα καρτέλας

asva (3)

Βασικές πληροφορίες Εφέ καρτέλας

(2) Οι κύριοι κωδικοί αναφοράς για το πρόγραμμα-πελάτη web Node-RED είναι οι εξής:

{

"id": "fbb314a16ea00889",

"type": "serial in",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Η σειριακή θύρα λαμβάνει δεδομένα",

"σειρά": "83fb45b5f4b51d61",

"x": 390,

"y": 140,

"σύρματα": [

[

"685a2fb2c2dc8fba"

]

]

},

{

"id": "1ba3c6e812e03e27",

"type": "serial out",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"όνομα": "Αποστολή σειριακής θύρας",

"σειρά": "83fb45b5f4b51d61",

"x": 860,

"y": 260,

"wires": []

},

{

"id": "5fb7f1d3d7425133",

"type": "status",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"όνομα": "Παρακολούθηση κατάστασης σειριακής θύρας",

"πεδίο εφαρμογής": [

"fbb314a16ea00889"

],

"x": 390,

"y": 200,

"σύρματα": [

[

"3f18d1fdea398d35"

]

]

},

{

"id": "3f18d1fdea398d35",

"τύπος": "λειτουργία",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"όνομα": "Εξαγωγή κατάστασης σειριακής θύρας",

"func": "let sta = msg.status.text;\nlet color = 'κόκκινο';\nif (sta.indexOf('not-connected') >= 0) \n sta = 'Μη συνδεδεμένο';\nse εάν (sta.indexOf('συνδεδεμένο') >= 0)\n{\n sta = 'η σύνδεση πέτυχε';\n χρώμα = 'πράσινο';\n}else\n sta = 'παρουσιάστηκε σφάλμα';\nmsg[' ωφέλιμο φορτίο'] = sta;\nmsg['color'] = χρώμα;\n\nμηνύματα επιστροφής;",

"Έξοδοι": 1,

"timeout": 0,

"noerr": 0,

"initialize": "",

"Οριστικοποιώ": "",

"libs": [],

"x": 620,

"y": 200,

"σύρματα": [

[

"2ec78ff0b0b9a56f"

]

]

},

{

"id": "2ec78ff0b0b9a56f",

"type": "ui_template",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"group": "4e4db779a7b91019",

"όνομα": "Εμφάνιση κατάστασης σειριακής θύρας",

"παραγγελία": 1,

"πλάτος": 0,

"ύψος": 0,

"μορφή": "\n Κατάσταση σειριακής θύρας:

2.DGUSIδιεπαφήDυποσημείωση

asva (4)

1. C51 Μηχανικός Σχεδιασμός

Η λύση χρησιμοποιεί τη σειριακή θύρα 2 της έξυπνης οθόνης T5L για επικοινωνία με την ιστοσελίδα Node-RED.Ορισμένοι κωδικοί αναφοράς είναι οι εξής:

#include "sys.h"

#include "uart2.h"

#περιλαμβάνω

#περιλαμβάνω

u8 buff[200];

κενό κύριο (κενό)

{

u16 num;

u16val;

u16 old;

u8i;

sys_init();

uart2_init(115200);

παλιό= 0;

ενώ (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(αριθμός<3)

{

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

{

val= (αριθμός==i);

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

}

}elseif(αριθμός<5)

{

val= (αριθμός==3);

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

}

}αλλού

{

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

για(i=0;i<100;i++)

{

if(buff==0xff)

{

buff= 0x00;

buff[i+1]= 0x00;

Διακοπή;

}

}

u2_send_bytes(buff,strlen(buff));

val= 0;

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

}

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

αν (val!=παλιό)

{

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

u2_send_bytes(buff,strlen(buff));

παλιά= val;

}

}

}


Ώρα δημοσίευσης: Δεκ-28-2023