সুচিপত্র:

ইন্টারনেট স্পিড গেজ: 4 টি ধাপ (ছবি সহ)
ইন্টারনেট স্পিড গেজ: 4 টি ধাপ (ছবি সহ)

ভিডিও: ইন্টারনেট স্পিড গেজ: 4 টি ধাপ (ছবি সহ)

ভিডিও: ইন্টারনেট স্পিড গেজ: 4 টি ধাপ (ছবি সহ)
ভিডিও: 4 ক্যামেরা / 3 ক্যামেরা কিভাবে চালাবেন? | How to use all camera in phone bangla | Imrul Hasan Khan 2024, নভেম্বর
Anonim
Image
Image
ইন্টারনেট স্পিড গেজ
ইন্টারনেট স্পিড গেজ
ইন্টারনেট স্পিড গেজ
ইন্টারনেট স্পিড গেজ

ওভারভিউ

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

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

এটি কীভাবে কাজ করে

রাউটার থেকে তথ্য পাওয়ার উপায় হিসেবে আমি SNMP (সিম্পল নেটওয়ার্ক ম্যানেজমেন্ট প্রোটোকল) নিয়ে সিদ্ধান্ত নিয়েছি। এসএনএমপি নেটওয়ার্কিং সরঞ্জামগুলিতে ব্যাপকভাবে ব্যবহৃত হয় এবং যদি আপনার ডিভাইস ডিফল্টরূপে এটি সমর্থন না করে (ওপেন সোর্স রাউটার ফার্মওয়্যার) এসএনএমপি বাস্তবায়নের জন্য ব্যবহার করা যেতে পারে।

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

যেহেতু এটি আমার ডেস্কে থাকবে তাই আমি সিদ্ধান্ত নিলাম আমি ব্যাক লাইট আরজিবিও তৈরি করব কারণ কম্পিউটার আনুষাঙ্গিকগুলি সবই আরজিবি হওয়া উচিত। ঠিক?

চ্যালেঞ্জ

যে গেজগুলি আমি এয়ার-কোর অ্যাকচুয়েটর ব্যবহার করেছি। এই প্রকল্পের আগে আমি এগুলোর কথা কখনও শুনিনি।

উইকিপিডিয়া থেকে: এয়ার কোর গেজ দুটি ফাঁকা চেম্বারকে ঘিরে দুটি স্বাধীন, লম্ব কুণ্ডলী নিয়ে গঠিত। একটি সুই শ্যাফ্ট চেম্বারে প্রবেশ করে, যেখানে একটি স্থায়ী চুম্বক শ্যাফ্টের সাথে লেগে থাকে। যখন লম্ব কুণ্ডলীর মধ্য দিয়ে কারেন্ট প্রবাহিত হয়, তখন তাদের চৌম্বকীয় ক্ষেত্রগুলি সুপারিপোজ করে এবং চুম্বকটি সম্মিলিত ক্ষেত্রগুলির সাথে সারিবদ্ধভাবে মুক্ত থাকে।

আমি Arduino এর জন্য একটি লাইব্রেরি খুঁজে পাইনি যা ম্যানেজার কনফিগারেশনে SNMP সমর্থন করে। এসএনএমপির দুটি প্রধান ফর্ম, এজেন্ট এবং ম্যানেজার। এজেন্টরা অনুরোধে সাড়া দেয় এবং ম্যানেজাররা এজেন্টদের কাছে অনুরোধ পাঠায়। আমি 0neblock দ্বারা তৈরি Arduino_SNMP লাইব্রেরি পরিবর্তন করে ম্যানেজারের কার্যকারিতা পেতে সক্ষম হয়েছিলাম। আমি আরডুইনোতে এলইডি ব্লিংক করা ছাড়া আর কখনও সি ++ তে প্রোগ্রাম করিনি তাই এসএনএমপি লাইব্রেরিতে সমস্যা থাকলে আমাকে জানাবেন এবং আমি সেগুলি ঠিক করার চেষ্টা করব, যদিও এটি এখন কাজ করছে।

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

ধাপ 1: সরঞ্জাম এবং উপকরণ

সরঞ্জাম এবং উপকরণ
সরঞ্জাম এবং উপকরণ
সরঞ্জাম এবং উপকরণ
সরঞ্জাম এবং উপকরণ
সরঞ্জাম এবং উপকরণ
সরঞ্জাম এবং উপকরণ
সরঞ্জাম এবং উপকরণ
সরঞ্জাম এবং উপকরণ
সার্কিট ডিজাইন
সার্কিট ডিজাইন

আমাদের full টি পূর্ণ এইচ-ব্রিজ লাগবে। আমি যে মডেলগুলি ব্যবহার করেছি তা হল ডুয়াল টিবি 6612 এফএনজি এবং ডুয়াল এল 298 এন।

প্রতিটি এয়ার-কোর অ্যাকচুয়েটরের জন্য 2 টি পূর্ণ এইচ-ব্রিজ প্রয়োজন কারণ কয়েলগুলি স্বাধীনভাবে নিয়ন্ত্রণ করা প্রয়োজন।

আমি যে গেজগুলি ব্যবহার করছি তার মধ্যে একটি কয়েল একটি ডায়োড এবং প্রতিরোধক দিয়ে মাটিতে সংক্ষেপিত। আমি এর পিছনে বিজ্ঞান সম্পর্কে নিশ্চিত নই কিন্তু এটি করার ফলে এটি শুধুমাত্র একটি কুণ্ডলী দিয়ে 90 ডিগ্রী ঘুরতে দেয়।

আমি 12v থেকে 5v নিয়ন্ত্রক ব্যবহার করব যা L298N বোর্ডের অংশ যা আমি ESP32 কে পাওয়ার জন্য নির্বাচিত করেছি।

সমস্ত LED সার্কিট্রি optionচ্ছিক, সেইসাথে JST সংযোগকারী। আপনি সহজেই ESP32 এবং মোটর ড্রাইভারের কাছে তারগুলি বিক্রি করতে পারেন।

ধাপ 3: কোড ডিজাইন

কোড সেটআপ

ESP32 বোর্ড ব্যবহার করতে সক্ষম হওয়ার জন্য আমাদের Arduino সেটআপ করতে হবে। এখানে একটি ভাল গাইড রয়েছে যা আপনাকে ESP32 Arduino সেটআপের মাধ্যমে নিয়ে যাবে।

আপনার এখানে থাকা Arduino_SNMP লাইব্রেরিরও প্রয়োজন হবে।

কোড কনফিগার করার জন্য, আপনাকে কিছু তথ্য সংগ্রহ করতে হবে।

  1. রাউটার আইপি
  2. সর্বোচ্চ আপলোড গতি
  3. সর্বোচ্চ ডাউনলোড গতি
  4. আপনার ওয়াইফাই নাম এবং পাসওয়ার্ড
  5. আপনার রাউটার WAN ইন্টারফেসে "ইন" এবং "আউট" এর জন্য অক্টেট গণনা করা OID রয়েছে

আমাদের প্রয়োজনীয় তথ্যের জন্য স্ট্যান্ডার্ড ওআইডি (অবজেক্ট আইডেন্টিফায়ার) আছে। MIB-2 স্ট্যান্ডার্ড অনুযায়ী আমরা যে সংখ্যাগুলো চাই তা হল:

ifInOctets.1.3.6.1.2.1.2.2.1.16. X

ifOutOctets.1.3.6.1.2.1.2.2.1.10. X

যেখানে X হল ইন্টারফেসের জন্য নির্ধারিত নম্বর যেখানে আপনি পরিসংখ্যান পেতে চান। আমার জন্য সেই সংখ্যাটি 3.। এটি নিশ্চিত করার একটি উপায় যে এটি আপনার জন্য সঠিক OID এবং আপনার কোন ইন্টারফেস নম্বর ব্যবহার করতে হবে তা চিহ্নিত করার জন্য MIB ব্রাউজারের মতো একটি টুল ব্যবহার করা।

সর্বোচ্চ গতি পেতে আমি SpeedTest.net ব্যবহার করেছি। একবার এমবিপিএসে আপনার গতি থাকলে আপনাকে এই সূত্রটি ব্যবহার করে সেগুলোকে অক্টেটে রূপান্তর করতে হবে।

অক্টেট প্রতি সেকেন্ড = (এমবিপিএস * 1048576 এ স্পিড টেস্টের ফলাফল) / 8

কোড ফাংশন

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

একবার এই প্রক্রিয়াটি কমপক্ষে দুবার হয়ে গেলে আমরা এই কোডটি ব্যবহার করে আমাদের সর্বোচ্চ মানগুলির ভিত্তিতে ব্যবহারের শতাংশ গণনা করতে পারি

পার্সেন্টডাউন = ((ফ্লোট) (বাইটডাউন - বাইটডাউনলাস্ট)/(ফ্লোট) (ম্যাক্সডাউন * ((মিলিস () - টাইমলাস্ট)/1000))) * 100;

গণিত এইভাবে ভেঙে যায়:

octetsDiff = snmp_result - আগের_ snmp_result

timeFrame = currentTime - timeLast

MaxPosableOverTime = (timeFrame * Octets_per_second)/1000

শতাংশ = (octetsDiff / MaxPosableOverTime) * 100

এখন যেহেতু আমাদের কাছে নেটওয়ার্ক ব্যবহারের শতকরা ভাগ আছে তাই আমাদের শুধু গেজে লিখতে হবে। আমরা এটি 2 ধাপে করি। প্রথমে আমরা updateDownloadGauge ফাংশন ব্যবহার করি। এই ফাংশনে আমরা শতাংশকে একটি সংখ্যায় রূপান্তর করতে "মানচিত্র" ব্যবহার করি যা গেজে রেডিয়ান অবস্থানকে উপস্থাপন করে। তারপরে আমরা সেই নম্বরটি setMeterPosition ফাংশনে দেই যাতে সুইটিকে নতুন অবস্থানে নিয়ে যায়।

ধাপ 4: কেস ডিজাইন

কেস ডিজাইন
কেস ডিজাইন
কেস ডিজাইন
কেস ডিজাইন
কেস ডিজাইন
কেস ডিজাইন

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

আমার এসটিএল ফাইলগুলি যদি আপনি সেগুলি দেখতে চান তবে জিনিসের উপর উপলব্ধ কিন্তু এটি আমার পক্ষে কাজ করা সম্ভব নয় যতক্ষণ না আপনি যে একই গেজগুলি ব্যবহার করেছেন তা না পাওয়া যায়।

কেস ফাইল:

পড়ার জন্য ধন্যবাদ. আপনার কোন প্রশ্ন থাকলে আমাকে জানান এবং আমি উত্তর দেওয়ার জন্য যথাসাধ্য চেষ্টা করব।

প্রস্তাবিত: