فهرست مطالب:
تصویری: سرعت سنج اینترنت: 4 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:57
بررسی اجمالی
این "سرعت سنج اینترنت" به شما امکان می دهد تا زمان واقعی استفاده از شبکه خود را کنترل کنید. این اطلاعات در رابط وب اکثر روترهای خانگی موجود است. با این حال ، دسترسی به آن مستلزم آن است که کار فعلی خود را متوقف کنید تا به دنبال آن باشید.
من می خواستم این اطلاعات را بدون نیاز به وقفه در کار فعلی خود مشاهده کنم ، آن را در قالبی که فقط با یک نگاه سریع قابل فهم باشد نمایش دهم و اطلاعات را به گونه ای بدست آورم که تا حد امکان با روترها کار کند ، بنابراین دیگران می توانند به طور بالقوه نیز از آن استفاده کنید
چگونه کارها را انجام می دهد
من SNMP (پروتکل ساده مدیریت شبکه) را به عنوان راهی برای دریافت اطلاعات از روتر تصمیم گرفتم. SNMP به طور گسترده ای در تجهیزات شبکه مورد استفاده قرار می گیرد و اگر دستگاه شما به طور پیش فرض از آن پشتیبانی نمی کند DDWRT (سیستم عامل روتر منبع باز) می تواند برای پیاده سازی SNMP استفاده شود.
برای نمایش اطلاعات به گونه ای که درک آن آسان باشد ، از یک سنج ماشین استفاده کردم. دستگاه های اندازه گیری خودرو طوری طراحی شده اند که بدون ایجاد حواس پرتی یا گیجی اطلاعات را در اختیار شما قرار می دهند ، بنابراین راننده می تواند چشم خود را در جاده نگه دارد. همچنین ، من تعدادی دراز کشیدم.
از آنجا که این روی میز من قرار داشت ، تصمیم گرفتم چراغ عقب را RGB نیز بسازم زیرا لوازم جانبی کامپیوتر همه باید RGB باشند. درست؟
چالش ها
ابزارهای اندازه گیری من از محرک هوا هسته استفاده می کردند. تا قبل از این پروژه چنین چیزی نشنیده بودم.
از ویکی پدیا: اندازه گیری هسته هوا شامل دو سیم پیچ مستقل و عمود بر یک محفظه توخالی است. شفت سوزن به داخل محفظه بیرون زده است ، جایی که آهنربای دائمی به آن چسبانده می شود. هنگامی که جریان در سیم پیچ های عمود بر جریان می یابد ، میدان مغناطیسی آنها روی هم قرار می گیرد و آهن ربا آزاد است که با میدان های ترکیبی هم تراز شود.
من نتوانستم کتابخانه ای برای Arduino پیدا کنم که از SNMP در پیکربندی مدیر پشتیبانی کند. SNMP دو شکل اصلی دارد ، عامل و مدیر. نمایندگان به درخواست پاسخ می دهند و مدیران درخواست را به نمایندگان ارسال می کنند. من توانستم با تغییر کتابخانه Arduino_SNMP ایجاد شده توسط 0neblock ، عملکرد مدیر را فعال کنم. من هرگز به غیر از چشمک زدن LED در Arduino در C ++ برنامه نویسی نکرده ام ، بنابراین اگر مشکلی در کتابخانه SNMP وجود دارد ، به من اطلاع دهید و سعی می کنم آنها را برطرف کنم ، اما در حال حاضر کار می کند.
علاوه بر این ، SNMP برای مشاهده زمان واقعی طراحی نشده است. استفاده مورد نظر برای ردیابی آمار و تشخیص قطعی ها است. به همین دلیل ، اطلاعات روتر فقط هر 5 ثانیه به روز می شود (ممکن است دستگاه شما متفاوت باشد). این دلیل تأخیر بین عدد تست سرعت و حرکت سوزن است.
مرحله 1: ابزار و مواد
ما به 3 پل H کامل نیاز داریم. مدل هایی که استفاده کردم Dual TB6612FNGand Dual L298N هستند.
هر محرک Air-Core به 2 پل H کامل نیاز دارد زیرا سیم پیچ ها باید به طور مستقل کنترل شوند.
یکی از اندازه گیری هایی که من استفاده می کنم دارای یک سیم پیچ با اتصال دیود و مقاومت به زمین است. من از علم پشت آن مطمئن نیستم ، اما با این کار می توان آن را تنها با یک سیم پیچ تغذیه کرد و حدود 90 درجه بچرخد.
من از تنظیم کننده 12 ولت تا 5 ولت که بخشی از برد L298N است که برای تغذیه ESP32 انتخاب کرده ام ، استفاده خواهم کرد.
همه مدارهای LED اختیاری هستند ، و همچنین اتصالات JST. به راحتی می توانید سیم ها را مستقیماً به ESP32 و درایور موتور لحیم کنید.
مرحله 3: طراحی کد
راه اندازی کد
ما باید Arduino را راه اندازی کنیم تا بتوانیم از برد ESP32 استفاده کنیم. یک راهنمای خوب در اینجا وجود دارد که شما را در راه اندازی ESP32 Arduino راهنمایی می کند.
شما همچنین به کتابخانه Arduino_SNMP واقع در اینجا نیاز دارید.
برای پیکربندی کد ، باید برخی اطلاعات را جمع آوری کنید.
- IP روتر
- حداکثر سرعت بارگذاری
- حداکثر سرعت بارگیری
- نام و رمز عبور WiFi شما
- OID که شامل تعداد اکتت برای "در" و "خارج" در رابط WAN روترهای شما است
برای اطلاعات موردنظر ما OID های استاندارد (Object Identifiers) وجود دارد. طبق استاندارد 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 استفاده کردم. هنگامی که سرعت خود را بر مگابیت بر ثانیه دارید ، باید با استفاده از این فرمول آنها را به هشت تایی تبدیل کنید.
اکتت در ثانیه = (نتیجه آزمایش سرعت در Mbps * 1048576 *) / 8
تابع کد
کد یک درخواست SNMP را به روتر ارسال می کند. روتر سپس با یک شماره پاسخ می دهد ، این عدد نشان دهنده تعداد اکتت های ارسال شده یا دریافت شده است. در همان زمان ، ما تعداد میلی ثانیه هایی را که از زمان راه اندازی آردوینو می گذرد ، ثبت می کنیم.
هنگامی که این فرایند حداقل دوبار اتفاق افتاد ، می توانیم درصد استفاده را بر اساس حداکثر مقادیر خود با استفاده از این کد محاسبه کنیم
درصدDown = ((float) (byteDown - byteDownLast)/(float) (maxDown * ((millis () - timeLast)/1000))) * 100 ؛
ریاضی به این شکل خراب می شود:
octetsDiff = snmp_result - قبلی_ snmp_result
timeFrame = currentTime - timeLast
MaxPosableOverTime = (timeFrame * Octets_per_second)/1000
درصد = (octetsDiff / MaxPosableOverTime) * 100
اکنون که درصد استفاده از شبکه را داریم ، فقط باید آن را به گیج بنویسیم. ما این کار را در 2 مرحله انجام می دهیم. ابتدا از تابع updateDownloadGauge استفاده می کنیم. در این تابع از "map" برای تبدیل درصد به عددی که نشان دهنده موقعیت شعاعی روی گیج است استفاده می کنیم. سپس آن عدد را به تابع setMeterPosition می دهیم تا سوزن به موقعیت جدید منتقل شود.
مرحله 4: طراحی مورد
برای اینکه همه چیز را در بر بگیرم ، یک محوطه را در fusion360 طراحی کردم و آن را 3D چاپ کردم. طراحی من نسبتاً ساده است. من از چسب حرارتی برای اتصال قطعات به داخل استفاده کردم و با فشار دادن بین جلد جلویی و قاب پشتی ، سنج ثابت می شود. برای ایجاد کیس نیازی به استفاده از چاپ سه بعدی ندارید. به عنوان مثال ، می توانید یک قاب را از چوب بسازید ، یا می توانید همه چیز را در جعبه اصلی که سنج ها وارد شده اند ، قرار دهید.
اگر می خواهید به آنها نگاه کنید فایل های STL من در thingiverse در دسترس هستند ، اما بعید است که آنها برای شما کار کنند مگر اینکه دقیقاً همان اندازه گیری هایی را که من استفاده کردم دریافت کنید.
پرونده های مورد:
ممنون که خواندید. اگر سوالی داشتید به من اطلاع دهید و من تمام تلاش خود را برای پاسخگویی به کار می گیرم.
توصیه شده:
سرعت سنج چرخ همستر: 11 مرحله (همراه با تصاویر)
سرعت سنج چرخ همستر: حدود سه سال پیش ، برادرزاده ها اولین حیوان خانگی خود را ، یک همستر به نام ناگت ، گرفتند. کنجکاوی در مورد تمرینات ورزشی ناگت پروژه ای را آغاز کرد که مدتها ناگت (RIP) به طول انجامید. این دستورالعمل یک چسب نوری چرخ عملکردی
سرعت سنج دوچرخه DIY: 5 مرحله (همراه با تصاویر)
سرعت سنج دوچرخه DIY: من نحوه ساخت سرعت سنج دوچرخه را به شما نشان خواهم داد. این سرعت ، سرعت متوسط ، دما ، زمان سفر و کل مسافت شما را نشان می دهد. با استفاده از دکمه می توانید آن را تغییر دهید. علاوه بر این ، سرعت در یک سرعت سنج نشان داده می شود. من آن را ساختم زیرا
سرعت سنج اینترنت: 9 مرحله (همراه با تصاویر)
سرعت سنج اینترنتی: با قفل شدن کامل در هند ، همه چیز از جمله خدمات پست بسته شده است. بدون پروژه PCB جدید ، بدون قطعات جدید ، هیچ چیز! بنابراین برای غلبه بر کسالت و مشغول نگه داشتن خودم ، تصمیم گرفتم از قسمتهایی که می خواهم چیزی بسازم
نمایش سرعت سنج دوچرخه: 10 مرحله (همراه با تصاویر)
نمایشگر سرعت سنج دوچرخه: چیست؟ همانطور که از نامش پیداست ، در این پروژه خواهید آموخت که چگونه یک نمایشگر برای دوچرخه خود ایجاد کنید که هم از سرعت سنج و هم از کیلومتر شمار تشکیل شده باشد. نشان دهنده سرعت و مسافت طی شده در زمان واقعی. هزینه کل این پروژه به حدود
سرعت سنج ساخته شده از سرعت سنج دوچرخه (سیکلو کامپیوتر): 3 مرحله (همراه با تصاویر)
سرعت سنج ساخته شده از سرعت سنج دوچرخه (سایکو کامپیوتر): گاهی اوقات فقط باید بدانید که چرخ یا محور یا موتور با چه سرعتی می چرخد. دستگاه اندازه گیری سرعت چرخش ، سرعت سنج است. اما گران هستند و یافتن آنها آسان نیست. تهیه آن با استفاده از سرعت سنج دوچرخه ارزان و آسان است (cycl