সুচিপত্র:

UCL-IIOT-ডাটাবেস এবং নোড-রেড সহ অ্যালার্ম সিস্টেম: 7 টি ধাপ
UCL-IIOT-ডাটাবেস এবং নোড-রেড সহ অ্যালার্ম সিস্টেম: 7 টি ধাপ

ভিডিও: UCL-IIOT-ডাটাবেস এবং নোড-রেড সহ অ্যালার্ম সিস্টেম: 7 টি ধাপ

ভিডিও: UCL-IIOT-ডাটাবেস এবং নোড-রেড সহ অ্যালার্ম সিস্টেম: 7 টি ধাপ
ভিডিও: Трактористы (комедия, реж. Иван Пырьев, 1939 г.) 2024, নভেম্বর
Anonim
UCL-IIOT-ডাটাবেস এবং নোড-রেড সহ এলার্ম সিস্টেম
UCL-IIOT-ডাটাবেস এবং নোড-রেড সহ এলার্ম সিস্টেম
UCL-IIOT-ডাটাবেস এবং নোড-রেড সহ এলার্ম সিস্টেম
UCL-IIOT-ডাটাবেস এবং নোড-রেড সহ এলার্ম সিস্টেম

এই বিল্ডের উদ্দেশ্য হল আরডুইনোকে নোড-রেড এবং একটি ডাটাবেসের সাথে সংযুক্ত করা শেখানো, যাতে আপনি ডেটা লগ করতে পারেন এবং পরবর্তী ব্যবহারের জন্য এটি সংগ্রহ করতে পারেন।

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

এটির সঠিক পরিমাণ ডেটা থাকা আবশ্যক নয় এবং প্রোগ্রামটি কিছু হতে পারে।

গুরুত্বপূর্ণ অংশটি হল এই স্ক্রিনশটে দেখা যায় যে ডেটা কমা দিয়ে আলাদা করা হয়।

আউটপুট উদাহরণস্বরূপ দেখতে পারে: "324, 0, 0, 1, 1"

(সমাপ্ত প্রোগ্রামিং এবং arduino তৈরির নির্দেশাবলী এই টিউটোরিয়ালের নীচে সংযুক্ত)

ধাপ 1: নোড-রেড দিয়ে শুরু করা

নোড-রেড দিয়ে শুরু করা
নোড-রেড দিয়ে শুরু করা

এই টিউটোরিয়ালের জন্য আমরা ধরে নিচ্ছি আপনি ইতিমধ্যে নোড-রেড ইন্সটল করেছেন, কিন্তু কিছু অতিরিক্ত প্যালেট আছে যা এই প্রকল্পের জন্য ব্যবহার করা হয় যা আমাদের কাজ করার জন্য প্রয়োজন

"প্যালেট পরিচালনা করুন" বোতামটি খুঁজুন এবং নিম্নলিখিত প্যালেটগুলি ইনস্টল করুন।

  • নোড-লাল-ড্যাশবোর্ড
  • নোড-লাল-নোড-মাইএসকিউএল
  • নোড-লাল-নোড-আরডুইনো
  • নোড-লাল-নোড-সিরিয়ালপোর্ট

এটি নোড-লাল বোতাম মেনুর পাশে কিছু নতুন প্যালেট দেখানো উচিত।

ধাপ 2: নোড-রেডে বিভাজিত ডেটা

নোড-রেডে বিভাজিত ডেটা
নোড-রেডে বিভাজিত ডেটা

এখন যে নোড-রেড যাওয়ার জন্য প্রস্তুত আমাদের ডেটাকে আলাদা টুকরো করে বিভক্ত করে শুরু করতে হবে।

এই কারণে আমরা তাদের Arduino কোডের ভিতরে কমা দিয়ে আলাদা করতে নিশ্চিত করেছি।

প্রথমে বাম পাশের প্যানেলে পাওয়া Arduino ইনপুট নোডটি রেখে শুরু করা যাক।

আপনাকে নিশ্চিত করতে হবে যে এটিতে সঠিক সিরিয়াল আছে (খনি COM4 ব্যবহার করে) পোর্ট এবং বাউড রেট (আমার প্রোগ্রামে আমি 9600 বড রেট ব্যবহার করি)

যদি সঠিকভাবে সেট আপ করা হয়, তাহলে এটি বলা উচিত যে এটি সংযুক্ত।

এরপরে আমরা একটি জাভাস্ক্রিপ্ট ফাংশন ব্লক তৈরি করি এবং Arduino ইনপুট নোডের পরে এটি সংযুক্ত করি এই ব্লকটি আমাদের জাভাস্ক্রিপ্টে প্রোগ্রাম করার অনুমতি দেয় এবং এখানে আমরা একটি কোড লিখি যা প্রতিটি কমাতে আমাদের ডেটা ভাগ করতে পারে।

এই ফাংশন ব্লকে আমি নিম্নলিখিত কোড ব্যবহার করে আমার 5 টি ডেটা বিভক্ত করেছি:

var m1 = {topic: "light1", payload: msg.payload.split (",") [0]}; var m2 = {topic: "light2", payload: msg.payload.split (",") [1]}; var m3 = {topic: "light3", payload: msg.payload.split (",") [2]}; var m4 = {topic: "millis", payload: msg.payload.split (",") [3]}; var m5 = {topic: "onoff", payload: msg.payload.split (",") [4]}; প্রত্যাবর্তন [m1, m2, m3, m4, m5];

(প্রয়োজনে কোড পরিবর্তন করুন)

নিশ্চিত করুন যে নোডটি 5 আউটপুট (বা আপনার সমতুল্য) এ সেট করা আছে

স্ক্রিনশটে দেখা গেছে, এখন আমাদের 5 টি আউটপুট আছে যা আমরা প্রত্যেকে একটি ডিবাগ নোড এবং একটি টেক্সট ড্যাশবোর্ড নোডের সাথে সংযুক্ত করি। এটি যখন UI তে দেখা দরকার তখন এটি কার্যকর হবে।

ধাপ 3: Wampserver এর সাথে ডাটাবেস

Wampserver সঙ্গে ডাটাবেস
Wampserver সঙ্গে ডাটাবেস

আমাদের ডাটাবেসের কাজ করার জন্য আপনাকে Wampserver ইনস্টল করতে হবে। এটি ইনস্টল করার পরে এবং সবুজ আইকন হিসেবে দেখানোর পর (আপনি সমস্ত পরিষেবা শুরু করার পরে), আপনাকে "phpMyAdmin" খুলতে হবে যা আপনাকে একটি লগইন স্ক্রিনে আনতে হবে। পূর্বে এটি পরিবর্তন করা হয়েছে, কেবল ব্যবহারকারীর নাম এবং লগইন ইনপুট "রুট"।

বাম বারে সরঞ্জামগুলির নীচে phpmyadmin বোতাম টিপুন এবং এটি ডাটাবেস মেনু খুলতে হবে, যা উপরের ছবিতে দেখানো কিছু দেখায়।

একটি নতুন ডাটাবেস তৈরি করুন এবং এটি আপনার প্রকল্পের সাথে সম্পর্কিত কিছু নাম দিন, আমার নাম "অ্যালার্ম সিস্টেম" (এই নামগুলি কেস সংবেদনশীল হবে)

সেই ডাটাবেসের অধীনে, একটি নতুন টেবিল তৈরি করুন এবং তার নাম দিন, আমার নাম "অ্যালার্মডাটা"

আপনি "latin1_swedish_ci" ব্যবহার করতে চান কিনা তা জিজ্ঞাসা করবে এবং আমরা এটিকে সেভাবেই রাখি।

এখন আপনি 6 টি টেবিল তৈরি করুন (আমাদের কাছে থাকা ডেটার চেয়ে 1 বেশি)

প্রথম টেবিলে ডেটাটাইপ "লংটেক্সট" ব্যবহার করতে হবে

এবং বাকি ডেটাসেট "মিডিয়ামটেক্সট" ব্যবহার করে

তাদের নাম নিশ্চিত করুন। (প্রথম ডেটাসেটের নাম "সময়" হওয়া উচিত

ধাপ 4: ডাটাবেস

তথ্যশালা
তথ্যশালা

Wampserver ডেটাসেট এরকম কিছু দেখতে হবে।

(কিন্তু প্রকৃত ডেটা ছাড়া, যেহেতু আমরা এখনও তা পাইনি)

ধাপ 5: Wampserver থেকে নোড-লাল

Wampserver থেকে নোড-লাল
Wampserver থেকে নোড-লাল

এখন আমরা আমাদের Arduino থেকে আমাদের Wampserver- এ যাওয়ার জন্য যে ডেটা আউটপুট করছি তা চাই।

আরেকটি জাভাস্ক্রিপ্ট ফাংশন ব্লক তৈরি করে শুরু করুন এবং এটি আমাদের আরডুইনো ইনপুট নোডের সাথে সংযুক্ত করুন।

এই স্ক্রিপ্ট ব্লকে, আমরা আবার আমাদের ডেটা বিভক্ত করেছি, কিন্তু আমরা এটি আমাদের ডাটাবেসেও সন্নিবেশ করি।

var data = msg.payload.split (","); var Green1 = data [0]; var Green2 = data [1]; var এলার্ম = ডেটা [2]; var মিলিস = ডেটা [3]; var IsActive = ডেটা [4]; var out = "INSERT IN alarmsystem.alarmdata (Time, Green1, Green2, Alarm, Millis, IsActive) VALUES ('"+new Date ()। toISOString ()। slice (0, 19).replace (' T ',' ')+"', '"+Green1+"', '"+Green2+"', '"+অ্যালার্ম+"', '"+মিলিস+"'," "+IsActive+" ') "; msg.topic = out; ফেরত বার্তা;

লক্ষ্য করুন আমি "INSERT INTO ALARAMSYSTEM. ALARMDATA" ইনপুট করি, এই নামটিই আমরা আমাদের ডাটাবেস এবং টেবিল দিয়েছি, নিশ্চিত করুন যে আপনি আপনার ডাটাবেস যে সঠিক নামটি লিখেছেন তা লিখুন।

এখন জাভাস্ক্রিপ্ট ব্লকটিকে একটি ডিবাগ নোডের সাথে সংযুক্ত করুন এবং বাম পাশে স্টোরেজ প্যালেটের নীচে পাওয়া একটি "মাইএসকিউএল" নোড।

মাইএসকিউএল ব্লকের অধীনে আপনি এটিকে আপনার ডাটাবেসের "অ্যালার্মসিস্টেম" এর মতো নাম দিন

ব্যবহারকারীকে "রুট" এ পরিবর্তন করুন (যে নামটি আমরা আমাদের সার্ভারে লগ ইন করতে ব্যবহার করেছি)

হোস্ট, পোর্ট এবং ডাটাবেস ইতিমধ্যে পূরণ করা উচিত:

হোস্ট: 127.0.0.1

পোর্ট: 3306

ডাটাবেস: অ্যালার্ম সিস্টেম

যদি সবকিছু সঠিকভাবে সম্পন্ন হয়, তাহলে আপনি আপনার পরিবর্তনগুলি স্থাপন করার পরে এটি সংযুক্ত করা উচিত।

আপনি এটি দেখতে সক্ষম হবেন যে ডাটাবেস এখন সরাসরি Arduino থেকে আপনার ডেটা লগ করে।

ধাপ 6: Wampserver থেকে নোড-রেড পর্যন্ত ডেটা ব্যবহার করা

Wampserver থেকে নোড-রেড পর্যন্ত ডেটা ব্যবহার করা
Wampserver থেকে নোড-রেড পর্যন্ত ডেটা ব্যবহার করা
Wampserver থেকে নোড-রেড পর্যন্ত ডেটা ব্যবহার করা
Wampserver থেকে নোড-রেড পর্যন্ত ডেটা ব্যবহার করা

চূড়ান্ত প্রসারের জন্য আমরা দেখতে চাই যে আমরা আমাদের সংরক্ষিত ডেটাগুলি নিতে পারি এবং এটি আমাদের নোড-রেডে ফেরত দিতে পারি এবং আশা করি এটি প্রদর্শন করতে পারি।

একটি "ইনজেকশন" নোড স্থাপন করে শুরু করুন

এই নোডের বিষয়গুলির অধীনে আমরা কোডটি রাখি: SELECT*FROM alarmsystem.alarmdata

এটি আমাদের ডাটাবেসটি খুঁজে পেতে সক্ষম হবে যখন আমরা এটি টিপব।

ইনজেকশন নোডটিকে একটি নতুন "মাইএসকিউএল" নোডের সাথে সংযুক্ত করুন যা ঠিক আগের ধাপে আমরা করেছি।

মাইএসকিউএল নোডটিকে একটি ডিবাগ নোড এবং ড্যাশবোর্ডের নীচে পাওয়া একটি টেমপ্লেট নোডের সাথে সংযুক্ত করুন।

টেমপ্লেট নোড হবে আমাদের টেবিল যা আমরা ডেটাবেস থেকে ডেটা তৈরির জন্য আপডেট করতে পারি।

উপরের স্ক্রিনশটে দেখানো কোডটি ইনপুট করুন (প্রয়োজন অনুসারে পরিবর্তন করুন) এবং এটি এখন আমাদের নোড-রেড UI তে একটি ডেটা টেবিল দেখাবে।

আমরা UI থেকে টেবিল আপডেট করতে একটি ড্যাশবোর্ড বাটন যুক্ত করতে পারি।

একটি বোতাম নোড তৈরি করে শুরু করুন।

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

ফাংশন ব্লকে আমরা নিম্নলিখিত কোডটি সন্নিবেশ করি।

msg.topic = "Green1 DESC LIMIT 20 দ্বারা অ্যালার্মডাটা অর্ডার থেকে নির্বাচন করুন";

(Green1 হচ্ছে টেবিলে প্রথম ডেটা ভেরিয়েবল)

এই ফাংশন ব্লকটি আমাদের মাইএসকিউএল নোডের ইনপুটের সাথে সংযুক্ত করা দরকার যা আমরা এই ধাপে পূর্বে তৈরি করেছি।

ধাপ 7: চূড়ান্তকরণ

চূড়ান্ত করা
চূড়ান্ত করা

এখন আমাদের UI- এ আমাদের ডেটার একটি লাইভ আপডেট এবং আমাদের সার্ভার থেকে ডেটা সহ একটি টেবিল অন্তর্ভুক্ত করা উচিত।

এর মানে হল আমরা Arduino, একটি UI ভিত্তিক প্রোগ্রাম এবং একটি ডাটাবেসের মধ্যে একটি সংযোগ তৈরি করেছি।

আপনি যদি আমার Arduino এলার্ম সিস্টেম কিভাবে কাজ করতে আগ্রহী হন, আমি একটি নথি যুক্ত করেছি যা ব্যাখ্যা করে কিভাবে এটি প্রোগ্রাম করা এবং সেট আপ করা হয়েছে।

পাশাপাশি নোড-রেড প্রোগ্রামিং এর সম্পূর্ণ রপ্তানি।

প্রস্তাবিত: