সুচিপত্র:

পথ ম্যাপার: 6 টি ধাপ
পথ ম্যাপার: 6 টি ধাপ

ভিডিও: পথ ম্যাপার: 6 টি ধাপ

ভিডিও: পথ ম্যাপার: 6 টি ধাপ
ভিডিও: আমদানিতে এক্সেল ডেটা ফিল্টার করার এই সহজ পদ্ধতিটি শিখুন [Import Manager Pt. ৬] 2024, নভেম্বর
Anonim
পথ ম্যাপার
পথ ম্যাপার
পথ ম্যাপার
পথ ম্যাপার
পথ ম্যাপার
পথ ম্যাপার

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

ধাপ 1: উপকরণ অর্জন

উপকরণ অর্জন
উপকরণ অর্জন

এই প্রকল্পের জন্য, আপনার নিম্নলিখিতগুলির প্রয়োজন হবে:

  • NEO-6M GPS মডিউল
  • আরডুইনো উনো
  • পুরুষ/পুরুষ জাম্পার তার (আপনার 4 টি তারের প্রয়োজন হবে)
  • ইউএসবি 2.0 কেবল টাইপ এ থেকে বি
  • এই প্রোগ্রামগুলির সাথে কম্পিউটার: টেবিলু পাবলিক, Arduino IDE (TinyGPS ++ সহ), এবং প্রসেসিং

পদক্ষেপ 2: ডিভাইসগুলি সেট আপ করা

ডিভাইস সেট আপ করা হচ্ছে
ডিভাইস সেট আপ করা হচ্ছে
ডিভাইস সেট আপ করা হচ্ছে
ডিভাইস সেট আপ করা হচ্ছে

আমাদের প্রথমে Arduino UNO এর সাথে GPS মডিউল সেটআপ করতে হবে যাতে Arduino আমাদের ডেটা দেখানোর জন্য একটি ইন্টারফেস দিতে পারে। NEO-6M এর সাথে সংযুক্ত চারটি তারের প্রতিটি নির্দিষ্ট পোর্টের সাথে মিলে যায়। যদি আপনার NEO-6M তারের সাথে না আসে, তাহলে আপনাকে এটি সরাসরি জাম্পার তারের সাথে সংযুক্ত করতে হবে। উপরের ডায়াগ্রামে, পাওয়ার পাওয়ার (VCC), ব্ল্যাক টু গ্রাউন্ড (GND), ডেটা ট্রান্সমিট করার জন্য হলুদ এবং ডেটা পাওয়ার জন্য সাদা (RxD) আমরা এই তারগুলিকে পুরুষ/পুরুষ জাম্পার তারের সাথে সংযুক্ত করি যাতে আমরা এগুলিকে আরডুইনোতে সংযুক্ত করতে পারি। উপরের চিত্রটি অনুসরণ করে, আমরা আরডুইনোতে GND ডিজিটাল পিনের সাথে স্থল তারের সংযোগ, TxD তারের 4, RxD তারের ~ 3, এবং VCC তারের 5V এর সাথে ভোল্টেজের সাথে সংযুক্ত করি। ভবিষ্যতের ধাপে, আমাদের সফটওয়্যার সিরিয়ালে সঠিক সংখ্যার সাথে TxD এবং RxD সংজ্ঞায়িত করতে হবে।

একবার দুটি ডিভাইস একে অপরের সাথে যুক্ত হয়ে গেলে, আমাদের একটি পাওয়ার উত্স সরবরাহ করতে হবে। আপনার ল্যাপটপে ইউএসবি 2.0 তারের সংযোগ করুন এবং NEO-6M এর আলো জ্বলে উঠুক।

ধাপ 3: ডেটা বের করতে Arduino কোডিং

ডেটা বের করতে Arduino কোডিং
ডেটা বের করতে Arduino কোডিং

এখন আমাদের কাছে উপগ্রহ থেকে জিপিএস ডেটা সংগ্রহ করার জন্য ডিভাইসগুলি সেট আপ করা হয়েছে, আমরা আমাদের প্রয়োজনীয় জিপিএস ডেটা বিশ্লেষণ করতে কোড লিখব। ধরে নিলাম আপনি একটি সিগন্যাল তুলেছেন (আমার জিপিএস মডিউল নীল ঝাপসা হবে), NEO-6M ডিফল্টরূপে NMEA বার্তা আকারে সিরিয়াল মনিটরে কাঁচা তথ্য প্রিন্ট করে, যা $ GP এর মত দেখতে অনেকগুলি অক্ষর এবং একটি সিরিজ সংখ্যার। উপরের ছবিটি আপনার সিরিয়াল মনিটরে কী দেখানো উচিত তার একটি সাধারণ ধারণা দেয় একবার মৌলিক আরডুইনো কোড ুকিয়ে দিলে।

আমি যে কোডটি সংযুক্ত করেছি তা ব্যাখ্যা করতে (অথবা যদি আপনি নিজে এটি কোড করার চেষ্টা করতে চান), আপনাকে প্রথমে SoftwareSerial এবং TinyGPS ++ লাইব্রেরি উভয়ই অন্তর্ভুক্ত করতে হবে (পরেরটির জন্য, স্কেচ> অন্তর্ভুক্ত> ZIP লাইব্রেরি যোগ করুন)। SoftwareSerial আমাদের একটি সিরিয়াল সংযোগ করার অনুমতি দেয়; TinyGPS ++ আমাদের পাঠ্যযোগ্য আকারে লক্ষ্যবস্তু তথ্য মুদ্রণ করার একটি সহজ হাতিয়ার দেয়। নিশ্চিত করুন যে আপনি সফ্টওয়্যার সিরিয়াল অবজেক্টটি আরডুইনোতে সংশ্লিষ্ট পিনগুলিতে শুরু করেছেন। সেটআপ ফাংশনে, আমরা বড রেট হিসাবে 9600 ব্যবহার করি।

এই নির্দেশযোগ্য উদ্দেশ্যে, আমরা শুধুমাত্র লুপ ফাংশনে সাত ধরনের তথ্য মুদ্রণ করব: অক্ষাংশ (ডিগ্রী), দ্রাঘিমাংশ (ডিগ্রী), গতি (কিমি), কোর্স (ডিগ্রী), উচ্চতা (কিমি), উপগ্রহের সংখ্যা ব্যবহার করুন, এবং hdop। আপনি Arduiniana লাইব্রেরিতে এই তথ্য মুদ্রণ করার জন্য সিনট্যাক্স অনুসন্ধান করতে পারেন। সাধারণ ফর্ম হল Serial.print ()। উদাহরণস্বরূপ দ্রাঘিমাংশ মুদ্রণ করার জন্য, আমরা Serial.print (gps.location.lng (), 6) টাইপ করব। 6 প্রতিনিধিত্ব করে যে আমরা দশমিক বিন্দুর ডানদিকে কতগুলি সংখ্যা চাই।

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

ধাপ 4: শোনার জন্য প্রসেসিং ব্যবহার করা

শোনার জন্য প্রসেসিং ব্যবহার করা
শোনার জন্য প্রসেসিং ব্যবহার করা

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

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

সেটআপ ফাংশনের আগে, নিশ্চিত করুন যে আপনার পোর্টের জন্য ভেরিয়েবল আছে, ফলস্বরূপ টেবিল, আমরা যে সারিতে কাজ করব এবং ফাইলের নাম। তারপরে সেটআপ ফাংশনে, আপনার রান উইন্ডোর আকার সেট করার জন্য প্যারামিটার রয়েছে কিন্তু সেই সংখ্যাগুলি আমাদের কার্যকারিতা প্রভাবিত করে না (উদাহরণস্বরূপ, সেগুলিকে (500, 500) সেট করুন)। যখন আপনি পোর্টটি আরম্ভ করছেন, স্ট্রিং আকারে পোর্টের নাম এবং 9600 এর একটি বড রেট ব্যবহার করুন। পরিশেষে, টেবিলটি আরম্ভ করার জন্য নয়টি কলাম (সাতটি জিপিএস বিভাগ, সময় এবং তারিখের জন্য) তৈরি করুন।

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

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

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

ধাপ 5: টেবিলু পাবলিকের ডেটা প্রদর্শন

টেবিলু পাবলিকের ডেটা প্রদর্শন করা
টেবিলু পাবলিকের ডেটা প্রদর্শন করা
টেবিলু পাবলিকের ডেটা প্রদর্শন করা
টেবিলু পাবলিকের ডেটা প্রদর্শন করা
টেবিলু পাবলিকের ডেটা প্রদর্শন করা
টেবিলু পাবলিকের ডেটা প্রদর্শন করা

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

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

ত্রুটির জন্য আপনার ডেটা পরিষ্কার করতে (যা টেবিল খোলার আগেও করা যেতে পারে), আপনি কিছু লোকেশন সার্কেল তাদের উপর ক্লিক করে এবং অপশন নির্বাচন করে বাদ দিতে পারেন। আমার জিপিএস মডিউল 100% সঠিক নয়, কারণ আমার পথের কিছু অংশ পাওয়া যায়নি, কিন্তু সাধারণ পথ রেকর্ড করা হয়েছে।

ধাপ 6: ভিজ পরিমার্জন

ভিজ পরিমার্জন
ভিজ পরিমার্জন

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

এখন যেহেতু আপনি ডেটা সংগ্রহ এবং ডেটা ভিজ্যুয়ালাইজেশনে আপনার যা আছে তা প্রদর্শনের পুরো প্রক্রিয়াটি অনুভব করেছেন, আপনি এটি অন্যান্য প্রকল্পে প্রয়োগ করতে পারেন!

পিংডি হুয়াং দ্বারা, গ্রীষ্ম 2018

প্রস্তাবিত: