সুচিপত্র:

EAL - শিল্প 4.0 Rc গাড়িতে GPS ডেটা সংগ্রহ: 4 টি ধাপ
EAL - শিল্প 4.0 Rc গাড়িতে GPS ডেটা সংগ্রহ: 4 টি ধাপ

ভিডিও: EAL - শিল্প 4.0 Rc গাড়িতে GPS ডেটা সংগ্রহ: 4 টি ধাপ

ভিডিও: EAL - শিল্প 4.0 Rc গাড়িতে GPS ডেটা সংগ্রহ: 4 টি ধাপ
ভিডিও: Бензиновые Багги - ХЛАМ! Будущее за Электро⚡️Согласны? 2024, জুন
Anonim
EAL - শিল্প 4.0 Rc গাড়িতে জিপিএস ডেটা সংগ্রহ
EAL - শিল্প 4.0 Rc গাড়িতে জিপিএস ডেটা সংগ্রহ
EAL - শিল্প 4.0 Rc গাড়িতে জিপিএস ডেটা সংগ্রহ
EAL - শিল্প 4.0 Rc গাড়িতে জিপিএস ডেটা সংগ্রহ

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

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

ইউটিলিটি তালিকা:

  • গিথুব
  • রাস্পবেরি পিআই/রাস্পবিয়ান

    পাইথন

  • Node.js

    • Express.js
    • Sequelize.js
    • মাইএসকিউএল
  • এইচটিএমএল, সিএসএস, জেএস

    বুটস্ট্র্যাপ

ধাপ 1: ডাটাবেস সেটআপ

ডাটাবেস সেটআপ
ডাটাবেস সেটআপ

এই সেগমেন্টে আমরা কথা বলব কিভাবে আমরা আমাদের ডাটাবেস সিস্টেম তৈরি করি যেখান থেকে আমাদের জিপিএস ডেটা টানা হয়। ডাটাবেসটি উপরের ছবি অনুসারে মাইএসকিউএল -এ তৈরি করা হয়েছে, যেখানে আমাদের দুটি টেবিল রয়েছে - "ব্যবহারকারী" এবং "জিপিএস এন্ট্রিজ"। ব্যবহারকারীদের মধ্যে আমাদের প্রাথমিক কী হিসাবে "আইডি" আছে। এটি একটি অনন্য শনাক্তকারী হিসাবে ব্যবহৃত হয়। "নাম" হল সেই ব্যবহারকারীর নাম যা বর্তমানে লগ ইন করা আছে। "Apikey" হল ব্যবহারকারীকে API ব্যবহার করার জন্য দেওয়া অনন্য কী। "সক্রিয়" হল ব্যবহারকারী সক্রিয় কিনা তা পরীক্ষা করা, আমরা ব্যবহারকারীকে নিষ্ক্রিয় করতে পারি, তাই সে ডাটাবেসে প্রবেশ করতে পারে না। "CreatedAt" এবং "UpdatedAt" আমরা ডাটাবেস তৈরি করতে ব্যবহৃত প্রক্রিয়া দ্বারা তৈরি করা হয়।

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

ধাপ 2: API

এপিআই
এপিআই

এই সেগমেন্টে আমরা এপিআই সম্পর্কে কথা বলব যা ডাটাবেস নিয়ন্ত্রণ করে এবং এতে ডেটা পেস্ট করে। ওয়েব API Node.js দিয়ে তৈরি করা হয়েছে, যা Express.js এবং Sequalize.js ব্যবহার করে।

Node.js জাভাস্ক্রিপ্ট সার্ভারসাইড চালানোর জন্য ব্যবহৃত হয়, যেখানে এটি সাধারণত একটি ওয়েবপেজে ক্লায়েন্ট-সাইড স্ক্রিপ্টিংয়ের জন্য ব্যবহৃত হয়।

Express.js হল ফ্রেমওয়ার্ক যা আমরা API তৈরি করতে ব্যবহার করেছি।

Sequalize.js জিপিএস ডেটা এবং ডাটাবেসের বৈশিষ্ট্যগুলির মধ্যে লিঙ্ক তৈরি করতে ব্যবহৃত হয়। এটি করার জন্য ORM (অবজেক্ট-রিলেশনাল ম্যাপিং) নামে একটি পদ্ধতি ব্যবহার করে। এখানেই "CreatedAt" এবং "UpdatedAt" তৈরি করা হয়েছে (ধাপ 1 এ দেখানো হয়েছে)।

Api.joerha.dk এ গিয়ে API ব্যবহার করা যেতে পারে। তারপর url এ /gps যোগ করুন, যা JSON ফরম্যাটে ডাটাবেসের সমস্ত ডেটা দেখাবে। আপনি কতগুলি এন্ট্রি চান তা নিয়ন্ত্রণ করতে, আপনি url এ /2 (ব্যবহারকারী) এবং /x (এন্ট্রির সংখ্যা) যোগ করতে পারেন। Fx api.joerha.dk/gps/2/10 ১০ টি সর্বশেষ এন্ট্রি দেখাবে। উপরের ছবিতে ফরম্যাট করা ডেটার একটি আউটটেক দেখানো হয়েছে।

কোড এখানে পাওয়া যাবে: Github

ধাপ 3: জিপিএস/পাইথন অ্যাপ্লিকেশন

জিপিএস/পাইথন অ্যাপ্লিকেশন
জিপিএস/পাইথন অ্যাপ্লিকেশন
জিপিএস/পাইথন অ্যাপ্লিকেশন
জিপিএস/পাইথন অ্যাপ্লিকেশন
জিপিএস/পাইথন অ্যাপ্লিকেশন
জিপিএস/পাইথন অ্যাপ্লিকেশন

এই সেগমেন্টে আমরা স্ক্রিপ্ট সম্পর্কে কথা বলব যা রাস্পবেরিতে চলে এবং জিপিএস ডেটা সংগ্রহ করে এবং এটি API- এ পাঠায়।

জিপিএস থেকে ডেটা সংগ্রহ করার জন্য আমরা জিপিএসডি (ছবি 1) নামে একটি ডেমন ব্যবহার করছি। এখানেই আমরা ডেটাবেসে পোস্ট করা ডেটা এবং আমাদের GPSEntries টেবিলের ভিত্তি সংগ্রহ করি। যে স্ক্রিপ্টটি জিপিএসডি থেকে ডেটা টেনে নিয়ে এপিআইতে পোস্ট করে, তা পাইথনে লেখা হয়।

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

তারপরে আমরা কিছুক্ষণের লুপ তৈরি করি যা ক্রমাগত জিপিএস ডেটা ধারণকারী এপিআইতে তার প্লেলোড পোস্ট করে। ডেটা JSON হিসাবে ফরম্যাট করা হয়। জিপিএসডিতে দেখা বৈশিষ্ট্যগুলি নিয়ে প্লেলোড গঠিত।. Fix ট্যাগ বর্তমান ডেটার স্ন্যাপশটের মতো কাজ করে এবং এটি API- এ পাঠায়। এটি request.post দ্বারা সম্পন্ন হয় এবং url এবং API কী ব্যবহার করে। প্রিন্ট (r.status_code) ব্যবহারকারীর কাছে আউটপুট, তথ্য সঠিকভাবে পাওয়া যায় কিনা তা জানতে। সময় ঘুম (0.5) হল কতবার ডেটা পোস্ট করা হয় (ছবি 3)

কোড এখানে পাওয়া যাবে: Github

ধাপ 4: প্রকল্পের জন্য ওয়েবপেজ

প্রকল্পের জন্য ওয়েবপেজ
প্রকল্পের জন্য ওয়েবপেজ

এই সেগমেন্টে আমরা কথা বলব কিভাবে আমরা আমাদের ওয়েবপেজ তৈরি করেছি যা ডেটা দেখায়, এবং প্রকল্প সম্পর্কে অন্যান্য তথ্য। সাইটটি এইচটিএমএল, সিএসএস এবং জেএস দিয়ে তৈরি। শুরু করার জন্য আমরা বুটস্ট্র্যাপ 4.0 ব্যবহার করেছি, যা HTML, css এবং JS এর জন্য একটি লাইব্রেরি। এটি অনেকগুলি ফাংশন নিয়ে আসে যা আপনাকে আপনার ওয়েবসাইট তৈরি করতে সহায়তা করে। আমরা এটিকে উপরে ন্যাভারবারের জন্য ব্যবহার করেছি, সেইসাথে সাইটটি যে সারি এবং কলাম সেটআপ দিয়ে তৈরি করা হয়েছে। তারপরে আমাদের আরও একটি ছোট CSS স্ক্রিপ্ট রয়েছে যা ব্যাকগ্রাউন্ড এবং হেডারের রঙ নিয়ন্ত্রণ করে। এর বাইরে আমরা লাইটবক্স নামে একটি লাইব্রেরি ব্যবহার করেছি, যাতে আপনি ছবিতে ক্লিক করতে পারেন এবং সেগুলি পপ-আপ হয়। সাইটের বিষয়বস্তুতে একটি গুগল ম্যাপ, ডেটার একটি টেবিল, অ্যাকশনে গাড়ির একটি ভিডিও এবং এই পৃষ্ঠার একটি লিঙ্ক রয়েছে।

গুগল ম্যাপ সবচেয়ে আকর্ষণীয়। মানচিত্রটি একটি গুগল এপিআই এর মাধ্যমে লোড করা হয়, যেখানে এটি কাজ করার জন্য একটি অনন্য এপিআই কী োকানো হয়। ডেটা 500ms এর ব্যবধানে মানচিত্রে প্রবাহিত হয়। আমরা একটি ফাংশন তৈরি করেছি যেখানে ডাটাবেসের শেষ 100 টি ডাটা পয়েন্ট মার্কার হিসাবে দেখানো হয়েছে, যাতে আপনি গাড়িটি কোথায় ছিল তা অনুসরণ করতে পারেন। এটি AJAX কল নামে পরিচিত।

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

কোড এখানে পাওয়া যাবে: Github

প্রস্তাবিত: