সুচিপত্র:

পাইক - নিরাপদ ড্রাইভ করুন, স্মার্ট ড্রাইভ করুন, একটি পাইক চালান !: 5 টি ধাপ
পাইক - নিরাপদ ড্রাইভ করুন, স্মার্ট ড্রাইভ করুন, একটি পাইক চালান !: 5 টি ধাপ
Anonim
পাইক - নিরাপদ ড্রাইভ, স্মার্ট ড্রাইভ, একটি পাইক চালান!
পাইক - নিরাপদ ড্রাইভ, স্মার্ট ড্রাইভ, একটি পাইক চালান!

পাইক নামক আমার প্রকল্পে স্বাগতম!

এটি আমার শিক্ষার অংশ হিসাবে একটি প্রকল্প। আমি বেলজিয়ামের হাওয়েস্টে এনএমসিটির ছাত্র। লক্ষ্য ছিল রাস্পবেরি পাই ব্যবহার করে কিছু স্মার্ট করা। আমাদের পূর্ণ স্বাধীনতা ছিল যেখানে আমরা স্মার্ট করতে চেয়েছিলাম।

আমার বাইকটিকে একটু স্মার্ট করে তোলা আমার জন্য সহজ চয়েস ছিল। আমি এমন জায়গায় থাকি যেখানে সাইকেল চালানো আমাকে দ্রুত শহরে আমার গন্তব্যে নিয়ে যায়।

এছাড়াও আমি একবার আমার সাইকেল নিয়ে পড়েছিলাম। আমি আমার কনুই ভেঙে দিয়েছি। আমি নিচে পড়ে গেলাম কারণ আমি আমার পিছনের ড্রাইভারকে ইশারা করছিলাম যে আমি ঠিক যেতে চাই। রাস্তা পিচ্ছিল ছিল এবং আমি নিয়ন্ত্রণ হারিয়েছিলাম কারণ আমার স্টিয়ারিং হুইলে আমার কেবল একটি হাত ছিল। এজন্যই আমার প্রথম ধারণা ছিল আমার বাইকে দিকনির্দেশক সূচক সংযুক্ত করা। সেখান থেকে আমি ভাবতে শুরু করলাম যে আমি আর কি যোগ করতে পারি তাই আমি জিপিএস-ট্র্যাকিং নিয়ে এসেছি যাতে আপনি পরে দেখতে পারেন আপনি কোন রুটটি নিয়েছেন।

তাহলে পাইক কি করতে পারে?

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

ধাপ 1: যন্ত্রাংশ

অংশ
অংশ

তাই স্পষ্টতই আপনাকে জানতে হবে যে আমার প্রকল্পটি পুনরায় তৈরি করতে আপনার কী প্রয়োজন। আমরা শুরু করার আগে আমি বলতে চাই যে এই প্রকল্পটি ঠিক সস্তা ছিল না। এছাড়াও আমি একটি স্থানীয় দোকানে তারগুলি কিনেছিলাম যা অতিরিক্ত দামের ছিল। আপনি এগুলি অনলাইনে কয়েক ইউরো/ডলারে কিনতে পারেন (যা আমি আপনাকে করার পরামর্শ দিচ্ছি)। আমার অপেক্ষা করার সময় ছিল না। সেজন্য আমি আমার স্থানীয় দোকান থেকে চড়া দামে কিনেছি।

কেনাকাটার তালিকা

- রাস্পবেরি পাই

- জাম্পারের তার

- পাওয়ারব্যাঙ্ক যে পর্যন্ত এটি আপনার পাইকে পর্যাপ্ত শক্তি দেবে ততক্ষণ করবে

- ম্যাক্সস্টার স্মার্টফোন হোল্ডার (মূলত সবচেয়ে সস্তা যা আপনি খুঁজে পেতে পারেন …)

- ম্যাক্সস্টার স্মার্টফোন হোল্ডার (সাদা বৃত্তাকারগুলিও আমার প্লাস্টিকের টিউব ফিট করার জন্য খুব সস্তা)

- প্লাস্টিকের টিউব (স্টিয়ারিং হুইলের সাথে লাগানোর জন্য স্মার্টফোন ধারকের সাথে মানানসই বোতামগুলি ফিট করার জন্য এটিতে একটি গর্ত ড্রিল করা হয়েছে)

- বোতাম*

- 6x 220 প্রতিরোধক

- 1x 5K Ω প্রতিরোধক

- LCD প্রদর্শন

- DS18B20 এক তারের তাপমাত্রা সেন্সর

- অ্যাডাফ্রুট জিপিএস-মডিউল আলটিমেট ব্রেকআউট 66 চ্যানেল

- জিপিএস অ্যান্টেনা - বহিরাগত সক্রিয় অ্যান্টেনা - 5 মিটার কেবল এসএমএ সহ 3-5V 28db (জিপিএস সংকেত বাড়ানোর জন্য)

- ইউএফএলটো এসএমএ অ্যাডাপ্টার (অ্যাডাফ্রুট জিপিএস-মডিউলে অতিরিক্ত অ্যান্টেনা সংযুক্ত করতে)

মন্তব্য:

* যেগুলো আপনি ছবিতে দেখবেন সেগুলো ধাতব, সম্ভবত সবচেয়ে আদর্শ নয় কিন্তু সেগুলোই আমার স্থানীয় দোকানে ছিল। আপনি সম্পূর্ণরূপে জলরোধী বোতামগুলি যেতে পারেন কিন্তু সেগুলি ছিল 15 € একটি টুকরা যা আমি ভেবেছিলাম একটি বোতামের জন্য ব্যয়বহুল। আপনি যতটা বাটন কিনতে পারবেন ততক্ষণ এটি একটি পুল আপ সিস্টেমের সাথে কাজ করলে আপনি ভালো থাকবেন।

ধাপ 2: তারের সবকিছু আপ

তারের সবকিছু উপরে
তারের সবকিছু উপরে
তারের সবকিছু উপরে
তারের সবকিছু উপরে

এটা তেমন কঠিন কিছু নয়। যেহেতু GPS মডিউলটি USB এর সাথে সংযুক্ত। আপনি উপরের ছবিতে দেখতে পাচ্ছেন যে আপনি ইউএসবি অ্যাডাপ্টারের তারের সাথে রঙগুলি মিলিয়ে নিতে পারেন। বোতাম এবং LEDS 220 to এর সাথে সংযুক্ত। DS18B20 তাপমাত্রা সেন্সর একটি 5K Ω প্রতিরোধক পর্যন্ত তারযুক্ত।

ধাপ 3: আসুন আপনার রাস্পবেরি পাই কনফিগার করি

আসুন আপনার রাস্পবেরি পাই কনফিগার করি!
আসুন আপনার রাস্পবেরি পাই কনফিগার করি!

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

আমার ডাটাবেস সময়সূচী ন্যূনতম প্রস্থান করা হয়। এতে 4 টি টেবিল রয়েছে:

  1. tbluser

    1. UserID (tinyint, 2) অটো ইনক্রিমেন্ট, স্বাক্ষরবিহীন
    2. ব্যবহারকারীর নাম (ভারচার, 175)
    3. UserLogin (varchar, 180)
    4. UserPassword (varchar, 255)
    5. UserActive (tinyint, 1) স্বাক্ষরবিহীন
  2. tblsession

    1. সেশনআইডি (int, 10) অটো ইনক্রিমেন্ট, স্বাক্ষরবিহীন
    2. সেশনের তারিখ (তারিখ)
    3. ব্যবহারকারীর প্রমানপত্র
  3. tblsensor

    1. SensorID (tinyint, 3) অটো ইনক্রিমেন্ট, স্বাক্ষরবিহীন
    2. SensorName (varchar, 150)
  4. tblhistory

    1. হিস্টরিআইডি (বিগিন্ট, ২০) অটো অ্যাক্রেমেন্ট, স্বাক্ষরবিহীন
    2. সেন্সরআইডি
    3. সেশন আইডি
    4. HistoryValue (varchar, 255)
    5. ইতিহাস সময় (সময়, 3)

কিন্তু আপনি.sql ডাম্প ফাইলটিও দেখে নিতে পারেন

ধাপ 4: আসুন কোডিং শুরু করি

আসুন কোডিং শুরু করি
আসুন কোডিং শুরু করি

প্রকল্পটি এখানে কাজ করার জন্য আপনি আমার কোড খুঁজে পেতে পারেন।

জিপিএস

জিপিএস মডিউল দিয়ে শুরু করা সত্যিই সহজ। আপনাকে যা করতে হবে তা হল আপনার পাইথন পরিবেশে gpsd-py3 প্যাকেজ ইনস্টল করা। তাহলে আপনি আপনার জীবনকে সহজ করতে এই লাইব্রেরিটি ব্যবহার করতে পারেন। আপনি আপনার জিপিএস থেকে দীর্ঘস্থায়ী, অক্ষাংশ, গতি ইত্যাদি ডেটা পেতে কোডিং উদাহরণ ব্যবহার করতে পারেন।

LCD প্রদর্শন

এলসিডি ডিসপ্লে কাজ করতে আপনাকে অ্যাডাফ্রুট থেকে লাইব্রেরি ইনস্টল করতে হবে। কোডিং এর উদাহরণ এখানে পাওয়া যাবে।

DS18B20 এক তারের তাপমাত্রা সেন্সর

আপনার একটি ওয়্যার সেন্সর খুঁজে পেতে আপনাকে একটু বেশি কাজ করতে হবে। প্রথমে আমাদের একটি ওয়্যার বাস সক্রিয় করতে হবে। এটি করার জন্য ধাপগুলি অনুসরণ করুন:

  1. sudo raspi-config
  2. ইন্টারফেসিং বিকল্প
  3. 1-তারের

সেন্সর থেকে ডেটা পড়া শুরু করার জন্য আমাদের জানতে হবে কিভাবে আমাদের এক তারকে বলা হয়। Cd/sys/bus/w1/devices/এ টাইপ করুন

আপনি দুটি ডিভাইস দেখতে পাবেন, একটি হল রাস্পবেরি পাই এবং অন্যটি 28-0 এর মত দেখতে হবে। পাইথনে ডেটা পড়ার জন্য আপনাকে এটি একটি ফাইল হিসাবে খুলতে হবে। সুতরাং ফাইলটি খোলার পথটি এরকম কিছু হওয়া উচিত:/sys/bus/w1/devices/28-04177032d4ff/w1_slave।

বাটন এবং LED এর

এইগুলি মৌলিক ফাংশন, আপনি এই ক্লাস ফোল্ডারে আমার কোডটি দেখতে পারেন।

এসকিউএল-বিবৃতি

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

প্রস্তাবিত: