ব্যান্ডউইথ মনিটর: 7 টি ধাপ (ছবি সহ)
ব্যান্ডউইথ মনিটর: 7 টি ধাপ (ছবি সহ)
Anonim
ব্যান্ডউইথ মনিটর
ব্যান্ডউইথ মনিটর
ব্যান্ডউইথ মনিটর
ব্যান্ডউইথ মনিটর
ব্যান্ডউইথ মনিটর
ব্যান্ডউইথ মনিটর

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

সরবরাহ

  • রাস্পবেরি পাই জিরো ডব্লিউএইচ
  • ওয়েভশেয়ার ই-কালি প্রদর্শন (2.9 ইঞ্চি-ই-কাগজ-মডিউল)
  • ডিসি-ডিসি কনভার্টার (যেমন DEBO DCDC 20W)
  • RGB LED (একটি পুরানো ডিভাইস থেকে বের করা)
  • বোতাম চাপা
  • সুইচ
  • রিলেস মডিউল (উদা 2 ওয়ে রিলে মডিউল 2 ওয়ে রিলে মডিউল)
  • পুরুষ সংযোগকারী + মহিলা সংযোগকারী (উভয়ই আপনার মডেম পাওয়ার সাপ্লাই প্লাগের মাপসই ফিটিং)
  • 3D প্রিন্টেড কেস

ধাপ 1: বৈশিষ্ট্য

বৈশিষ্ট্য
বৈশিষ্ট্য
বৈশিষ্ট্য
বৈশিষ্ট্য
বৈশিষ্ট্য
বৈশিষ্ট্য
  • রাস্পবেরি পাই জিরো ডব্লিউএলএএন-এর মাধ্যমে সংযুক্ত, আপ-এবং ডাউনলোডের গতি পরীক্ষা করে এবং প্রতি আধা ঘণ্টায় একটি পিং পরিমাপ করে। Speedtest.net এর একটি কমান্ড লাইন সংস্করণ পরিমাপের ভিত্তি হিসেবে ব্যবহৃত হয়।
  • ব্যান্ডউইথ এবং পিং পরিমাপের ফলাফল একটি ই-কালি প্রদর্শনে প্রদর্শিত হয়। পরিমাপের সময়ও দেখানো হয়েছে।
  • যদি ডাউনলোডের গতি একটি নির্ধারিত থ্রেশহোল্ড মানের নিচে পড়ে, একটি রিলে অল্প সময়ের জন্য মডেমটি বন্ধ করে দেয়। এইভাবে মডেমটি ডিভাইসের কোন পরিবর্তন ছাড়াই পুনরায় সেট করা হয় (শুধুমাত্র বিদ্যুৎ সরবরাহ ব্যাহত হয়)।
  • ব্যান্ডউইথ পরিমাপ ম্যানুয়ালি ট্রিগার করার জন্য ডিভাইসের সামনে একটি বোতাম পাওয়া যায়।
  • পরিমাপ করা মানগুলি একটি ইউবিডটস ড্যাশবোর্ডে (IOT পোর্টাল) প্রদর্শিত হয়। ওভারভিউতে আপনি পরিমাপ করা মানগুলির সময় ইতিহাস এবং শেষ রিসেটগুলির কারণগুলিও দেখতে পারেন।
  • আইওটি পোর্টালে আপনি মডেমটি দূর থেকে পুনরায় সেট করার জন্য একটি বোতামও খুঁজে পেতে পারেন।
  • ব্যান্ডউইথ মনিটর মডেমের পাওয়ার সাপ্লাই ব্যবহার করে। কোন অতিরিক্ত সরবরাহ প্রয়োজন। রিলে মডেমের পাওয়ার সাপ্লাই ফরওয়ার্ডিংয়ে বাধা দেয় - রাস্পবেরি চালু থাকে।

ধাপ 2: তারের

তারের
তারের
তারের
তারের
তারের
তারের
তারের
তারের

প্রথম ছবিতে আপনি ব্যান্ডউইথ মনিটরের অভ্যন্তরীণ নকশা দেখতে পারেন:

প্রধান উপাদান হল:

    1. বোতাম চাপা
    2. ই-কালি প্রদর্শন
    3. রাস্পবেরি পাই জিরো
    4. রিলে মডিউল
    5. RGB LED + Resistors (RGB LED এর উপর নির্ভর করে আপনি ব্যবহার করেন)
    6. সুইচ
    7. ডিসি-ডিসি কনভার্টার
    8. মহিলা সংযোগকারী

দ্বিতীয় ছবি তারের একটি পরিকল্পিত দেখায়। সাপ্লাই ভোল্টেজের পজিটিভ মেরু ডিসি-ডিসি ভোল্টেজ কনভার্টারে সুইচের মাধ্যমে খাওয়ানো হয় (যা রাউটারের 12V সাপ্লাই ভোল্টেজকে রাস্পবেরির জন্য 5V এ রূপান্তরিত করে) এবং রিলে (স্বাভাবিকভাবে সংযুক্ত পিনের মাধ্যমে) ফিরে আউটপুট সংযোগকারী এভাবে ব্যান্ডউইথ মনিটর বন্ধ থাকলে মডেমটিও বিদ্যুৎ সরবরাহ করে।

ব্যান্ডউইথ পরিমাপ একটি বোতামের মাধ্যমে ম্যানুয়ালি শুরু করা যেতে পারে। একটি আরজিবি এলইডি বিভিন্ন অপারেটিং রাজ্যগুলি কল্পনা করতে ব্যবহৃত হয়।

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

ধাপ 3: 3 ডি প্রিন্টিং এবং বিল্ডিং দ্য চেজ

3 ডি প্রিন্টিং এবং বিল্ডিং দ্য চেজ
3 ডি প্রিন্টিং এবং বিল্ডিং দ্য চেজ
3 ডি প্রিন্টিং এবং বিল্ডিং দ্য চেজ
3 ডি প্রিন্টিং এবং বিল্ডিং দ্য চেজ
3 ডি প্রিন্টিং এবং বিল্ডিং দ্য চেজ
3 ডি প্রিন্টিং এবং বিল্ডিং দ্য চেজ
3 ডি প্রিন্টিং এবং বিল্ডিং দ্য চেজ
3 ডি প্রিন্টিং এবং বিল্ডিং দ্য চেজ

মামলার জন্য নিম্নলিখিত অংশগুলি প্রয়োজন (উপরের ছবিটি দেখুন):

    1. নিম্নদেশ
    2. উপরের অংশ
    3. সামনে
    4. পেছনে
    5. 4x মাউন্ট

সমস্ত অংশ সমর্থন ছাড়াই মুদ্রিত হতে পারে। আপনি থিংভার্সে ফাইল এবং আমার অন্যান্য কিছু নকশা খুঁজে পেতে পারেন:

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

ধাপ 4: রাস্পবেরি পিআই সেট আপ করা

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

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

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

দূরবর্তী ডেস্কটপ ইনস্টল করুন (আপনার কম্পিউটার থেকে PI অ্যাক্সেস করতে):

sudo apt- আপডেট পান

sudo apt-get

xrdp ইনস্টল করুন

অথবা আপনি ssh এর মাধ্যমে হেডলেস কাজ করতে পারেন (উদা দেখুন

পাসওয়ার্ড পরিবর্তন করুন:

www.raspberrypi.org/forums/viewtopic.php?t=193620

স্পিডটেস্ট ইনস্টল করুন:

sudo

apt-get install python-pip

sudo pip install speedtest-cli

ইনস্টলেশন সফল কিনা তা পরীক্ষা করার জন্য টার্মিনালে স্পিডটেস্ট চালান:

speedtest-cli

যদি সবকিছু ঠিক থাকে তবে আপনার উপরের ছবিটির মতো কিছু পাওয়া উচিত।

WiringPI ইনস্টল করুন

sudo apt-get git-core ইনস্টল করুন

git ক্লোন git: //git.drogon.net/wiringPi

সিডি ওয়্যারিং

./ বিল্ড

(আরও দেখুন

বিকল্প:

sudo apt-wiringpi ইনস্টল করুন

(দেখুন

BCM2835 ইনস্টল করুন

(দেখুন

ডাউনলোড bcm2835-1.60.tar.gz (অথবা একটি নতুন সংস্করণ যদি পাওয়া যায়)

tar zxvf bcm2835-1.60.tar.gz

cd bcm2835-1.60

./সজ্জিত করা

তৈরি করা

sudo চেক করুন

sudo ইনস্টল করুন

পাইথন ইমেজিং লাইব্রেরি ইনস্টল করুন

sudo apt- পাইথন-ইমেজিং ইনস্টল করুন

বিকল্প:

sudo apt-get python-pil ইনস্টল করুন

I2C ফাংশন সক্ষম করুন।

আপনার রাস্পবেরি পাই বোর্ড কনফিগার করতে নিম্নলিখিত কমান্ডটি চালান:

sudo raspi-config

ইন্টারফেস বিকল্পগুলি নির্বাচন করুন -> I2C -> হ্যাঁ, I2C কোর ড্রাইভার শুরু করতে। তারপরে আপনাকে কনফিগারেশন ফাইলটি সংশোধন করতে হবে। কনফিগারেশন ফাইলটি খুলতে নিম্নলিখিত কমান্ডটি চালান:

সুডো ন্যানো /ইত্যাদি /মডিউল

কনফিগারেশন ফাইলে নিম্নলিখিত দুটি লাইন যুক্ত করুন

i2c-bcm2708

i2c-dev

আরও দেখুন

SPI ফাংশন সক্ষম করুন

আপনার রাস্পবেরি পাই বোর্ড কনফিগার করতে নিম্নলিখিত কমান্ডটি চালান:

sudo raspi-config

ইন্টারফেস বিকল্পগুলি নির্বাচন করুন -> এসপিআই -> হ্যাঁ, এসপিআই কোর ড্রাইভার চালু করতে।

অতিরিক্ত ফন্ট ইনস্টল করুন:

sudo apt-get ttf-mscorefonts-installer ইনস্টল করুন

ফন্ট ডাউনলোড এবং ইনস্টল করুন (রোবোটো + ড্রয়েড)

gksudo

pcmanfm

রুট বিশেষাধিকার দিয়ে ফাইল ম্যানেজার শুরু করতে এবং ট্রাইটাইপ ফন্ট ফোল্ডারে অনুলিপি করুন/ইউএসআর/শেয়ার/ফন্ট/ট্রুটাইপ

বিকল্প:

WinSCP দিয়ে ডাউনলোড ফোল্ডারে ফন্টগুলি অনুলিপি করুন (ssh অবশ্যই WinSCP ব্যবহার করতে সক্ষম হওয়া উচিত)

sudo cp -r/home/pi/ডাউনলোড/droid/usr/share/fonts/truetype

sudo cp -r/home/pi/ডাউনলোড/roboto/usr/share/fonts/truetype

ফন্ট ফোল্ডার অ্যাক্সেস করতে আপনার রুট বিশেষাধিকার প্রয়োজন। সম্ভবত এটি করার আরও ভাল উপায় রয়েছে (যেমন উল্লেখ করা হয়েছে আমি লিনাক্স বিশেষজ্ঞ নই) তবে উভয় উপায়ই আমার পক্ষে কাজ করেছে।

পাইথন ফাইল:

একটি নতুন ফোল্ডার "bandwidth_monitor" তৈরি করতে filemanger ব্যবহার করুন

সমস্ত ফাইল ডিরেক্টরি ব্যান্ডউইথ_মনিটরে কপি করুন

পাইথন ফাইল এবং স্ক্রিপ্ট এক্সিকিউটেবল করুন

chmod +x *.py

chmod +x speedtest-cron.sh

Crontab কনফিগার করুন

crontab -e

Crontab প্রোগ্রাম এক্সিকিউশন শিডিউল করতে ব্যবহৃত হয় যেমন প্রতি 30 মিনিটে দ্রুততম পরীক্ষা। আপনার ক্রোনট্যাবে নিম্নলিখিত লাইন যুক্ত করুন (দ্বিতীয় চিত্রটিও দেখুন):

breboot/usr/bin/python /home/pi/bandwidth_monitor/post_restart_message.py &

@রিবুট ঘুম 30 এবং bin/python /home/pi/bandwidth_monitor/poll_killswitch.py 13 03 * * */usr/bin/python /home/pi/bandwidth_monitor/refresh_display.py

নির্ধারিত কাজের বিবরণ:

  • রিবুট করার সময় পুন restসূচনা বার্তাটি IOT ড্যাশবোর্ডে লেখা হয়
  • ভোট পুনরায় বুট করার সময় test_now_button শুরু হয়েছে
  • প্রতি 30 মিনিটে একটি ব্যান্ডউইথ পরিমাপ করা হয়
  • প্রতি 3 মিনিটে রিমোট রিসেট বাটনের অবস্থা (IOT ড্যাশবোর্ডে) চেক করা হয়
  • দিনে একবার একটি ডিসপ্লে রিফ্রেশ চক্র শুরু হয়।

প্রোগ্রামগুলির সংক্ষিপ্ত বিবরণের জন্য সফ্টওয়্যার বিভাগ দেখুন।

ধাপ 5: সফটওয়্যার

সফটওয়্যার
সফটওয়্যার

সফ্টওয়্যারটি বিভিন্ন ফাইল / প্রোগ্রামে বিভক্ত:

bandwidth_monitor_0_4.py হল প্রধান প্রোগ্রাম যা প্রতি আধা ঘন্টায় ক্রনট্যাব দ্বারা আহ্বান করা হয়। এটি একটি ব্যান্ডউইথ পরীক্ষা করে (speedtest.net এর কমান্ড লাইন সংস্করণের মাধ্যমে)। পরীক্ষার সময়, RGB LED নীল। যদি ব্যান্ডউইথ নির্বাচিত থ্রেশহোল্ডের উপরে থাকে, মানটি ই-কালি প্রদর্শনে (টাইমস্ট্যাম্প সহ) দেখানো হয় এবং ইউবিডটস ড্যাশবোর্ডে রপ্তানি করা হয়। যদি ব্যান্ডউইথ থ্রেশহোল্ডের নীচে থাকে তবে LED লাল হয়ে যায় এবং অল্প বিলম্বের পরে পরিমাপ পুনরাবৃত্তি হয়। Negative টি নেতিবাচক প্রচেষ্টার পর রিলে সক্রিয় হয় এবং এভাবে মডেমের বিদ্যুৎ সরবরাহ ব্যাহত হয়। রিসেট কোড (মান = 2) লগ বিভাগে লেখা হয়।

poll_killswitch.py ড্যাশবোর্ডে একটি বুলিয়ান ভেরিয়েবলের অবস্থা পড়ে। যদি killswitch_state সত্য হয় তাহলে রিলেস সক্রিয় হয় এবং মডেমের বিদ্যুৎ সরবরাহ ব্যাহত হয়। কিলসুইচ ভোটের সময় RGB LED সবুজ হয়ে যায়। রিসেট করার পরে killswitch_state মিথ্যা সেট করা হয় এবং ড্যাশবোর্ডের লগ বিভাগে একটি এন্ট্রি উৎপন্ন হয় (মান = 1)।

poll_test_now_button.py কেসটির সামনের প্যানেলে pushbutton চাপার জন্য অপেক্ষা করছে। বোতামটি সক্রিয় করে, একটি ব্যান্ডউইথ পরিমাপ ম্যানুয়ালি ট্রিগার করা হয়। যখন প্রোগ্রামটি শুরু হয় (রাস্পবেরি পাই পুনরায় বুট করার সময়) আরজিবি এলইডি জ্বলজ্বল করছে লাল।

post_restart_message.py ড্যাশবোর্ডের লগ বিভাগে রিসেট কোড (মান = 3) লিখেছে। এটি নির্দেশ করে যে ব্যান্ডউইথ মনিটর পুনরায় চালু করা হয়েছে। প্রোগ্রাম শুরু করার সময় আরজিবি এলইডি ফ্ল্যাশ নীল।

test_LED.py এবং test_relay.py হল সহজ স্ক্রিপ্ট যা RGB LED এবং রিলে এর হার্ডওয়্যার ফাংশন পরীক্ষা করতে ব্যবহার করা যেতে পারে।

epdconfig.py এবং epd2in9.py হল ওয়েভশেয়ার প্রদত্ত ই-কালি প্রদর্শনের জন্য ডিভাইস ড্রাইভার।

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

কিভাবে ড্যাশবোর্ড তৈরি করতে হয় এবং কিভাবে ড্যাশবোর্ডকে পাইথন প্রোগ্রামে সংহত করা যায় সে বিষয়ে বিস্তৃত টিউটোরিয়াল সরাসরি ইউবিডটস পৃষ্ঠায় (https://help.ubidots.com/en/) অথবা গুগলের মাধ্যমে পাওয়া যাবে।

ধাপ 6: IOT ড্যাশবোর্ড

IOT ড্যাশবোর্ড
IOT ড্যাশবোর্ড

ইউবিডটস দ্বারা হোস্ট করা ড্যাশবোর্ড (দেখুন https://ubidots.com) বেশ কয়েকটি ক্ষেত্র রয়েছে যা সংক্ষেপে নিচে বর্ণিত হয়েছে।

    1. সময়ের ক্রম আপ- এবং ডাউনলোড গতি। প্রতি আধা ঘণ্টায় একটি নতুন মান ডায়াগ্রামে োকানো হয়।
    2. পরিমাপ করা পিং সময়ের টাইম কোর্স। প্রতি আধা ঘণ্টায় একটি নতুন মান ডায়াগ্রামে োকানো হয়।
    3. গড় ডাউনলোড গতির সময় ক্রম। 24 ঘন্টার উপরে গড় মান গণনা করা হয় এবং ডায়াগ্রামে লেখা হয়।
    4. টাইম স্ট্যাম্প সহ বর্তমান পরিমাপের মানগুলির স্প্রেডশীট উপস্থাপনা।
    5. ইন্টারনেটের মাধ্যমে মডেম রিসেট করার জন্য রিমোট কন্ট্রোল বোতাম। ক্যোয়ারী প্রতি 3 মিনিটে ঘটে, যেমন ক্রিয়াটি সম্পন্ন না হওয়া পর্যন্ত কিছু সময় লাগতে পারে।
    6. রিসেটের কারণ সহ শেষ রিসেটগুলির লগিং (রিমোট ট্রিগারিং, সুইচ অফ বা ভোল্টেজের ক্ষতি, সর্বনিম্ন ব্যান্ডউইথের নিচে পড়া)

কিভাবে ড্যাশবোর্ড তৈরি করতে হয় এবং কিভাবে ড্যাশবোর্ডকে পাইথন প্রোগ্রামে সংহত করা যায় সে বিষয়ে বিস্তৃত টিউটোরিয়াল সরাসরি ইউবিডটস পৃষ্ঠায় (https://help.ubidots.com/en/) অথবা গুগলের মাধ্যমে পাওয়া যাবে।

প্রস্তাবিত: