সুচিপত্র:

বাড়িতে তৈরি রিয়েলটাইম জিপিএস ট্র্যাকার (SIM800L, Ublox NEO-6M, Arduino): 8 টি ধাপ
বাড়িতে তৈরি রিয়েলটাইম জিপিএস ট্র্যাকার (SIM800L, Ublox NEO-6M, Arduino): 8 টি ধাপ

ভিডিও: বাড়িতে তৈরি রিয়েলটাইম জিপিএস ট্র্যাকার (SIM800L, Ublox NEO-6M, Arduino): 8 টি ধাপ

ভিডিও: বাড়িতে তৈরি রিয়েলটাইম জিপিএস ট্র্যাকার (SIM800L, Ublox NEO-6M, Arduino): 8 টি ধাপ
ভিডিও: Projects of CBIU Students for IT Fair of Innovation Hub | CBIU | Innovation Hub 2024, জুলাই
Anonim
বাড়িতে তৈরি রিয়েলটাইম জিপিএস ট্র্যাকার (SIM800L, Ublox NEO-6M, Arduino)
বাড়িতে তৈরি রিয়েলটাইম জিপিএস ট্র্যাকার (SIM800L, Ublox NEO-6M, Arduino)

তাহলে আপনি কি আমার মতো চারপাশে পড়ে থাকা একটি জিএসএম মডিউল পেয়েছেন? এছাড়াও একটি জিপিএস-ট্র্যাকার?

আমরাও একই চিন্তা করি!

এই নির্দেশাবলীতে, আমি আপনাকে একটি নতুনের দৃষ্টিকোণ থেকে আপনার লক্ষ্য কীভাবে অর্জন করতে হয় তা নির্দেশ করার চেষ্টা করব।

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

সুতরাং, এই টিউটোরিয়ালে, আমি একটি স্টার্টার যে ভুলগুলো করতে পারি, এবং সেই অনুযায়ী প্রকল্পটি গড়ে তুলতে চাই।

মনে রাখবেন: বিদ্যুতের সাথে কাজ করার সময় সর্বদা সতর্ক থাকুন!

দ্রষ্টব্য: আমি পেশাদার নই। কোডটি আপনার প্রয়োজনের জন্য যথেষ্ট পরিশীলিত নাও হতে পারে। প্রকল্পটি একটি "শখের প্রকল্প" হওয়ার উদ্দেশ্যে, কিন্তু! এটা আমার জন্য কাজ করেছে এবং যদি এটি আমার জন্য কাজ করে তবে এটি আপনার জন্যও কাজ করবে!

ধাপ 1: পূর্বশর্ত

পূর্বশর্ত
পূর্বশর্ত
পূর্বশর্ত
পূর্বশর্ত
পূর্বশর্ত
পূর্বশর্ত

জিএসএম মডিউল - SIM800L

  • বেশ ছোট, সহজেই ব্যবহারযোগ্য
  • মোবাইল ইন্টারনেট ব্যবহার করতে সক্ষম (জিপিআরএস)
  • সস্তা

GPS মডিউল - Ublox NEO6M

  • এছাড়াও ছোট
  • এর কাজ খুব ভালোভাবে পরিচালনা করে

একটি মাইক্রোকন্ট্রোলার - কিছু হতে পারে - আপনি কিছু জায়গা খালি করার জন্য বিখ্যাত Arduino Uno বা Nano ব্যবহার করতে পারেন

ব্যাটারি - আমি একটি 18650 সেলকে প্রধান এবং একমাত্র পাওয়ার উৎস হিসেবে ব্যবহার করেছি (নামমাত্র 3.7V)

ব্যাটারি ধারক - কেন? - কারণ 18650 ব্যাটারির সোল্ডারিং গরমের কারণে বেশ মারাত্মক।

ডিসি -ডিসি বুস্ট কনভার্টার স্টেপ আপ মডিউল 5V - থাকতে হবে, যেহেতু Arduino আমি ব্যবহার করেছি 5V প্রয়োজন

সরঞ্জাম, মৌলিক জিনিস যা কাজে আসতে পারে:

তারের, সোল্ডারিং লোহা, পরীক্ষার জন্য ব্রেডবোর্ড

ধাপ 2: মূল ধারণা

মূল ধারণা
মূল ধারণা

সিস্টেমের মূল ধারণাটি নিম্নরূপ:

এটি 3 টি অংশ নিয়ে গঠিত:

  1. একটি ডিভাইস - যার যথাযথ জিপিএস -কো -অর্ডিনেট রয়েছে এবং এটি দূরবর্তীভাবে একটি সার্ভারের সাথে সংযুক্ত হতে পারে এবং এতে ডেটা পাঠাতে পারে
  2. একটি ওয়েব সার্ভার - যা ইনকামিং ডেটা গ্রহণ করতে পারে - এটি সংরক্ষণ করে - এবং অন্যান্য ক্লায়েন্টদের পরিবেশন করে
  3. প্ল্যাটফর্ম - যেখানে আমরা স্থানাঙ্কগুলি দেখতে পারি - আদর্শভাবে এটি এখন একটি মোবাইল অ্যাপ্লিকেশন বা একটি ওয়েবসাইট হওয়া উচিত

ধাপ 3: SIM800L মডিউল

SIM800L মডিউল
SIM800L মডিউল
SIM800L মডিউল
SIM800L মডিউল

আমি মডিউল সঙ্গে কঠিন সময় ছিল।

আমি কিছু বৈশিষ্ট্য এবং রেফারেন্স দিয়ে শুরু করতে চাই।

ডেটশীট অনুযায়ী:

  • এটি 3.4V - 4.4V এর মধ্যে কাজ করে
  • এটি এসএমএস পাঠাতে পারে, অন্যান্য ফোনে ভয়েস কল করতে পারে এবং এমনকি ইন্টারনেটের সাথে সংযোগ স্থাপন করতে পারে!
  • আমরা এটির সাথে এটি-কমান্ডের মাধ্যমে যোগাযোগ করতে পারি!
  • এটি সর্বোচ্চ সময়ে 2A পর্যন্ত ব্যবহার করতে পারে! দ্রষ্টব্য: আপনি সম্ভবত একটি মাল্টিমিটার দিয়ে এটি পরিমাপ করতে পারবেন না - কারণ এর নমুনা কম

আমার অভিজ্ঞতা হল যে 3.8V এর নিচে SIM800L আসলে কাজ করে না।

আরও তথ্যের জন্য ভিজিট করুন: ডেটশীট

সুতরাং আপনার কাজ হল মডিউলকে কমপক্ষে 3.8V প্রদান করা (আদর্শভাবে 4V), একটি বিদ্যুৎ সরবরাহ যা কমপক্ষে 2A আউটপুট করে।

চূড়ান্ত ডিভাইসে মডিউল ব্যবহার করার আগে, আমি আপনাকে আপনার SIM800L এবং আপনার কম্পিউটারের সাথে যোগাযোগ স্থাপন করার পরামর্শ দিচ্ছি যাতে আপনার ডিভাইসটি সঠিকভাবে কাজ করছে।

প্রথম জিনিসগুলি, উপরের ছবির মতো সিম কার্ডটি প্লাগ ইন করুন।

এটি আপনার পিসির সাথে সংযুক্ত করতে, আপনি একটি USB থেকে TTL রূপান্তরকারী বা একটি Arduino ব্যবহার করতে পারেন।

এখন, আমি Arduino সঙ্গে যান।

SIM800L VCC এবং GND কে আপনার পাওয়ার সোর্স টার্মিনালে সংযুক্ত করুন।

Arduino 10 তম ডিজিটাল পিনের সাথে TX, আরডুইনো 11 তম ডিজিটাল পিনের সাথে RX সংযোগ করুন।

কোডটি ডাউনলোড করুন, আমি এই ধাপে লিঙ্ক করেছি।

কোড দিয়ে, আপনি আপনার সিরিয়াল মনিটরে কমান্ড পাঠাতে পারেন, এবং সেগুলি ফিরে পেতে পারেন।

কিছু সহজ কমান্ড:

AT ঠিক আছে, যদি সংযোগ ঠিক থাকে।

ATD+123456789; প্রদত্ত ফোন নম্বরে কল করুন। দ্রষ্টব্য: এটি একটি সেমিকোলন দিয়ে শেষ করতে ভুলবেন না।

AT+CPIN? সিম কার্ডের অবস্থা ফিরিয়ে দেয় (লক করা আছে বা নয়)

আপনি যদি একটি এসএমএস পাঠাতে চান, তাহলে আপনাকে একটি বিশেষ অক্ষর দিয়ে আপনার ইনপুট শেষ করতে হবে, এটি '$' চিহ্ন দিয়ে করা যেতে পারে।

আরও আকর্ষণীয় আদেশের জন্য আমি আপনাকে এটি পড়ার পরামর্শ দিই।

বিভিন্ন আদেশ আছে, তাদের সাথে পরিচিত হন, তারা সত্যিই দরকারী।

একটি লাল স্ট্যাটাস LED রয়েছে যা আপনাকে বলে যে SIM800L কি অপারেশনে আছে।

64 MS ON - 800MS OFF - SIM800L নেটওয়ার্কে নিবন্ধিত নয়।

64 MS ON - 3000MS OFF - SIM800L নেটওয়ার্কে নিবন্ধিত।

64 MS ON - 300MS OFF - SIM800l GPRS মোডে আছে

যদি SIM800L প্রায় 8-10 টি ব্লিঙ্ক করার পরে পুনরায় চালু হয়, তাহলে এটি দক্ষ বিদ্যুৎ সরবরাহের অভাবে হতে পারে।

যদি আপনি এটির পরে ঠিক না হন, তারের পরীক্ষা করুন! আপনার যদি মাল্টিমিটার থাকে, তারের ধারাবাহিকতা পরীক্ষা করুন।

তারের এবং ঝাল জয়েন্টগুলির সংযোগ পরীক্ষা করুন! মডিউলটি কেবল চোখের পলকে কাজ করবে।

ধাপ 4: উব্লক্স নিও 6 মি

উব্লক্স নিও 6 মি
উব্লক্স নিও 6 মি
উব্লক্স নিও 6 মি
উব্লক্স নিও 6 মি

কিছু বৈশিষ্ট্য

  • সর্বাধিক ভোল্টেজ: 3.6V - আমি এটি Arduino এর 3.3V পিন দিয়ে চালিত করেছি
  • সর্বোচ্চ বর্তমান ড্র 67mA - তাই আপনি এটি arduino থেকে ক্ষমতা করতে পারেন
  • তাপমাত্রার পরিসীমা: -40-85 সেলসিয়াস (আমি মনে করি এটি আপনার জন্য উপযুক্ত হবে)

আমি যে ইউনিটটি অর্ডার করেছি তা ছবিতে দেখা একটি অ্যান্টেনা নিয়ে এসেছিল, আমি কেবল সংশ্লিষ্ট স্লটে এটি প্লাগ করেছি।

ডিভাইস যখন সিগন্যাল থাকে, নীল LED দিয়ে জ্বলজ্বল করে।

প্রথমে জিপিএস কিভাবে কাজ করে তা পরীক্ষা করুন, যদি আপনি না জানেন।

যখন ডিভাইসটি চালু থাকে, এবং sat টি স্যাটেলাইট খুঁজে পায়, তখন এটি উপরের মত Arduino- তে প্রচুর কমা বিভক্ত মান পাঠায়।

আমাদের কাজে সাহায্য করার জন্য, আমরা কিছু বহিরাগত লাইব্রেরি ব্যবহার করতে পারি যাতে এই ডেটা বিশ্লেষণ করা যায় যাতে আরো বেশি মানুষের পাঠযোগ্য হয়।

আপনি TinyGps লাইব্রেরি বা NeoGPS লাইব্রেরি ব্যবহার করতে পারেন। আমি দ্বিতীয়টি ব্যবহার করেছি কারণ এটি আরও হালকা।

পরীক্ষার জন্য, আপনাকে পাওয়ার পিনগুলিকে arduino 3.3V এবং GND এর সাথে সংযুক্ত করতে হবে।

এই কোডটি ডাউনলোড করুন এবং আপনার জিপিএস দিয়ে এটি ব্যবহার করুন। আরএক্স ডিজিটাল পিন 10, টিএক্স ডিজিটাল পিন 11

দ্রষ্টব্য: মডিউলটি বাইরে ব্যবহার করতে ভুলবেন না, বিশেষত যখন কোনও মেঘ নেই।

আধ মিনিটের পরে, ডিভাইসটি আপনার জিপিএস স্থানাঙ্কগুলিকে ঝলকানো এবং আউটপুট করা উচিত!:)

একবার, আপনি জানেন যে আপনার SIM800L এবং GPS মডিউল পর্যাপ্তভাবে কাজ করছে, আপনি পরবর্তী ধাপে যেতে পারেন।

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

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

সার্কিটটি ছবির মতো।

সুতরাং, 3.4V - 4.2V 18650 ব্যাটারি হল মূল শক্তির উৎস। Sim800L সরাসরি এটি থেকে শক্তি পায়। সার্কিটের স্থায়িত্ব উন্নত করার জন্য প্যারালেলে তাদের মধ্যে একটি ক্যাপাসিটর রয়েছে।

যখন আপনি একটি ক্যাপাসিটর নির্বাচন করেন, তখন আপনার একটি কম ESR ক্যাপ্যাকটিয়ার নির্বাচন করা উচিত।

একটি 5V স্টেপ-আপ কনভার্টার ব্যাটারির ভোল্টেজকে 5V তে উন্নীত করে (আইআর প্রয়োজন কারণ Arduino 5V দিয়ে কাজ করে)।

5V পাওয়ার রেল এখানে ন্যানোর সাথে সংযুক্ত। সিম 800 এল এবং নিও 6 মি ছবির মতো ন্যানোর সাথে সংযুক্ত। (সিম Tx-D10, SimRx-D11; NeoTX-D3, NeoRX-D4)

D12 RST এর সাথে সংযুক্ত, তাই আমরা প্রোগ্রামটি সিস্টেমগতভাবে পুনরায় বুট করতে সক্ষম (SIM800L ব্যতীত)। দ্রষ্টব্য: এই রিবুট পদ্ধতিটি সর্বোত্তম অনুশীলন নাও হতে পারে)

এবং সবশেষে, দুটি এলইডিএস ন্যানোর সাথে সংযুক্ত, তাই আমরা ব্যবহারকারীকে বলতে পারি, যদি কোন ত্রুটি ঘটে থাকে।

ধাপ 6: কোড

কোডটি ইন্সট্রাকটেবলের সাথে সংযুক্ত বা গিথুবের দিকে নজর দিন।

আপনি আপনার প্রয়োজনের জন্য সঠিকভাবে কাজ করার জন্য এটি সংশোধন করতে পারেন, অথবা আপনি চাইলে অন্যের কোড ব্যবহার করতে পারেন।

waitUntilResponse (); সাহায্যকারী ফাংশন তার কোড থেকে নেওয়া হয়েছিল। তার কাজ পরীক্ষা করুন, এবং কোডও!

সংক্ষেপে, সেটআপ ফাংশনে, আমাদের SIM800L মডিউলের জিপিআরএস সংযোগ সক্ষম করতে হবে। আমরা জানি যদি এটি দ্রুত সফল হয় যদি LED দ্রুত জ্বলজ্বল করে। (সেটআপ জিপিআরএসসি সংযোগ ())

লুপ ফাংশনে - প্রতি 15 সেকেন্ডে sendData () ফাংশন বলা হয় - যার HTTP রিকোয়েস্ট আছে

আমি এই বিন্যাসে ওয়েব সার্ভারে ডেটা ধাক্কা দেওয়ার জন্য ক্যোয়ারী স্ট্রিং ব্যবহার করেছি:

ip adress/file.php? key = value & key = value উদা

যদি কোন ত্রুটি ঘটে, তাহলে সংশ্লিষ্ট LED জ্বলে উঠবে। (সিম, জিপিএস)

ধাপ 7: ওয়েব সার্ভার

ওয়েব সার্ভার
ওয়েব সার্ভার

আমাদের ব্যবহারের জন্য, একটি সহজ লাইটওয়েট ওয়েব সার্ভার যথেষ্ট।

কিছু বিকল্প আছে যা আপনি চয়ন করতে পারেন:

  1. আপনি একটি কোম্পানির দূরবর্তী সার্ভার ব্যবহার করতে পারেন, যার জন্য আপনাকে সম্ভবত নিয়মিত অর্থ প্রদান করতে হবে।
  2. আপনি আপনার নিজের কম্পিউটার ব্যবহার করতে পারেন। আমি কেবল এটি পরীক্ষার জন্য সুপারিশ করি, এটি শক্তির অপচয়, নিরাপত্তার কারণে 24/7 চালানো সত্যিই কার্যকর নয়।
  3. আপনি রাস্পবেরি পিআই এর মতো একটি ছোট কম্পিউটার ব্যবহার করতে পারেন। লাইটওয়েট, সস্তা, বেশি শক্তি খরচ করে না।

আমি ২ য়, এবং 3rd য় বিকল্পটি চেষ্টা করেছি, তারা ভাল কাজ করেছে। ঠিক আছে, প্রধান লক্ষ্য এই নির্দেশাবলীর সার্ভার নয়, তবে আমি আপনাকে কিছু পরামর্শ দিচ্ছি।

আপনি যদি একটি পিসি ব্যবহার করেন, আপনি সম্ভবত উইন্ডোজ ব্যবহার করেন। আমি যদি আপনি হতাম, আমি এটিতে একটি অ্যাপাচি বা XAMPP সার্ভার ইনস্টল করতাম।

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

এবং পুরো পোর্টফরওয়ার্ডিং জিনিস:

আপনার যদি রাস্পবেরি থাকে তবে এটি ব্যবহার করা একটি ভাল অভ্যাস। আপনি লিনাক্স কমান্ডের সাথে পরিচিত হতে পারেন, এবং আপনার নিজস্ব সার্ভার 24/7 চালাতে পারেন।

ওএস ছিল রাস্পবিয়ান জেসি যার একটি হেডলেস সেটআপ ছিল (কোন কীবোর্ড, মনিটর নেই) - আমি এটি আমার কম্পিউটারে SSH সংযোগ দিয়ে নিয়ন্ত্রণ করেছি।

আমি আমার রাস্পবেরিতে লগ ইন করার জন্য পুটি ব্যবহার করেছি। আপনার অ্যাকাউন্টের পাসওয়ার্ড পরিবর্তন করতে ভুলবেন না, যাতে অন্যরা আপনাকে Pi তে প্রবেশ করতে না পারে। ডিফল্ট হল: pi, passw: রাস্পবেরি।

আমি sqlite3 দিয়ে একটি লাইটপিডি ওয়েব সার্ভার ইনস্টল করেছি। ভাল টিউটোরিয়াল এখানে পাওয়া যায়:

আমি সার্ভার কোডে প্রধানত পিএইচপি ব্যবহার করেছি। পিএইচপি দিয়ে আপনি ডেটা গ্রহণ করতে পারেন, ডাটাবেস পড়তে/লিখতে পারেন - একটি প্রশ্নকে একটি জসন ফরম্যাটে এনকোড করতে পারেন ইত্যাদি।

আপনি সার্ভার_ফাইলের ফোল্ডারে গিথুব -এও আমার কোড দেখতে পারেন।

এবং অবশ্যই, আপনি যদি আপনার দূরবর্তীভাবে অ্যাক্সেস করতে চান তবে আপনার রাউটারে আপনার পাইতে পোর্টফরওয়ার্ডিং সক্ষম করতে হবে।

ধাপ 8: শেষ/অভিজ্ঞতা

একটি ঘের তৈরি করা এখনও বাকি।

আমার অভিজ্ঞতা হল যে, সিস্টেম খুব খারাপ কাজ করে না। কিন্তু সেখানে স্থিতিশীলতার উন্নতি অপেক্ষা করছে।

যদি ট্র্যাকার আমার সংযুক্ত কোডের সাথে কাজ না করে, তাহলে চিন্তা করবেন না। SIM800L এবং NEO 6M তাদের কাজ করা উচিত তা নিশ্চিত করার চেষ্টা করুন। আপনি অবাধে আমার কোড সংশোধন করতে পারেন, অথবা আরও ভাল একটি সন্ধান করতে পারেন। আমি শুধু আশা করি, আমি আপনাকে একটি উদাহরণ দেখাতে পারি, কিভাবে আপনি এই প্রকল্পটি সম্পন্ন করতে পারেন।

আমি কোন পরামর্শ, মন্তব্য থেকে সংশোধন গ্রহণ করি। নির্দ্বিধায় জিজ্ঞাসা করুন।

প্রস্তাবিত: