صفحة ويب متصفح مفتوحة المصدر وتوسيع عميق للمنفذ التسلسلي لشاشة T5L DWIN (تقنية Node-RED)

——من منتدى مطوري DWIN

في هذا العدد، سنقدم لك حالة مفتوحة المصدر حائزة على جوائز من منتدى مطوري Devin لتطبيق Divin Screen في المجال الجديد - صفحة ويب المتصفح والتوسيع المتعمق للمنفذ التسلسلي T5L Divin Screen (تقنية Node-RED) .يستخدم المهندسون شاشات T5L الذكية لتمرير تقنية Node-RED التي تتطلب فقط منفذًا تسلسليًا للاتصال بالإنترنت وتحقيق تفاعل البيانات بين شاشة Diwen وصفحة الويب الخاصة بالمتصفح.يحقق هذا الحل وظائف مثل إرسال واستقبال البيانات، وتفاعل الرسم البياني، وعرض المعلومات الأساسية بين الشاشة الذكية وصفحة الويب.

1. عرض تأثير صفحة الويب Node-RED

(1) باستخدام تقنية Node-RED، يتم استخدام المتصفح كمدخل للتفاعل، بحيث يتفاعل المتصفح والشاشة من خلال المنفذ التسلسلي لتحقيق عرض الوظيفة المقابلة.

اسفا (1)
أسفا (2)

صفحة إرسال واستقبال البيانات

أيقونة صفحة علامة التبويب التفاعلية

أسفا (3)

تأثير صفحة علامة تبويب المعلومات الأساسية

(2) الرموز المرجعية الرئيسية لعميل الويب Node-RED هي كما يلي:

{

"المعرف": "fbb314a16ea00889"،

"النوع": "المسلسل في"،

"ض": "09e0777eaff7fdea"،

"ز": "c1661722c7db00f9"،

"name": "المنفذ التسلسلي يتلقى البيانات"،

"المسلسل": "83fb45b5f4b51d61"،

"x": 390،

"ص": 140،

"الأسلاك": [

[

"685a2fb2c2dc8fba"

]

]

},

{

"المعرف": "1ba3c6e812e03e27"،

"النوع": "إخراج تسلسلي"،

"ض": "09e0777eaff7fdea"،

"ز": "c1661722c7db00f9"،

"الاسم": "إرسال المنفذ التسلسلي"،

"المسلسل": "83fb45b5f4b51d61"،

"س": 860،

"ص": 260،

"الأسلاك": []

},

{

"المعرف": "5fb7f1d3d7425133"،

"النوع": "الحالة"،

"ض": "09e0777eaff7fdea"،

"ز": "c1661722c7db00f9"،

"name": "مراقبة حالة المنفذ التسلسلي"،

"نِطَاق": [

"fbb314a16ea00889"

"x": 390،

"ص": 200،

"الأسلاك": [

[

"3f18d1fdea398d35"

]

]

},

{

"المعرف": "3f18d1fdea398d35"،

"النوع": "الوظيفة"،

"ض": "09e0777eaff7fdea"،

"ز": "c1661722c7db00f9"،

"الاسم": "استخراج حالة المنفذ التسلسلي"،

"func": "let sta = msg.status.text;\nlet color = 'red';\nif (sta.indexOf('not-connected') >= 0) \n sta = 'غير متصل';\nelse if (sta.indexOf('connected') >= 0)\n{\n sta = 'نجح الاتصال';\n color = 'green';\n}else\n sta = 'حدث خطأ';\nmsg[' payload'] = sta;\nmsg['color'] = color;\n\nreturn msg;",

"المخرجات": 1،

"المهلة": 0،

"نور": 0،

"التهيئة": ""،

"الانتهاء": ""،

"ليبس": []،

"س": 620،

"ص": 200،

"الأسلاك": [

[

"2ec78ff0b0b9a56f"

]

]

},

{

"المعرف": "2ec78ff0b0b9a56f"،

"النوع": "ui_template"،

"ض": "09e0777eaff7fdea"،

"ز": "c1661722c7db00f9"،

"المجموعة": "4e4db779a7b91019"،

"الاسم": "عرض حالة المنفذ التسلسلي"،

"الأمر": 1،

"العرض": 0،

"الارتفاع": 0،

"شكل": "\n حالة المنفذ التسلسلي:

2.DGUSInterfaceDcom.esign

أسفا (4)

1. التصميم الهندسي C51

يستخدم الحل المنفذ التسلسلي للشاشة الذكية T5L 2 للتواصل مع صفحة الويب Node-RED.بعض الرموز المرجعية هي كما يلي:

#تتضمن "sys.h"

#تشمل "uart2.h"

#يشمل

#يشمل

u8 برتقالي[200];

الفراغ الرئيسي (الباطل)

{

u16num;

u16val;

u16old;

u8i;

sys_init();

uart2_init(115200);

قديم = 0؛

بينما(1)

{

إذا (is_recv_Complete)

{

uart2_buf[recv_len++]= 0;

uart2_buf[recv_len++]= 0;

إذا (strstr((char*)uart2_buf،"cmd"))

{

num= uart2_buf[3]-'0';

إذا (رقم <3)

{

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

{

val=(num==i);

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

}

}السيف(رقم<5)

{

فال= (عدد==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);

إذا (فال == 1)

{

sys_read_vp(0x2100,buff, 50);

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

{

إذا (برتقالي == 0xff)

{

برتقالي= 0x00;

برتقالي[i+1]= 0x00;

استراحة؛

}

}

u2_send_bytes(buff,strlen(buff));

فال= 0;

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

}

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

إذا (فال! = قديم)

{

sprintf(برتقالي،"%d"، val)؛

u2_send_bytes(buff,strlen(buff));

قديم = فال؛

}

}

}


وقت النشر: 28 ديسمبر 2023