সুচিপত্র:

নোড-রেডে JSON- এর সাথে কীভাবে কাজ করবেন: 13 টি ধাপ
নোড-রেডে JSON- এর সাথে কীভাবে কাজ করবেন: 13 টি ধাপ

ভিডিও: নোড-রেডে JSON- এর সাথে কীভাবে কাজ করবেন: 13 টি ধাপ

ভিডিও: নোড-রেডে JSON- এর সাথে কীভাবে কাজ করবেন: 13 টি ধাপ
ভিডিও: MERN STACK Multi Author Blog Project Overview | react | node | express | mern blog | mongodb #1 2024, নভেম্বর
Anonim
নোড-রেডে JSON- এর সাথে কীভাবে কাজ করবেন
নোড-রেডে JSON- এর সাথে কীভাবে কাজ করবেন

এই নির্দেশাবলী আপনাকে শেখাবে কিভাবে নোড-রেডে JSON এর সাথে কাজ করতে হয়। আমি আপনাকে দেখাবো কিভাবে http পাওয়ার এবং পোস্টের মাধ্যমে json ফাইল স্থানান্তর করার মাধ্যমে নেটওয়ার্ক পাওয়ার সকেট নিয়ন্ত্রণ করতে হয়। এবং আপনি JSON প্রোটোকল সমর্থনকারী যেকোনো ডিভাইস নিয়ন্ত্রণ করতে এই জ্ঞান পরে ব্যবহার করতে পারেন।

শিক্ষার উদ্দেশ্যে আমি NETIO 4 সমস্ত নেটওয়ার্ক পাওয়ার সকেট ব্যবহার করব, কিন্তু চিন্তা করবেন না, আপনাকে কিছু কিনতে হবে না। NETIO এর আশ্চর্যজনক 4All অনলাইন ডেমো আছে যা আপনি ব্যবহার করতে পারেন।

সরবরাহ

NETIO 4 সমস্ত নেটওয়ার্ক পাওয়ারসকেট বা 4All অনলাইন ডেমো:

নোড-লাল

ধাপ 1: REST JSON Http (গুলি) প্রোটোকল

REST JSON Http (গুলি) প্রোটোকল
REST JSON Http (গুলি) প্রোটোকল

এই অংশটি কিছুটা প্রযুক্তিগত তবে দয়া করে আমার সাথে সহ্য করুন। যদি আমি এই অংশটি ব্যাখ্যা না করি তাহলে আপনার json ফাইলের মানগুলি বুঝতে সমস্যা হবে যা আমরা নোড-রেডে পাঠাব।

প্রতিটি আউটপুটে (বৈদ্যুতিক সকেট) প্রযোজ্য ক্রিয়া:

সমস্ত M2M প্রোটোকলে, NETIO পাওয়ার সকেট একই ক্রিয়া ব্যবহার করে যা পৃথক আউটপুটে প্রয়োগ করা যেতে পারে। উদাহরণস্বরূপ, যে কোন আউটপুটে টগল বা শর্ট অফ অ্যাকশন লেখা যায়।

যাইহোক, অ্যাকশন পরিবর্তনশীল শুধুমাত্র মান লেখার জন্য ব্যবহার করা যেতে পারে, এটি বর্তমান আউটলেট অবস্থা পড়তে ব্যবহার করা যাবে না।

এই ক্রিয়াগুলি আপনি প্রতিটি আউটপুটে প্রয়োগ করতে পারেন:

0 = আউটপুট বন্ধ (বন্ধ)

1 = আউটপুট চালু (চালু)

2 = অল্প সময়ের জন্য আউটপুট বন্ধ (শর্ট অফ)

3 = অল্প সময়ের জন্য আউটপুট সুইচড (শর্ট অন)

4 = আউটপুট এক রাজ্য থেকে অন্য রাজ্যে চলে গেছে (টগল)

5 = আউটপুট অবস্থা অপরিবর্তিত (কোন পরিবর্তন নেই)

6 = উপেক্ষিত

উদাহরণ - আউটপুট নং টগল করার জন্য JSON ফাইল। 1:

{

"আউটপুট": [{

"আইডি": 1, "অ্যাকশন": 4

}]

}

আইডি - এই সংখ্যাটি নির্দেশ করে যে আমরা কোন আউটপুট ব্যবহার করব

অ্যাকশন - এই অংশ, আউটপুট যে কাজ করবে (যেমন 1 (আউটপুট চালু করুন))

ধাপ 2: প্রবাহ

প্রবাহ
প্রবাহ

এবং এখন মূল অংশ। এইভাবে নোড-রেড পরিবেশ দেখায়।

আমরা ইউআরএল এপিআই প্রবাহ আমদানি করেছি (যে প্রকল্পটি আপনি দেখছেন। পরে আমি আপনাকে দেখাব কিভাবে প্রবাহ এবং এই প্রকল্পটি আমদানি করতে হয়) এই প্রকল্পটি দুটি অংশ নিয়ে গঠিত:

  1. NETIO AN30 (JSON REST API) প্রবাহ
  2. ড্যাশবোর্ড (গ্রাফিক্যাল ইন্টারফেস যার মাধ্যমে আপনি আপনার প্রোগ্রাম পরিচালনা করতে পারেন)

ধাপ 3: ড্যাশবোর্ড

ড্যাশবোর্ড
ড্যাশবোর্ড

এই নির্দেশাবলীর জন্য নোড-রেডের ড্যাশবোর্ডটি কেমন দেখাচ্ছে। আপনি আপনার স্বাদ অনুসারে এটি কাস্টমাইজ করতে পারেন।

এই প্রকল্পের জন্য ড্যাশবোর্ড 4 ভাগে বিভক্ত:

  1. ডিভাইসের স্থিতি - ডিভাইস তথ্য দেখায় যেমন মডেল, ম্যাক ঠিকানা বা ফার্মওয়্যার সংস্করণ।
  2. (পোস্ট) কন্ট্রোল আউটপুট 1 - 5 টি বোতাম রয়েছে যা আউটপুট নিয়ন্ত্রণ করে। প্রতিটি বোতাম বিভিন্ন ক্রিয়া সম্পাদন করে
  3. (GET) O1 - O4 আউটপুট স্টেটস - এই অংশটি আপনার ডিভাইস থেকে প্রতিটি আউটপুটের বর্তমান অবস্থা দেখায়।
  4. ডিভাইস ম্যানেজমেন্ট - এই অংশে আপনি সমস্ত ধরণের গ্রাফ এবং গেজ খুঁজে পেতে পারেন যা NETIO 4Aall ডিভাইস থেকে বর্তমান মিটার করা মানগুলি দেখায়

ধাপ 4: আমদানি প্রবাহ (প্রকল্প, স্ক্রিপ্ট, ইত্যাদি)

আমদানি প্রবাহ (প্রকল্প, স্ক্রিপ্ট, ইত্যাদি)
আমদানি প্রবাহ (প্রকল্প, স্ক্রিপ্ট, ইত্যাদি)

মেনুতে (ডান উপরের কোণে) আমদানি এবং তারপর ক্লিপবোর্ড নির্বাচন করুন।

তারপরে, নির্দেশিত ক্ষেত্রটিতে নীচের পাঠ্যটি অনুলিপি করুন এবং আমদানি ক্লিক করুন।

অনুপস্থিত নোড ইনস্টল করা

নোডগুলি নির্বাচিত প্রবাহে লোড করা হয়। এটা সম্ভব যে একটি ত্রুটি বার্তা নোডগুলির একটি তালিকা সহ প্রদর্শিত হয় যা আমদানি করা হচ্ছে কিন্তু এখনও নোড-রেডে ইনস্টল করা হয়নি। এই ক্ষেত্রে, অনুপস্থিত নোডগুলি ইনস্টল করা প্রয়োজন।

যদি নোড অনুপস্থিত থাকে, মেনুতে প্যালেট পরিচালনা করুন নির্বাচন করুন, ইনস্টল ক্লিক করুন এবং আপনি যে নোডগুলি অনুপস্থিত তা খুঁজে বের করুন এবং ইনস্টল করুন।

পাঠ্য আমদানি করুন:

[{"id": "56b9510c.98c6f", "type": "tab", "label": "NETIO AN30 (REST JSON)", "Disable": false, "info": ""}, {"id ":" 6a66b637.da1558 "," type ":" http অনুরোধ "," z ":" 56b9510c.98c6f "," name ":" HTTP অনুরোধ (POST) "," পদ্ধতি ":" পোস্ট "," ret ": "txt", "url": "https://netio-4All.netio-products.com:8080/netio.json", "tls": "", "x": 430, "y": 100, "তারের":

ধাপ 5: এটি কীভাবে একসাথে কাজ করে

কিভাবে এটি সব একসাথে কাজ করে
কিভাবে এটি সব একসাথে কাজ করে

প্রবাহটি মূলত দুটি ভাগে বিভক্ত: POST এবং GET।

পোস্ট: O1 লেখা

  • ফ্লোতে ড্যাশবোর্ডে তৈরি পাঁচটি বোতাম ড্যাশবোর্ডে প্রদর্শিত হয়।
  • ড্যাশবোর্ডে আউটপুট 1 = ON বাটনে ক্লিক করার পর, প্লেলোড netio.json ফাইলে সেট করা হয় যা আউটপুট এবং ক্রিয়া (প্রতিটি বোতামের জন্য সংজ্ঞায়িত) নির্দিষ্ট করে।
  • HTTP রিকোয়েস্ট (POST) ব্লক একটি IP ঠিকানায় netio.json ফাইলটি অনুরোধ হিসাবে পাঠায়।
  • সার্ভারের প্রতিক্রিয়া (স্থিতি) আউটপুট হিসাবে ফেরত দেওয়া হয়।
  • Msg.payload ব্লক HTTP অনুরোধ (POST) থেকে ফলাফল প্রদর্শন করে।

পান: O1 - O4 থেকে পড়া

  • 1 সেকেন্ড রিপিট ব্লক সক্রিয় হয়, এক সেকেন্ডের সময় ধরে, HTTP রিকোয়েস্ট (GET) ব্লক, যেটি netio.json কে GET রিকোয়েস্ট হিসাবে পাঠায় এবং সার্ভার থেকে প্রাপ্ত সকেট স্ট্যাটাস সহ একটি সম্পূর্ণ JSON ফাইল রিটার্ন করে।
  • JSON পার্স ব্লকটি JSON ফাইলটিকে HTTP রিকোয়েস্ট (GET) ব্লক থেকে JSON অবজেক্টে রূপান্তরিত করে যাতে JSON ফাইলের বৈশিষ্ট্যগুলি হেরফের করা সম্ভব হয়।
  • ফাংশন ব্লক JSON অবজেক্টের পৃথক অংশ নেয় এবং সেগুলিকে পরবর্তীতে ব্যবহারের জন্য msg বস্তুর বৈশিষ্ট্যে রূপান্তরিত করে।
  • কারেন্ট চার্ট ব্লকটি মেসেজ অবজেক্টের টোটাল কারেন্ট প্রোপার্টিতে msg.payload সেট করে, কারণ পরবর্তী কারেন্ট চার্ট (ডিভাইস) ব্লক শুধুমাত্র msg.payload মান প্রদর্শন করতে পারে।
  • JSON অবজেক্ট থেকে নেওয়া, ম্যাসেজ অবজেক্টের নির্বাচিত বৈশিষ্ট্যগুলি প্রদর্শন করার জন্য বিভিন্ন আউটপুট নোডগুলি অনুসরণ করে ড্যাশবোর্ডে।

Msg বস্তু এবং msg.payload

একটি সহজ এবং সংক্ষিপ্ত ব্যাখ্যার জন্য, এখানে দেখুন:

www.steves-internet-guide.com/node-red-mess…

ধাপ 6: HTTP POST এবং GET

HTTP POST এবং GET
HTTP POST এবং GET
HTTP POST এবং GET
HTTP POST এবং GET

HTTP অনুরোধ (পোস্ট)

NETIO 4All ডিভাইস নিয়ন্ত্রণ করার জন্য এই নোডটি HTTP অনুরোধ (POST) হিসাবে একটি netio.json কমান্ড ফাইল পাঠায়।

HTTP অনুরোধ (GET)

এই নোড একটি HTTP রিকোয়েস্ট (GET) পাঠায় এবং স্ট্যাটাস সাড়া দেয়।

Thepre-fill address নির্দেশ করে NETIO 4All অনলাইন ডেমোতে, যেখানে আপনি আপনার ডেস্কে NETIO ডিভাইস ছাড়াই সংযোগ পরীক্ষা করতে পারেন।

netio-4all.netio-products.com

এই নোডগুলিতে আপনার নিজের আইপি ঠিকানা সেট করা সম্ভব; যাইহোক, আইপি HTTP রিকোয়েস্ট নোড, POST এবং GET উভয় ক্ষেত্রেই পরিবর্তন করতে হবে।

ধাপ 7: বোতাম নোড

বোতাম নোডস
বোতাম নোডস
বোতাম নোডস
বোতাম নোডস

বোতাম নোডে ক্লিক করলে একটি netio.json ফাইল (ডান ছবি) ধারণকারী বার্তা তৈরি হয় যা তারপর http পোস্ট নোডের মাধ্যমে নেটিও স্মার্ট পাওয়ার সকেটে পাঠানো হয়।

ধাপ 8: ফাংশন নোড

ফাংশন নোড
ফাংশন নোড
ফাংশন নোড
ফাংশন নোড

একটি ফাংশন নোড একটি বিশেষ নোড যা একটি কাস্টম জাভাস্ক্রিপ্ট ফাংশন লিখতে সক্ষম করে।

এই নির্দেশের মধ্যে, ফাংশনটি পার্সড JSON ফাইল (এখন একটি JSON অবজেক্ট) থেকে মানগুলি বাছাই করে এবং সেগুলিকে বার্তা বস্তুর বৈশিষ্ট্যগুলিতে বরাদ্দ করে।

কোডটি চারটি বিভাগে বিভক্ত:

  1. JSON অবজেক্ট থেকে msg বস্তুর স্বতন্ত্র বৈশিষ্ট্যে মান নির্ধারণ করা
  2. নেটওয়ার্কেড পাওয়ার সকেট বৈশ্বিক পরিমাপ সমর্থন না করলে ত্রুটি হ্যান্ডলিং

    যদি নেটওয়ার্কেড পাওয়ার সকেট বৈশ্বিক মান পরিমাপ সমর্থন করে না, নোড-রেড ত্রুটি প্রদর্শন করবে কারণ এই ফাংশনটি সংশ্লিষ্ট সম্পত্তি খুঁজে পাবে না, যেমন msg.payload. GlobalMeasure. Voltage, যেহেতু এটি JSON অবজেক্টে উপস্থিত থাকবে না। এই ক্ষেত্রে, msg বস্তুর সম্পত্তি, যেমন msg।

  3. আউটপুট রাষ্ট্র মান নির্ধারণ
  4. আউটপুট স্টেট অনুযায়ী প্রদর্শিত আউটপুট স্টেট ভ্যালুর রং সেট করা

ধাপ 9: JSON নোড এবং ইনজেকশন নোড

JSON নোড এবং ইনজেকশন নোড
JSON নোড এবং ইনজেকশন নোড
JSON নোড এবং ইনজেকশন নোড
JSON নোড এবং ইনজেকশন নোড

JSON নোড

JSON নোড JSON ফাইলটি পার্স করে এবং এটি একটি JSON অবজেক্টে রূপান্তরিত করে।

সার্ভার থেকে GET রিকোয়েস্টের প্রতিক্রিয়া হিসাবে, HTTP রিকোয়েস্ট নোড একটি JSON ফাইল প্রদান করে যার মধ্যে NETIO 4x ডিভাইসের বর্তমান অবস্থা রয়েছে, কিন্তু এটি কেবল একটি টেক্সট ফাইল, তাই ডেটা নিয়ে কাজ করার জন্য JSON ফাইলের প্রয়োজন একটি JSON বস্তুর মধ্যে বিশ্লেষণ করা।

নোড ইনজেকশন

প্রতি সেকেন্ডে, এই নোডটি HTTP অনুরোধ নোড সক্রিয় করে যা একটি GET অনুরোধ পাঠায়।

ফলস্বরূপ, ড্যাশবোর্ডের মানগুলি এক সেকেন্ডের সময়ের সাথে আপডেট করা হয়

ধাপ 10: পাঠ্য নোড এবং ডিবাগ নোড

পাঠ্য নোড এবং ডিবাগ নোড
পাঠ্য নোড এবং ডিবাগ নোড
পাঠ্য নোড এবং ডিবাগ নোড
পাঠ্য নোড এবং ডিবাগ নোড

পাঠ্য নোড

ড্যাশবোর্ডে একটি পাঠ্য ক্ষেত্র প্রদর্শন করে। এই নির্দেশে, পাঠ্য নোডগুলি বর্তমান, ভোল্টেজ, মডেল, ফার্মওয়্যার সংস্করণ বা JSON সংস্করণ প্রদর্শন করে।

লেবেলটি ড্যাশবোর্ডে প্রদর্শিত হয়, এবং নাম হল নোডের নাম যা নোড-রেডে প্রবাহে প্রদর্শিত হয়।

ডিবাগ নোড

Msg.payload প্রদর্শন করে।

ধাপ 11: চার্ট নোড

চার্ট নোড
চার্ট নোড
চার্ট নোড
চার্ট নোড

এই নোড পেলোড মান অনুযায়ী ড্যাশবোর্ডে বর্তমান চার্ট প্লট করে।

এই নোড শুধুমাত্র প্লেলোড মান অনুযায়ী চার্ট প্লট করতে পারে।

এই কারণে, একটি ফাংশন নোড msg.payload মান নির্ধারণ করতে ব্যবহার করা হয় যা প্রদর্শন করা প্রয়োজন।

msg.payload = msg. TotalCurrent;

ধাপ 12: গেজ নোড এবং লিঙ্ক নোড

গেজ নোড এবং লিঙ্ক নোড
গেজ নোড এবং লিঙ্ক নোড
গেজ নোড এবং লিঙ্ক নোড
গেজ নোড এবং লিঙ্ক নোড

গেজ নোড

এই নোডটি ড্যাশবোর্ডে একটি গেজ উইজেট যুক্ত করে।

এই নির্দেশে, প্রতিটি গেজ এমএসজি অবজেক্টের একটি সম্পত্তি ভোল্টেজ [ভি], ক্যুরেন্ট [এ], ফ্রিকোয়েন্সি [এইচজেড] এবং সামগ্রিক ট্রু পাওয়ার ফ্যাক্টর (টিপিএফ) দেখে।

লিঙ্ক নোড

লিঙ্ক ইন এবং লিঙ্ক আউট নোড একটি টানেলের মত কাজ করে। Msg.payload নোডে লিংকে আসে এবং লিঙ্ক আউট নোডের বাইরে চলে যায়।

আমি এটি প্রবাহকে কিছুটা পরিষ্কার এবং পড়তে সহজ করার জন্য ব্যবহার করেছি।

ধাপ 13: আমার নির্দেশনা পড়ার জন্য আপনাকে ধন্যবাদ

আমি আশা করি আপনি আমার নির্দেশযোগ্য উপভোগ করেছেন এবং আশা করি নতুন কিছু শিখেছেন।

এই নির্দেশযোগ্যটি কেবল আমার তৈরি করা বিভিন্ন গাইডের সংক্ষিপ্ত সংস্করণ।

মূল গাইডটি দীর্ঘ এবং আরও বিস্তারিত ভিত্তিক এবং সাধারণত আরও উন্নত কাঠামোগত। যদি আপনি কিছু বুঝতে না পারেন বা মনে করেন যে আমি মিস করেছি বা যথেষ্ট কিছু ব্যাখ্যা করি নি, তাহলে আপনি অবশ্যই সেখানে এটি খুঁজে পেতে পারেন।

আমি কথা দিচ্ছি আপনি হতাশ হবেন না

মূল:

এছাড়াও নোড-রেডের বিভিন্ন ব্যবহার সম্পর্কে অনুরূপ গাইড রয়েছে, তাই যদি আপনি আগ্রহী হন তবে অন্বেষণ করতে নির্দ্বিধায়:

নোড-রেডে REST URL API এর সাথে কাজ করা

www.netio-products.com/en/application-notes/an29-node-red-example-of-url-api-communication-with-netio-4x

নোড-রেডে REST XML এর সাথে কাজ করা

www.netio-products.com/en/application-notes/an31-node-red-example-of-rest-xml-communication-with-netio-4x

নোড-রেডে টিসিপি/মোডবাসের সাথে কাজ করা

খুব শীঘ্রই আসছে:)

প্রস্তাবিত: