ღია კოდის ბრაუზერის ვებგვერდი და T5L DWIN ეკრანის სერიული პორტის ღრმა გაფართოება (Node-RED ტექნოლოგია)

——DWIN დეველოპერთა ფორუმიდან

ამ ნომერში ჩვენ წარმოგიდგენთ Devin Developer Forum-ის ჯილდოს ღია კოდის შემთხვევას Divin Screen-ის ახალ სფეროში გამოსაყენებლად - ბრაუზერის ვებგვერდი და T5L Divin Screen სერიული პორტის სიღრმისეული გაფართოება (Node-RED ტექნოლოგია) .ინჟინრები იყენებენ T5L სმარტ ეკრანებს Node-RED ტექნოლოგიის გადასაცემად მხოლოდ სერიულ პორტს საჭიროებს ინტერნეტთან დასაკავშირებლად და მონაცემთა ურთიერთქმედების გასაცნობად Diwen ეკრანსა და ბრაუზერის ვებ გვერდს შორის.ეს გამოსავალი ახორციელებს ფუნქციებს, როგორიცაა მონაცემთა გაგზავნა და მიღება, დიაგრამის ურთიერთქმედება და ძირითადი ინფორმაციის ჩვენება ჭკვიანი ეკრანსა და ვებ გვერდს შორის.

1. Node-RED ვებ გვერდის გაშვებული ეფექტის ჩვენება

(1) Node-RED ტექნოლოგიის გამოყენებით, ბრაუზერი გამოიყენება როგორც ინტერაქციის შესასვლელი, ისე, რომ ბრაუზერი და ეკრანი ურთიერთქმედებენ სერიული პორტის მეშვეობით, რათა განახორციელონ შესაბამისი ფუნქციის ჩვენება.

ასვა (1)
ასვა (2)

მონაცემთა გაგზავნისა და მიღების ჩანართის გვერდი

ხატულა ინტერაქტიული ჩანართის გვერდი

ასვა (3)

ძირითადი ინფორმაცია ჩანართის გვერდის ეფექტი

(2) 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",

"name": "სერიული პორტის გაგზავნა",

"სერიალი": "83fb45b5f4b51d61",

"x": 860,

"y": 260,

"მავთულები": []

},

{

"id": "5fb7f1d3d7425133",

"ტიპი": "სტატუსები",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "სერიული პორტის სტატუსის მონიტორინგი",

"ფარგლები": [

"fbb314a16ea00889"

],

"x": 390,

"y": 200,

"მავთულები": [

[

"3f18d1fdea398d35"

]

]

},

{

"id": "3f18d1fdea398d35",

"ტიპი": "ფუნქცია",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "სერიული პორტის სტატუსის ამოღება",

"func": "დაუშვით sta = msg.status.text;\nდავუშვათ ფერი = 'წითელი';\nif (sta.indexOf('დაკავშირებული არ არის') >= 0) \n sta = 'დაუკავშირებელი';\nse თუ (sta.indexOf('დაკავშირებულია') >= 0)\n{\n sta = 'დაკავშირება წარმატებით დასრულდა';\n ფერი = 'მწვანე';\n}სხვა\n sta = 'შეცდომა მოხდა';\nmsg[' payload'] = sta;\nmsg['color'] = ფერი;\n\nდაბრუნების msg;",

"გამომავალი": 1,

"ტაიმაუტი": 0,

"noerr": 0,

"ინიციალიზაცია": "",

"დასრულება": "",

"libs": [],

"x": 620,

"y": 200,

"მავთულები": [

[

"2ec78ff0b0b9a56f"

]

]

},

{

"id": "2ec78ff0b0b9a56f",

"type": "ui_template",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"ჯგუფი": "4e4db779a7b91019",

"name": "სერიული პორტის სტატუსის ჩვენება",

"შეკვეთა": 1,

"სიგანე": 0,

"სიმაღლე": 0,

"ფორმატი": "\n სერიული პორტის სტატუსი:

2.DGUSIინტერფეისიDწარწერა

ასვა (4)

1. C51 საინჟინრო დიზაინი

გამოსავალი იყენებს T5L ჭკვიანი ეკრანის სერიულ პორტს 2 Node-RED ვებგვერდთან კომუნიკაციისთვის.ზოგიერთი საცნობარო კოდი შემდეგია:

#include "sys.h"

#include "uart2.h"

#შეიცავს

#შეიცავს

u8 ბუფი[200];

ბათილად მთავარი (ბათილი)

{

u16num;

u16val;

u16 წლის;

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

თუ (რიცხვი <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);

}

}სხვა

{

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;

შესვენება;

}

}

u2_send_bytes(buff,strlen(buff));

val= 0;

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

}

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

თუ (ვალ!=ძველი)

{

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

u2_send_bytes(buff,strlen(buff));

ძველი= val;

}

}

}


გამოქვეყნების დრო: დეკ-28-2023