সুচিপত্র:

ম্যাপিফায়ার - ম্যাপিং + নোটিফিকেশন সিস্টেম: 9 টি ধাপ
ম্যাপিফায়ার - ম্যাপিং + নোটিফিকেশন সিস্টেম: 9 টি ধাপ

ভিডিও: ম্যাপিফায়ার - ম্যাপিং + নোটিফিকেশন সিস্টেম: 9 টি ধাপ

ভিডিও: ম্যাপিফায়ার - ম্যাপিং + নোটিফিকেশন সিস্টেম: 9 টি ধাপ
ভিডিও: নতুন প্রো ব্যাসিক সেটিং ২০২৩ | Free Fire Basic Setting 2023 Full Details | AR. ASHIK GAMING 2024, জুন
Anonim
ম্যাপিফায়ার - ম্যাপিং + নোটিফিকেশন সিস্টেম
ম্যাপিফায়ার - ম্যাপিং + নোটিফিকেশন সিস্টেম

রাতের গাড়ি চালানো বেশ মজার। কিন্তু প্রায়শই, এটি একটি দুmaস্বপ্ন হয়ে দাঁড়ায়, রাস্তা পার হওয়া পশুর আকারে (বিশেষত সেই বিপথগামী বিড়াল এবং কুকুর, যারা তাদের কাছে গাড়ি চালানোর জন্য অপেক্ষা করে যাতে তারা অতিক্রম করতে পারে !!)। তাই আমি এমন কিছু তৈরির কথা ভাবলাম যা আপনাকে সতর্ক করে যখন আপনি এই দুর্বল অবস্থানের কাছাকাছি যান, যাতে আপনি আরও সাবধানে গাড়ি চালাতে পারেন।

সিস্টেমের দুটি অংশ রয়েছে: ডেটা সংগ্রহ এবং ডেটা পুনরুদ্ধার। প্রথম অংশটি লোকেশন ডেটা নেয়, সেই জায়গাগুলি যেখানে প্রাণী পার হওয়ার সম্ভাবনা বেশি। এই ডেটা অবশ্যই ম্যানুয়ালি যোগ করতে হবে এবং মানচিত্রে আপডেট করতে হবে। পরবর্তী অংশটি আমাদের বর্তমান অবস্থান নেয় এবং তারপরে সংগৃহীত ডেটার সাথে তুলনা করে এবং উপযুক্ত বিজ্ঞপ্তি বা সতর্কতা প্রদান করা হয়।

সরবরাহ

হার্ডওয়্যার ব্যবহৃত

ESP8266 ওয়াইফাই ডেভেলপমেন্ট বোর্ড

Ublox NEO-6M GPS মডিউল

এলইডি

ক্ষণস্থায়ী পুশ বোতাম

সফটওয়্যার ব্যবহার করা হয়েছে

Arduino IDE

যেকোন জাভাস্ক্রিপ্ট এডিটর

ফায়ারবেস (তথ্য সংরক্ষণ এবং পুনরুদ্ধারের জন্য)

ধাপ 1: হার্ডওয়্যার ইউনিট

হার্ডওয়্যার দুটি উপায়ে (মোড) কাজ করতে হয়: 1) ডাটাবেসে অবস্থান সংরক্ষণ করুন: এটি ডেটা সংগ্রহ প্রক্রিয়ার একটি প্রধান অংশ; জিপিএস মডিউল দ্বারা প্রাপ্ত স্থানটি একটি ESP8266 ওয়াইফাই ডেভেলপমেন্ট বোর্ডের মাধ্যমে ফায়ারবেস ডাটাবেসে পাঠানো হয়।

2) নেভিগেশনের সময় বিজ্ঞপ্তি প্রদান করুন: নেভিগেশনের সময়, বর্তমান অবস্থান পুনরুদ্ধার করা হয় এবং ডাটাবেসে পাঠানো হয়। অবস্থানের প্রতিটি আপডেটে, বর্তমান অবস্থান এবং সেই অবস্থানগুলির মধ্যে দূরত্ব (যা তথ্য সংগ্রহের প্রক্রিয়ার সময় সঞ্চিত ছিল) গণনা করা হয় এবং ESP8266 মডিউল দ্বারা পুনরুদ্ধার করা হয় যা ব্যবহারকারীকে সেই সংরক্ষিত স্থানগুলি থেকে কতটা কাছাকাছি রয়েছে সে অনুযায়ী ব্যবহারকারীকে সতর্ক করে।

আমি মোডে পরিবর্তন অবহিত করার জন্য তিনটি LEDs যোগ করেছি, সেইসাথে ডাটাবেসে সফল আপডেট এবং সংরক্ষিত স্থানে ব্যবহারকারীর ঘনিষ্ঠতা অবহিত করার জন্য একটি সতর্কতা বাতি।

পুশ বোতামটি শুধুমাত্র একটি ক্লিকে (স্টোর/ডাটা কালেকশন মোডে) অবস্থান সংরক্ষণ করতে এবং এই মোডগুলির মধ্যে পরিবর্তন করতে ব্যবহৃত হয়।

ক্ষমতাবান

প্রাথমিকভাবে, একটি 3.7V 300mAh লিপো ব্যাটারি ব্যবহার করা হয়েছিল, কিন্তু এটি কিছু সমস্যা তৈরি করেছে। প্রধান সমস্যাটি ছিল ESP8266 রিসেট করা (বর্তমান স্পাইকের কারণে হতে পারে)। এছাড়াও ব্যাটারি খুব বেশি স্থায়ী হয়নি। অবশেষে একটি পাওয়ারব্যাঙ্ক আমার সহায়তায় এল।

ধাপ 2: সার্কিট

সার্কিট
সার্কিট

ধাপ 3: ফায়ারবেস সম্পর্কে

ফায়ারবেস সম্পর্কে
ফায়ারবেস সম্পর্কে
ফায়ারবেস সম্পর্কে
ফায়ারবেস সম্পর্কে
ফায়ারবেস সম্পর্কে
ফায়ারবেস সম্পর্কে
ফায়ারবেস সম্পর্কে
ফায়ারবেস সম্পর্কে

ফায়ারবেস গুগলের মালিকানাধীন একটি মোবাইল এবং ওয়েব অ্যাপ্লিকেশন ডেভেলপমেন্ট প্ল্যাটফর্ম। এর অনেক বৈশিষ্ট্য আছে, কিন্তু এখানে আমি তাদের মধ্যে মাত্র দুটি ব্যবহার করছি, রিয়েলটাইম ডাটাবেস এবং ক্লাউড ফাংশন।

ফায়ারবেসে শুরু করতে, 1. প্রথমে ফায়ারবেস ওয়েবপেজে যান।

2. এখন কনসোলে নেভিগেট করুন এবং একটি নতুন প্রকল্প তৈরি করুন ক্লিক করুন।

3. একটি প্রকল্প তৈরির জন্য আপনাকে অন্যান্য বিবরণ সহ একটি প্রকল্পের নাম প্রদান করতে হবে।

4. প্রজেক্ট তৈরি হওয়ার পর পাশের ফলক থেকে ডাটাবেস অপশনে ক্লিক করে একটি নতুন ডাটাবেস তৈরি করুন।

5. ফাংশনগুলির জন্য একই করুন।

এগুলি একটি প্রকল্প তৈরির সাধারণ পদক্ষেপ, ফায়ারবেসটি ভালভাবে নথিভুক্ত করা হয়েছে এবং নতুনদের জন্য অনেক ইউটিউব ভিডিও সিরিজ রয়েছে, দয়া করে আরও বোঝার জন্য যান।

ধাপ 4: রিয়েলটাইম ডাটাবেস

রিয়েলটাইম ডাটাবেস
রিয়েলটাইম ডাটাবেস
রিয়েলটাইম ডাটাবেস
রিয়েলটাইম ডাটাবেস

আপনি ডাটাবেস তৈরি করার পর, পরবর্তী ধাপ হল ডাটাবেসে ডেটা কিভাবে সংরক্ষণ করা হয় এবং অ্যাক্সেস করা যায় তা দেখা। ডাটাবেসে লেখা/পড়ার জন্য, আপনাকে ডাটাবেসের নিয়ম কনফিগার করতে হবে। ডেভেলপমেন্টের উদ্দেশ্যে, আমরা একটি উন্মুক্ত নিয়ম ব্যবহার করতে পারি যাতে ডাটাবেস রেফারেন্স সহ যে কেউ পড়তে/লিখতে পারে কিন্তু নিয়ম কনফিগার করার সময় সতর্কতা অবলম্বন করতে পারে। ডাটাবেস আপনি '+' চিহ্ন ব্যবহার করে চাইল্ড নোড যোগ করতে পারেন কিন্তু নোডগুলি প্রোগ্রামগতভাবেও তৈরি করা যায়। আমরা 'স্টোর' মোডে ডাটাবেসে আপলোড করা সমস্ত ডেটা (সংগ্রহ করা স্থান সংরক্ষণ) এখানে আলাদা নোড হিসাবে সংরক্ষণ করা হয় যখন 'বিজ্ঞপ্তি' মোডে ডেটা (নেভিগেশনে ডেটা পুনরুদ্ধার করা) প্রতিবার আপডেট হয় (চিত্রটি দেখুন)।

ধাপ 5: ফায়ারবেস ফাংশন সেট আপ করা

ফায়ারবেস ফাংশন সেট আপ করা
ফায়ারবেস ফাংশন সেট আপ করা
ফায়ারবেস ফাংশন সেট আপ করা
ফায়ারবেস ফাংশন সেট আপ করা
ফায়ারবেস ফাংশন সেট আপ করা
ফায়ারবেস ফাংশন সেট আপ করা

সঞ্চিত অবস্থানে বর্তমান অবস্থানের ঘনিষ্ঠতা গণনা করার জন্য আমাদের কিছু দরকার, এবং ব্যাকগ্রাউন্ড ডাটাবেস ট্রিগার করা ফাংশন আমাদের কাজ করবে। ফাংশনগুলি জাভাস্ক্রিপ্টে লেখা হয় এবং ফায়ারবেসে স্থাপন করা প্রয়োজন।

আপনার কম্পিউটারে node.js ইনস্টল করা দরকার।

1) এখন আপনার কমান্ড প্রম্পটে "npm install -g firebase -tools" কমান্ড ব্যবহার করে ফায়ারবেস কমান্ড লাইন ইন্টারফেসটি ডাউনলোড করুন

2) এখন আপনাকে "ফায়ারবেস লগইন" কমান্ড ব্যবহার করে ফায়ারবেসে লগইন করতে হবে (যদি আপনি ইতিমধ্যে লগ ইন না করেন তবে আপনাকে আপনার জিমেইল লগইন পাসওয়ার্ড দিতে হবে)

3) এর পরে আপনার প্রকল্প ডিরেক্টরিতে নেভিগেট করুন এবং "ফায়ারবেস init" কমান্ড দিয়ে ফাংশনটি শুরু করুন। আপনার প্রকল্পের জন্য ফায়ারবেস ফাংশন শুরু করার জন্য আপনাকে 'ফাংশন' বিকল্পটি নির্বাচন করতে হবে।

4) এখন আপনাকে আপনার প্রকল্প ডিরেক্টরিতে 'ফাংশন' ফোল্ডারে যেতে হবে এবং 'index.js' ফাইলটি খুঁজে বের করতে হবে।

5) একটি টেক্সট এডিটর দিয়ে ফাইল এডিট করুন এবং ফাইল এডিট করুন/ফাইলটি mappifier_function.txt দিয়ে প্রতিস্থাপন করুন। (এটি কার্যকরভাবে আমাদের কাজ হবে)

6) অবশেষে কমান্ড প্রম্পটে "ফায়ারবেস স্থাপন" ব্যবহার করে আপনার ফাংশন স্থাপন করুন।

ফাংশনটি আপনার ফায়ারবেস কনসোলের ফাংশন মেনুতে স্থাপন করা হয়েছে কিনা তা আপনি পরীক্ষা করতে পারেন

ধাপ 6: কোড

কোড
কোড
কোড
কোড
কোড
কোড

ESP8266 এর জন্য:

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

ফায়ারবেস ফাংশনের জন্য:

এই ফাংশনটি ডাটাবেসের 'বর্তমান অবস্থান' নোডে একটি লেখার জন্য পরীক্ষা করে এবং ডাটাবেসের অবস্থান এবং বর্তমান অবস্থানের মধ্যে দূরত্ব গণনা করে এবং তারপর সবচেয়ে ছোট দূরত্ব খুঁজে পায় যা ডাটাবেসের 'দূরত্ব' নোডে লেখা হয়।

আপনার প্রোগ্রাম আপলোড করার আগে আপনার ওয়াইফাই শংসাপত্র এবং ফায়ারবেস প্রমাণপত্রাদি যোগ করতে ভুলবেন না। (অনুগ্রহ করে ছবিগুলি দেখুন)। এছাড়াও, যদি আপনি ESP8266 এ নতুন এবং Arduino IDE এ তাদের কোড করতে চান, তাহলে এইগুলিকে উল্লেখ করুন।

ধাপ 7: চ্ছিক পদক্ষেপ (একটি ঘের নির্মাণ)

Stepচ্ছিক পদক্ষেপ (একটি ঘের নির্মাণ)
Stepচ্ছিক পদক্ষেপ (একটি ঘের নির্মাণ)
Stepচ্ছিক পদক্ষেপ (একটি ঘের নির্মাণ)
Stepচ্ছিক পদক্ষেপ (একটি ঘের নির্মাণ)
Stepচ্ছিক পদক্ষেপ (একটি ঘের নির্মাণ)
Stepচ্ছিক পদক্ষেপ (একটি ঘের নির্মাণ)
Stepচ্ছিক পদক্ষেপ (একটি ঘের নির্মাণ)
Stepচ্ছিক পদক্ষেপ (একটি ঘের নির্মাণ)

হার্ডওয়্যার অংশটি কম্প্যাক্ট করার জন্য যাতে এটি মাউন্ট করা যায়, আমি তাদের ভিতরে ফিট করার জন্য একটি ছোট ঘের তৈরি করেছি। এলইডি মাউন্ট করার জন্য এবং ইউএসবি ক্যাবল সংযুক্ত করার জন্য কয়েকটি গর্ত তৈরি করা হয়েছিল। কিন্তু চূড়ান্ত ঘের আমার প্রত্যাশার বাইরে ছিল !! এটি আমার হাতের তালুর ভিতরে পুরোপুরি লাগানো ছিল এবং এটি খুব সহজেই সাইকেল হ্যান্ডেল এবং স্টিয়ারিং হুইলে মাউন্ট করা যায়।

ধাপ 8: কর্মে …

এখানে সতর্কতা এবং বিজ্ঞপ্তি এলইডি সহ উভয় মোড (স্টোর এবং বিজ্ঞপ্তি) প্রদর্শন করা একটি ছোট ভিডিও।

ধাপ 9: আরও এগিয়ে যাওয়া …

আরও এগিয়ে যাচ্ছি …
আরও এগিয়ে যাচ্ছি …

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

আমি ওয়েবপৃষ্ঠা (প্রধানত জাভাস্ক্রিপ্ট) এবং অন্যান্য জিনিস তৈরিতে মোটামুটি নতুন এবং আপনার পরামর্শ এবং দক্ষতা পেতে পছন্দ করব:)

প্রস্তাবিত: