Trang web trình duyệt nguồn mở và mở rộng sâu cổng nối tiếp màn hình T5L DWIN (công nghệ Node-RED)

--Từ Diễn đàn nhà phát triển DWIN

Trong số này, chúng tôi sẽ giới thiệu với các bạn một trường hợp nguồn mở từng đoạt giải thưởng của Diễn đàn nhà phát triển Devin về ứng dụng Divin Screen trong lĩnh vực mới - trang web trình duyệt và mở rộng chuyên sâu cổng nối tiếp T5L Divin Screen (công nghệ Node-RED) .Các kỹ sư sử dụng màn hình thông minh T5L để vượt qua công nghệ Node-RED chỉ cần một cổng nối tiếp để kết nối Internet và thực hiện tương tác dữ liệu giữa màn hình Diwen và trang web trình duyệt.Giải pháp này thực hiện các chức năng như gửi và nhận dữ liệu, tương tác biểu đồ, hiển thị thông tin cơ bản giữa màn hình thông minh và trang web.

1. Hiển thị hiệu ứng chạy trang web Node-RED

(1) Sử dụng công nghệ Node-RED, trình duyệt được sử dụng làm lối vào tương tác, để trình duyệt và màn hình tương tác thông qua cổng nối tiếp để thực hiện hiển thị chức năng tương ứng.

asva (1)
asva (2)

Trang Tab gửi và nhận dữ liệu

Trang Tab tương tác biểu tượng

asva (3)

Thông tin cơ bản Hiệu ứng trang tab

(2) Mã tham chiếu chính cho máy khách web Node-RED như sau:

{

"id": "fbb314a16ea00889",

"type": "nối tiếp vào",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Cổng nối tiếp nhận dữ liệu",

"nối tiếp": "83fb45b5f4b51d61",

“x”: 390,

"y": 140,

"Dây điện": [

[

"685a2fb2c2dc8fba"

]

]

},

{

"id": "1ba3c6e812e03e27",

"type": "ra nối tiếp",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Gửi cổng nối tiếp",

"nối tiếp": "83fb45b5f4b51d61",

"x": 860,

"y": 260,

"Dây điện": []

},

{

"id": "5fb7f1d3d7425133",

"loại": "trạng thái",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Theo dõi trạng thái cổng nối tiếp",

"phạm vi": [

"fbb314a16ea00889"

],

“x”: 390,

"y": 200,

"Dây điện": [

[

"3f18d1fdea398d35"

]

]

},

{

"id": "3f18d1fdea398d35",

"loại": "chức năng",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "Trích xuất trạng thái cổng nối tiếp",

"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 = 'kết nối thành công';\n color = 'green';\n}else\n sta = 'đã xảy ra lỗi';\nmsg[' tải trọng'] = sta;\nmsg['color'] = color;\n\ntin nhắn trả về;",

"đầu ra": 1,

"hết thời gian": 0,

"không": 0,

"khởi tạo": "",

"hoàn tất": "",

"lib": [],

"x": 620,

"y": 200,

"Dây điện": [

[

"2ec78ff0b0b9a56f"

]

]

},

{

"id": "2ec78ff0b0b9a56f",

"loại": "ui_template",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"nhóm": "4e4db779a7b91019",

"name": "Hiển thị trạng thái cổng nối tiếp",

"đặt hàng": 1,

"chiều rộng": 0,

"chiều cao": 0,

"định dạng": "\n Trạng thái cổng nối tiếp:

2.DGUSIgiao diệnDthiết kế

asva (4)

1. Thiết kế kỹ thuật C51

Giải pháp sử dụng cổng nối tiếp màn hình thông minh T5L 2 để giao tiếp với trang web Node-RED.Một số mã tham khảo như sau:

#include "sys.h"

#include "uart2.h"

#bao gồm

#bao gồm

tăng cường u8[200];

khoảng trống chính(void)

{

u16num;

u16val;

u16old;

u8i;

sys_init();

uart2_init(115200);

cũ= 0;

trong khi(1)

{

nếu(is_recv_complete)

{

uart2_buf[recv_len++]= 0;

uart2_buf[recv_len++]= 0;

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

{

num= uart2_buf[3]-'0';

nếu(số<3)

{

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

}

}khác

{

sys_write_vp(0x2000,uart2_buf, recv_len/2+2);

}

recv_len= 0;

is_recv_complete= 0;

}

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

nếu(val==1)

{

sys_read_vp(0x2100,buff, 50);

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

{

if(buff==0xff)

{

tăng cường= 0x00;

tăng [i+1]= 0x00;

phá vỡ;

}

}

u2_send_bytes(buff,strlen(buff));

giá trị = 0;

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

}

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

nếu(val!=cũ)

{

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

u2_send_bytes(buff,strlen(buff));

cũ= giá trị;

}

}

}


Thời gian đăng: 28/12/2023