Açık Kaynak Tarayıcı Web Sayfası ve T5L DWIN Ekranı Seri Port Derin Genişletme (Node-RED teknolojisi)

——DWIN Geliştirici Forumundan

Bu sayımızda, Divin Screen'in yeni alanda uygulanmasına yönelik Devin Developer Forum'un ödüllü açık kaynak örneğini size tanıtacağız - tarayıcı web sayfası ve T5L Divin Screen seri bağlantı noktasının derinlemesine genişletilmesi (Node-RED teknolojisi) .Mühendisler, Node-RED teknolojisini geçmek için T5L akıllı ekranları kullanıyor; internete bağlanmak ve Diwen ekranı ile tarayıcı web sayfası arasındaki veri etkileşimini gerçekleştirmek için yalnızca bir seri bağlantı noktası gerekiyor.Bu çözüm, akıllı ekran ile web sayfası arasında veri gönderme ve alma, grafik etkileşimi, temel bilgilerin görüntülenmesi gibi işlevleri gerçekleştirir.

1. Node-RED web sayfası çalıştırma efekti ekranı

(1) Node-RED teknolojisini kullanan tarayıcı, etkileşim girişi olarak kullanılır, böylece tarayıcı ve ekran, ilgili işlev ekranını gerçekleştirmek için seri port üzerinden etkileşime girer.

asva (1)
asva (2)

Veri gönderme ve alma Sekme sayfası

Simge etkileşimli Sekme sayfası

asva (3)

Temel bilgiler Sekme sayfası efekti

(2) Node-RED web istemcisinin ana referans kodları aşağıdaki gibidir:

{

"kimlik": "fbb314a16ea00889",

"type": "seri giriş",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Seri port veri alıyor",

"seri": "83fb45b5f4b51d61",

"x": 390,

"y": 140,

"teller": [

[

"685a2fb2c2dc8fba"

]

]

},

{

"kimlik": "1ba3c6e812e03e27",

"type": "seri çıkış",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Seri port gönderimi",

"seri": "83fb45b5f4b51d61",

"x": 860,

"y": 260,

"teller": []

},

{

"kimlik": "5fb7f1d3d7425133",

"tip": "durum",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Seri port durumunu izle",

"kapsam": [

"fbb314a16ea00889"

],

"x": 390,

"y": 200,

"teller": [

[

"3f18d1fdea398d35"

]

]

},

{

"kimlik": "3f18d1fdea398d35",

"tip": "işlev",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Seri port durumunu çıkar",

"func": "let sta = msg.status.text;\nlet color = 'kırmızı';\nif (sta.indexOf('bağlı değil') >= 0) \n sta = 'Bağlantısız';\nelse if (sta.indexOf('bağlandı') >= 0)\n{\n sta = 'bağlantı başarılı oldu';\n color = 'yeşil';\n}else\n sta = 'hata oluştu';\nmsg[' yük'] = sta;\nmsg['renk'] = renk;\n\ndönüş msj;",

"çıkışlar": 1,

"zaman aşımı": 0,

"hayır": 0,

"başlat": "",

"Sonuçlandırmak": "",

"lib'ler": [],

"x": 620,

"y": 200,

"teller": [

[

"2ec78ff0b0b9a56f"

]

]

},

{

"kimlik": "2ec78ff0b0b9a56f",

"tip": "ui_template",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"grup": "4e4db779a7b91019",

"name": "Seri port durumunu görüntüle",

"sipariş": 1,

"genişlik": 0,

"yükseklik": 0,

"biçim": "\n Seri bağlantı noktası durumu:

2.DGUSIarayüzDe-tasarım

asva (4)

1. C51 Mühendislik Tasarımı

Çözüm, Node-RED web sayfasıyla iletişim kurmak için T5L akıllı ekran seri bağlantı noktası 2'yi kullanır.Bazı referans kodları aşağıdaki gibidir:

#include "sys.h"

#"uart2.h"yi dahil et

#katmak

#katmak

u8 güçlendirmesi[200];

geçersiz ana (geçersiz)

{

u16num;

u16val;

u16eski;

u8i;

sys_init();

uart2_init(115200);

eski= 0;

süre(1)

{

if(is_recv_complete)

{

uart2_buf[recv_len++]= 0;

uart2_buf[recv_len++]= 0;

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

{

sayı= uart2_buf[3]-'0';

eğer(sayı<3)

{

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

{

val= (sayı==i);

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

}

}elseif(sayı<5)

{

val= (sayı==3);

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

}

}başka

{

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)

{

güçlendirme= 0x00;

güçlendirme[i+1]= 0x00;

kırmak;

}

}

u2_send_bytes(buff,strlen(buff));

değer= 0;

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

}

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

if(val!=eski)

{

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

u2_send_bytes(buff,strlen(buff));

eski= val;

}

}

}


Gönderim zamanı: 28 Aralık 2023