ওপেন সোর্স ব্রাউজার ওয়েবপেজ এবং T5L DWIN স্ক্রীন সিরিয়াল পোর্ট গভীর সম্প্রসারণ (নোড-রেড প্রযুক্তি)

—— DWIN ডেভেলপার ফোরাম থেকে

এই ইস্যুতে, আমরা আপনাকে নতুন ক্ষেত্রে ডিভিন স্ক্রীনের প্রয়োগের জন্য ডেভিন ডেভেলপার ফোরামের একটি পুরস্কার বিজয়ী ওপেন সোর্স কেস- ব্রাউজার ওয়েবপেজ এবং T5L ডিভিন স্ক্রীন সিরিয়াল পোর্ট গভীরভাবে সম্প্রসারণ (নোড-রেড প্রযুক্তি) পরিচয় করিয়ে দেব। .প্রকৌশলীরা নোড পাস করার জন্য T5L স্মার্ট স্ক্রিন ব্যবহার করেন- RED প্রযুক্তির জন্য ইন্টারনেটের সাথে সংযোগ করতে এবং Diwen স্ক্রীন এবং ব্রাউজার ওয়েব পৃষ্ঠার মধ্যে ডেটা মিথস্ক্রিয়া উপলব্ধি করতে শুধুমাত্র একটি সিরিয়াল পোর্ট প্রয়োজন।এই সমাধানটি ডেটা প্রেরণ এবং গ্রহণ, চার্ট মিথস্ক্রিয়া এবং স্মার্ট স্ক্রীন এবং ওয়েব পৃষ্ঠার মধ্যে মৌলিক তথ্য প্রদর্শনের মতো ফাংশনগুলি উপলব্ধি করে।

1. নোড-লাল ওয়েব পৃষ্ঠা চলমান প্রভাব প্রদর্শন

(1) নোড-রেড প্রযুক্তি ব্যবহার করে, ব্রাউজারটিকে ইন্টারঅ্যাকশন প্রবেশদ্বার হিসাবে ব্যবহার করা হয়, যাতে ব্রাউজার এবং স্ক্রীন সংশ্লিষ্ট ফাংশন প্রদর্শন উপলব্ধি করতে সিরিয়াল পোর্টের মাধ্যমে ইন্টারঅ্যাক্ট করে।

আসভা (1)
আসভা (2)

ট্যাব পৃষ্ঠায় ডেটা পাঠানো এবং গ্রহণ করা

ইন্টারেক্টিভ ট্যাব পৃষ্ঠার আইকন

আসভা (3)

মৌলিক তথ্য ট্যাব পৃষ্ঠা প্রভাব

(2) Node-RED ওয়েব ক্লায়েন্টের জন্য প্রধান রেফারেন্স কোডগুলি নিম্নরূপ:

{

"id": "fbb314a16ea00889",

"type": "সিরিয়াল ইন",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "সিরিয়াল পোর্ট ডেটা গ্রহণ করে",

"সিরিয়াল": "83fb45b5f4b51d61",

"x": 390,

"y": 140,

"তারের": [

[

"685a2fb2c2dc8fba"

]

]

},

{

"id": "1ba3c6e812e03e27",

"type": "সিরিয়াল আউট",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "সিরিয়াল পোর্ট পাঠানো হচ্ছে",

"সিরিয়াল": "83fb45b5f4b51d61",

"x": 860,

"y": 260,

"তার": []

},

{

"id": "5fb7f1d3d7425133",

"type": "স্থিতি",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "সিরিয়াল পোর্টের অবস্থা পর্যবেক্ষণ করুন",

"স্কোপ": [

"fbb314a16ea00889"

],

"x": 390,

"y": 200,

"তারের": [

[

"3f18d1fdea398d35"

]

]

},

{

"id": "3f18d1fdea398d35",

"type": "ফাংশন",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"name": "সিরিয়াল পোর্ট স্ট্যাটাস বের করুন",

"func": "চলুন sta = msg.status.text;\nlet রঙ = 'লাল';\nif (sta.indexOf('not-connected') >= 0) \n sta = 'Unconnected';\nelse if (sta.indexOf('সংযুক্ত') >= 0)\n{\n sta = 'সংযোগ সফল হয়েছে';\n রঙ = 'সবুজ';\n}অন্যথা\n sta = 'ত্রুটি ঘটেছে';\nmsg[' payload'] = sta;\nmsg['color'] = color;\n\nরিটার্ন বার্তা;",

"আউটপুট": 1,

"সময় শেষ": 0,

"নোয়ার": 0,

"শুরু করা": "",

"চূড়ান্ত করা": "",

"libs": [],

"x": 620,

"y": 200,

"তারের": [

[

"2ec78ff0b0b9a56f"

]

]

},

{

"id": "2ec78ff0b0b9a56f",

"type": "ui_template",

"z": "09e0777eaff7fdea",

"g": "c1661722c7db00f9",

"গ্রুপ": "4e4db779a7b91019",

"নাম": "সিরিয়াল পোর্টের অবস্থা প্রদর্শন করুন",

"অর্ডার": 1,

"প্রস্থ": 0,

"উচ্চতা": 0,

"ফর্ম্যাট": "\n সিরিয়াল পোর্ট অবস্থা:

2.DGUSInterfaceDচিহ্ন

আসভা (4)

1. C51 ইঞ্জিনিয়ারিং ডিজাইন

সমাধানটি নোড-রেড ওয়েব পেজের সাথে যোগাযোগ করতে T5L স্মার্ট স্ক্রিন সিরিয়াল পোর্ট 2 ব্যবহার করে।কিছু রেফারেন্স কোড নিম্নরূপ:

# "sys.h" অন্তর্ভুক্ত করুন

# "uart2.h" অন্তর্ভুক্ত করুন

#অন্তর্ভুক্ত

#অন্তর্ভুক্ত

u8 বাফ [200];

অকার্যকর প্রধান (অকার্যকর)

{

u16num;

u16val;

u16 পুরাতন;

u8i;

sys_init();

uart2_init(115200);

পুরাতন = 0;

যখন (1)

{

যদি (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)

{

জন্য(i=0;i<3;i++)

{

val = (সংখ্যা==i);

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

}

অন্যথায় (সংখ্যা <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);

যদি(val==1)

{

sys_read_vp(0x2100,বাফ, 50);

জন্য(i=0;i<100;i++)

{

যদি (বাফ==0xff)

{

বাফ = 0x00;

বাফ[i+1] = 0x00;

বিরতি

}

}

u2_send_bytes(বাফ,স্ট্রলেন(বাফ));

val = 0;

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

}

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

যদি (ভাল!=পুরানো)

{

sprintf(বাফ,"%d", ভ্যাল);

u2_send_bytes(বাফ,স্ট্রলেন(বাফ));

পুরাতন = ভাল;

}

}

}


পোস্টের সময়: ডিসেম্বর-২৮-২০২৩