সুচিপত্র:

রাসপি এবং টেলিগ্রাম বট সহ পেট ফিডার মেশিন: 4 টি ধাপ (ছবি সহ)
রাসপি এবং টেলিগ্রাম বট সহ পেট ফিডার মেশিন: 4 টি ধাপ (ছবি সহ)
Anonim
রাসপি এবং টেলিগ্রাম বট সহ পেট ফিডার মেশিন
রাসপি এবং টেলিগ্রাম বট সহ পেট ফিডার মেশিন
রাসপি এবং টেলিগ্রাম বট সহ পেট ফিডার মেশিন
রাসপি এবং টেলিগ্রাম বট সহ পেট ফিডার মেশিন

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

আপনি আমার ব্যক্তিগত ব্লগে এর স্প্যানিশ সংস্করণ দেখতে পারেন:

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

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

  • ChatBots- এর মাধ্যমে নিয়ন্ত্রিত চ্যাটে পাঠানো কমান্ডের মাধ্যমে ইন্টারঅ্যাকশন।
  • এটি বিতরণ করা খাবারের অবস্থা ট্র্যাক করতে দেয়।
  • কতটুকু খাবার বিতরণ করা হচ্ছে তা নিয়ন্ত্রণ করে।
  • এটিতে বোতাম রয়েছে যা আপনাকে ম্যানুয়ালি খাওয়ানোর অনুমতি দেয়।
  • এটি 8 ঘন্টার ব্যবধানে খাওয়ানো নিষ্ক্রিয় করে অতিরিক্ত খাওয়ানোর অনুমতি দেয় না।
  • এটিতে একটি স্ট্যাটাস এলসিডি রয়েছে যা পরবর্তী বিদ্যুৎ সরবরাহের জন্য পরবর্তী সময় তারিখ এবং সময় হিসাবে ডেটা দেখায়, এসএসআইডি যার সাথে এটি ওয়াইফাই এবং ডিভাইসের আইপি ঠিকানা সংযুক্ত থাকে।
  • Ptionচ্ছিক: কিছু চক নরিস র্যান্ডম জোকস এবং / অথবা সংখ্যার ট্রিভিয়া একজোড়া পাবলিক এপিআইএস (মূল লেখকের দ্বারা বুদ্ধিমান) ব্যবহার করে দেখায়।
  • স্ট্যাটাস ফাইল সংরক্ষণ করার ফলে সিস্টেমটি বিদ্যুৎ বিচ্ছিন্ন হওয়ার কারণে সিস্টেমটি পুনরায় চালু হওয়ার জন্য অনাক্রম্য।
  • কানেকশন নষ্ট হলে সিস্টেম সনাক্ত করে এবং সফল না হওয়া পর্যন্ত পুনরায় সংযোগের চেষ্টা করে।

ধাপ 1: ব্যবহৃত উপকরণ

  • 1 Raperry Pi, বিশেষত 3 সংস্করণ যা ইতিমধ্যেই ওয়্যারলেস কার্ডের সাথে একীভূত, আপনি Pi 3 জিরো সংস্করণটিও ব্যবহার করতে পারেন, এটি একটু বেশি কাজ করে কারণ আপনাকে পিনগুলি সোল্ডার করতে হবে, কিন্তু আমি খুব দেরিতে জানতে পারলাম যে এটি হতে পারে এইগুলির মধ্যে একটি ব্যবহার করুন যা আরও অর্থনৈতিক।
  • 1 হাই টর্ক ইলেকট্রিক মোটর, 37 মিমি, 3.5 আরপিএম এবং 12 ভি।
  • 37 মিমি মোটরের জন্য 1 বন্ধনী।
  • HD44780 কন্ট্রোল সহ 20x4 লাইনের 1 অক্ষরের LCD স্ক্রিন।
  • 1 সিরিয়াল ডিসপেন্সার জেভ্রো মডেল WM1001 5 ইঞ্চি লম্বা শাফ্ট-ডি, 0.63 সেমি ব্যাস (ডিসপেনসারের সাথে এটি সংযুক্ত করার জন্য ডি কাটা প্রয়োজন)
  • 1 শাফ্ট কাপলার 1/4 "থেকে 6 মিমি পর্যন্ত মোটরে যোগ দিতে।

শেষ দুটি ছাড়া বাকি সব সামগ্রী আমি সেগুলো আমার দেশে পেতে পারিনি (অথবা কমপক্ষে আমি জানতাম না সেগুলো কোথায় পাব), তবে রড এবং কাপল সম্ভবত একটি dingালাই কর্মশালায় আছে কিন্তু প্রথমবার আমি কিছু করছি এইরকম, ইঞ্জিনটি কীভাবে ফিট করা উচিত তা আমার কোনও ধারণা ছিল না তাই আমি উপরে বর্ণিত লিঙ্কগুলির পৃষ্ঠাটি জিজ্ঞাসা করেছি; আমি স্থানীয় দোকানে যেসব সামগ্রী কিনতে পারি তার নীচে:

  • 1 কাঠের বাক্স, আমি 20.3 সেমি চওড়া × 26.7 সেমি উচ্চ x 13 সেমি গভীর ব্যবহার করি। বাক্সে একটি দরজা আছে যা এলসিডি স্ক্রিন (স্থানীয় যোগদান) রাখার জন্য 10cm x 4cm ছিদ্রের সাথে ডানদিকে খোলে
  • 3 পুশ বোতাম
  • 1 ছোট প্রোটোবোর্ড
  • 3.3 ভোল্টের 1 টি LED (এটি রঙের ব্যাপার না কিন্তু ভোল্টেজের জন্য তারা সাধারণত লাল হয়)
  • 1 NPN PN2222 ট্রানজিস্টর
  • 1 270 of প্রতিরোধ
  • 10 KΩ এর 1 প্রতিরোধ
  • 10 KΩ এর 1 Potentiometer
  • 1 IN4003 ডায়োড (IN4001 বা IN4004 কাজ করতে পারে)
  • 1 12V 3A অ্যাডাপ্টার
  • 1 5V 2A অ্যাডাপ্টার
  • 1.5 ইঞ্চি থেকে 2 ইঞ্চি পর্যন্ত উইং বাদাম সহ 4 টি স্ক্রু (ব্যবহৃত কাঠের পুরুত্বের উপর নির্ভর করে, তারা মোটর বন্ধনীটি কাঠের বাক্সে ঠিক করে)
  • তারের জাম্পার বিভিন্ন রঙের স্ট্র্যান্ড
  • 1 ভাঁজ টিউব বা 4 ইঞ্চি ব্যাসের পিভিসি একটি সেট, এটি কাঠের বাক্সটি যে উচ্চতায় স্থাপন করা হবে তার উপর নির্ভর করে।
  • 1 পিভিসি কনুই যা আগের কাস্টের সাথে সংযুক্ত।
  • গাড়ির পাইপের জন্য cla টি ক্ল্যাম্প (দ্য ওয়ার্ল্ড)
  • ইউটিপি ক্যাবলের 4 ফুট (সংযোগ করতে আমাদের বাঁকানো জোড়া দরকার)
  • 1 ইউএসবি ওয়েবক্যাম, এটি উচ্চ রেজল্যুশন হতে হবে না।

কিছু বিবিধ সামগ্রী যা হার্ডওয়্যারের দোকানে পাওয়া যেতে পারে অথবা সম্ভবত আমাদের কাছে ইতিমধ্যেই আছে: শিল্পকলা

  • টিন ওয়েল্ডার
  • টিন
  • ড্রিল
  • ড্রিল 5/16
  • এক্সপেন্ডার সহ S8 স্ক্রু

ধাপ 2: কাঠামো স্থাপন

কাঠামো স্থাপন
কাঠামো স্থাপন
কাঠামো স্থাপন
কাঠামো স্থাপন
কাঠামো স্থাপন
কাঠামো স্থাপন

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

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

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

মোটরটি সরাসরি 12 ভোল্টের ট্রান্সফরমারের ধনাত্মক মেরুর সাথে সংযুক্ত কিন্তু বর্তমান প্রবাহের জন্য এটি মোটরের নিরপেক্ষ মেরুতে সার্কিটের মধ্য দিয়ে যেতে হবে, এই ট্রানজিস্টর N2222 ব্যবহার করা হয়। ট্রানজিস্টরগুলির সাধারণত 3 টি পা থাকে যা একটি সংগ্রাহক, একটি বেস এবং একটি নির্গমকের সাথে মিলিত হয়, ট্রানজিস্টারের মডেলের উপর নির্ভর করে এই পাগুলির অবস্থান পরিবর্তিত হতে পারে; এই ট্রানজিস্টর সুইচ ফাংশন তৈরি করে। এই যেখানে আমরা মোটরটির নিরপেক্ষ মেরুকে ট্রানজিস্টরের সংগ্রাহকের সাথে সংযুক্ত করি, রp্যাপবেরির পিন # 19 270Ω এর প্রতিরোধের মাধ্যমে বেসের সাথে সংযুক্ত থাকে এবং ইমিটারটি ট্রানজিস্টরের নিরপেক্ষ টার্মিনালের সাথে সংযুক্ত থাকে। 12V ট্রান্সফরমার রাস্পবেরির পৃথিবীর একটি খুঁটির সাথে; ট্রানজিস্টর কালেক্টর এবং এমিটারের মধ্যে কারেন্ট প্রবাহিত হতে দেবে যতক্ষণ বেস যথেষ্ট ভোল্টেজ দিয়ে উদ্দীপিত হয়; পরে আমরা র‍্যাপবেরি প্রোগ্রাম করব যাতে নির্দিষ্ট আদেশ অনুযায়ী পোর্ট 19 থেকে 3.3 ভোল্ট নির্গত হয়, সার্কিট চালিয়ে যাওয়ার জন্য এবং মোটর সক্রিয় করার জন্য যথেষ্ট।

এলসিডি স্ক্রিনের জন্য, প্রোটোবার্ডের অন্য অংশটি একটি ভিন্ন সার্কিটে ব্যবহার করা হয় যেখানে আপনি 10KΩ পোটেন্টিওমিটার সংযোগ করেন যা এলসিডিতে প্রদর্শিত পাঠ্যের বিপরীতটিকে প্রত্যাখ্যান করে, তাই যদি স্ক্রিনে কিছু না দেখা যায় তবে সম্ভবত পোটেন্টিওমিটার সম্পূর্ণরূপে বন্ধ; আমার ক্ষেত্রে আমি এটি সম্পূর্ণরূপে খোলা রেখেছি যাতে পাঠ্যটি আরও ভালভাবে দৃশ্যমান হয়। শেষ পর্যন্ত রুটিবোর্ডের সংযোগগুলি নিম্নরূপ হবে।

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

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

core.telegram.org/bots#3-how-do-i-create-a-bot

রp্যাপবেরি কনফিগার করার জন্য, র Rap্যাপবিয়ানের লাইট সংস্করণটি ব্যবহার করুন (আমাদের গ্রাফিক ইন্টারফেসের প্রয়োজন নেই) এবং মৌলিক কনফিগারেশন প্রয়োগ করুন যা রাস্পবিয়ান একবার ইনস্টল হয়ে গেলে বা রাস্পি-কনফিগ কমান্ড ব্যবহার করে দেখায়: স্থানটি 100% প্রসারিত করুন এবং সক্ষম করুন SSH কিন্তু বিশেষ করে সবচেয়ে গুরুত্বপূর্ণ বিষয় হল পাসওয়ার্ড এবং ব্যবহারকারীর নাম পরিবর্তন করে ব্যবহারকারী পাই যা ডিফল্টরূপে আসে (অন্যথায়, আমার মতো ঘটেছে, তারা পোর্ট 22 দ্বারা আক্রমণ করতে পারে যদি তাদের কাছে রাস্পবেরি সম্বোধন করা হয়) । তা ছাড়া আমার ওয়াইফাই নেটওয়ার্কে স্বয়ংক্রিয়ভাবে সংযোগ স্থাপনের কনফিগারেশন (আমার নেটওয়ার্ককে "ব্লগসরিয়ানো" বলা হয় এবং আমার পাসওয়ার্ড "$ ecure123!") আমরা নিম্নলিখিত কমান্ড দিয়ে ওয়্যারলেস সংযোগ ফাইলে কী তৈরি করি এবং সংরক্ষণ করি:

sudo wpa_passphrase "BlogSoriano" "$ ecure123!" | sudo tee -a /etc/wpa_supplicant/wpa_supplicant.conf>/dev/null

পরবর্তী জিনিস হল পাইথন ইনস্টলেশন সিস্টেম "পিপ" আপডেট এবং ইনস্টল করা যাতে আমরা রুট হিসাবে লগ ইন করি, প্রয়োজনীয় প্যাকেজ আপডেট এবং ইনস্টল করি:

sudo -i apt-get update apt-get build-essential python-dev python-smbus python-pip

এর সাহায্যে আমরা ইতিমধ্যে পাইথন ক্লাস লাইব্রেরিতে অ্যাক্সেস পেয়েছি, যে স্ক্রিপ্টটি আমরা ব্যবহার করতে যাচ্ছি তার জন্য আমাদের নিম্নলিখিতগুলি ইনস্টল করতে হবে:

pip install RPi. GPIO Adafruit-CharLCD httplib2 html2text netifaces বেতার টেলিপট cv2

একবার নির্ভরতার ইনস্টলেশন শেষ হয়ে গেলে, আমরা এই ধাপের সাথে সংযুক্ত স্ক্রিপ্টটি ব্যবহার করব, আমি এটি /opt/petfeeder.py পথে সংরক্ষণ করি এবং ফাইলটি nano /opt/petfeeder.py কমান্ড ব্যবহার করে তৈরি করা যেতে পারে এবং এই ফাইলের ভিতরে আমরা কোডটি পেস্ট করি অথবা, যদি আপনার আরো লিনাক্স অভিজ্ঞতা থাকে, তাহলে আপনি সরাসরি wget দিয়ে ডাউনলোড করতে পারেন। স্ক্রিপ্টে BOTKEY (36 লাইনে) এবং SYSPASSWORD (23 লাইনে) ভেরিয়েবল পরিবর্তন করা গুরুত্বপূর্ণ।

আমি স্পষ্ট করে বলছি যে এই কোডটি আমার দ্বারা লেখা হয়নি যেহেতু আমি পাইথনে কখনো প্রোগ্রাম করিনি, আমি কেবল নতুন লাইব্রেরি এবং 20x4 LCD স্ক্রিনের সাথে কাজ করার জন্য এবং টেলিগ্রাম বট ব্যবহার করার জন্য এটি সংশোধন করেছি।

একবার আমাদের স্ক্রিপ্ট হয়ে গেলে, আমাদের অবশ্যই বটের জন্য কী দিয়ে ভেরিয়েবলের মান পরিবর্তন করতে হবে; এটির জন্য একটি নতুন টেলিগ্রাম বট তৈরি করা প্রয়োজন, এর সাথে এটি কেবল ফাইলটি সংরক্ষণ এবং প্রস্থান করবে (Ctrl + বা সংরক্ষণ এবং ctrl + x সম্পাদকের ন্যানো ছেড়ে), আমাদের কেবল পুনরায় আরম্ভের প্রমাণ হতে হবে; পাওয়ার সিস্টেম সক্রিয় হওয়ার শেষ সময় স্ক্রিপ্টটি নিজেই সংরক্ষণ করে, তাই যখনই অপারেটিং সিস্টেম শুরু হয় তখনই আমাদের কেবল স্ক্রিপ্টটি চালাতে হয়, এর জন্য আমি সুপারভাইজার নামে একটি প্রোগ্রামের সাথে একটি বিশেষ সমাধান খুঁজে পেয়েছি, যা ডেবিয়ান সংগ্রহস্থল থেকে ইনস্টল করা আছে:

apt-get ইনস্টল সুপারভাইজার

এবং একবার ইনস্টল হয়ে গেলে, আমাদের কেবলমাত্র

[program: petfeederd] ডিরেক্টরি =/opt command = python petfeeder.py autostart = true autorestart = true

ফাইলটি সেভ হয়ে গেলে আমরা superwisorctl [start | কমান্ড ব্যবহার করতে পারি থামুন | restart] petfeederd, যেহেতু এই ক্ষেত্রে পরিষেবাটি শুরু করা হয়নি, আমরা এটি শুরু করে কার্যকর করি:

তত্ত্বাবধায়ক শুরু petfeederd

ধাপ 4: পরীক্ষার জন্য প্রস্তুত

Image
Image
পরীক্ষার জন্য প্রস্তুত
পরীক্ষার জন্য প্রস্তুত
পরীক্ষার জন্য প্রস্তুত
পরীক্ষার জন্য প্রস্তুত
পরীক্ষার জন্য প্রস্তুত
পরীক্ষার জন্য প্রস্তুত

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

আপনি টেলিগ্রামে আপনার বট অনুসন্ধান করতে সক্ষম হবেন এবং আপনার চ্যাট অনুমোদন করার পর পরবর্তী কমান্ডের একটি পাঠান:

/ফিড: প্যারামিটারাইজড সময়সীমা অতিবাহিত হওয়া পর্যন্ত খাওয়ানোর প্রক্রিয়া শুরু করে।

/কখন: এটি সর্বশেষ খাওয়ানোর সময় এবং খাবারের প্লেটের ছবি সম্পর্কে তথ্য প্রদান করে।

/ছবি: খাবারের প্লেটের ছবি ফেরত দিন।

/পুনরায় আরম্ভ করুন: সিস্টেমটি পুনরায় চালু করুন, অবিলম্বে খাওয়ানোর জন্য শেষ ফিডের পরিবর্তনশীলকে 0 এ সেট করুন।

/অবস্থা এটি ইন্টারনেট সংযোগের অবস্থা সম্পর্কে জানায়: সংযুক্ত ওয়্যারলেসের SSID এবং নেটওয়ার্কের মধ্যে সিস্টেমের IP ঠিকানা।

প্রস্তাবিত: