فهرست مطالب:
- مرحله 1: برنامه
- مرحله 2: چیزهایی که به آنها نیاز خواهید داشت
- مرحله 3: محاسبه جریان انحراف در مقیاس کامل
- مرحله 4: ایجاد درخواست SNMP GET
- مرحله 5: درک پاسخ GET
- مرحله 6: مبدل دیجیتال به آنالوگ (DAC)
- مرحله 7: مجمع
- مرحله 8: زمان برنامه نویسی
- مرحله نهم: لذت ببرید
تصویری: سرعت سنج اینترنت: 9 مرحله (همراه با تصاویر)
2024 نویسنده: John Day | [email protected]. آخرین اصلاح شده: 2024-01-30 08:53
با قرنطینه کامل در هند ، همه چیز از جمله خدمات پست بسته شده است. بدون پروژه PCB جدید ، بدون قطعات جدید ، هیچ چیز! بنابراین برای غلبه بر کسالت و مشغول نگه داشتن خودم ، تصمیم گرفتم از قطعاتی که قبلاً در خانه دارم چیزی تهیه کنم. جستجو را از روی توده آشغال های الکترونیکی شروع کردم و یک مولتی متر آنالوگ قدیمی و شکسته را پیدا کردم. من "حرکت متر" را از آن نجات دادم و تصمیم گرفتم نوعی اطلاعات را نمایش دهم ، اما دقیقاً نمی دانستم چه چیزی. ابتدا ، من به فکر نمایش آمار COVID-19 بودم ، اما در حال حاضر پروژه های بهتری در اینترنت وجود دارد. همچنین ، داده ها پس از چند ساعت به روز می شوند و نشانگر ثابت متر خسته کننده خواهد بود. من می خواستم داده هایی که به سرعت تغییر می کنند ، هر ثانیه تغییر کنند. من در اینستاگرام پیشنهاداتی درخواست کردم و یکی از دنبال کنندگان من با سرعت سنج اینترنتی پاسخ داد. جالب به نظر می رسید و تصمیم گرفتم آن را بسازم!
در این دستورالعمل ، من به شما نشان می دهم که چگونه از روتر WiFi خود با استفاده از SNMP اطلاعات را گرفته و سرعت بارگذاری و بارگیری را بر روی متر نمایش داده ام.
بیایید شروع کنیم
مرحله 1: برنامه
مثل همیشه قبل از شروع پروژه ، من کمی در مورد اینترنت تحقیق کردم. چند پروژه مرتبط با این موضوع پیدا کردم. آنها دو نوع بودند. یکی که سرعت اینترنت را با اندازه گیری "قدرت" سیگنال WiFi نشان می دهد. من یک متخصص شبکه نیستم اما این درست به نظر نمی رسید. دیگران میزان تأخیر را اندازه گیری کردند و سرعت را به صورت آهسته ، متوسط یا سریع طبقه بندی کردند. تأخیر عبارت است از تاخیر زمانی بین ارسال درخواست و دریافت پاسخ و بنابراین نمی تواند نشان دهنده سرعت واقعی اینترنت باشد. ما می توانیم آن را سرعت پاسخ شبکه بنامیم! سپس پروژه های قانونی وجود داشت که زمان مورد نیاز برای بارگیری برخی از داده ها را اندازه گیری می کردند و بر اساس آن سرعت اینترنت را محاسبه می کردند.
اما در این پروژه (توسط Alistair) بود که با پروتکل ساده مدیریت شبکه یا SNMP آشنا شدم. با استفاده از SNMP ، می توانیم با روتر WiFi ارتباط داشته باشیم و داده های مورد نیاز را مستقیماً از آن دریافت کنیم. آسان ، درست است؟ قطعا نه! از آنجا که مدلهای مختلف روترهای WiFi از تنظیمات متفاوتی برخوردارند و قبل از اینکه نهایتاً خروجی را دریافت کنید ، نیاز به آزمایش و خطای زیادی دارند. نترس. من به طور خلاصه هر آنچه راجع به SNMP و مشکلاتی که در مراحل بعدی با آن روبرو شدم ، توضیح می دهم.
بنابراین برنامه این است که از NodeMCU برای اتصال به روتر WiFi استفاده کنید. این مراحل برای رسیدن به خروجی نهایی است:
- ارسال یک درخواست به روتر 'درخواست' داده های مورد نیاز
- پاسخ را از روتر دریافت کنید
- پاسخ را تجزیه و تحلیل کرده و داده های مورد نیاز را از آن تجزیه کنید
- داده های "خام" را به اطلاعات قابل فهم تبدیل کنید
- ولتاژ متناسب با سرعت اینترنت برای متر ایجاد کنید
- تکرار
من برای کنترل متر از DAC یا مبدل دیجیتال به آنالوگ استفاده می کنم.
مرحله 2: چیزهایی که به آنها نیاز خواهید داشت
1x NodeMCU
1x حرکت متر آنالوگ
1x MPU4725 DAC
سوئیچ 1x SPDT
پتانسیومتر 1x 10k
1 برابر مقاومت
مرحله 3: محاسبه جریان انحراف در مقیاس کامل
توجه: برای ساخت واقعی به مرحله 7 بروید!
اگر جریان انحراف در مقیاس کامل برای متر خود را می دانید ، این مرحله را رد کنید. متر من هیچ اشاره ای به آن نکرد ، بنابراین مجبور شدم محاسبه کنم. اما ابتدا اجازه دهید سریع ببینیم که چنین حرکتی چگونه کار می کند. این شامل یک سیم پیچ معلق در میدان مغناطیسی است. وقتی جریان از سیم پیچ عبور می کند ، طبق قانون فارادی ، نیرویی را تجربه می کند. سیم پیچ اجازه می دهد آزادانه در میدان مغناطیسی بچرخد و همچنین اشاره گر که به سیم پیچ وصل شده است. مقدار جریانی که باعث می شود اشاره گر در "انتهای مقیاس" حرکت کند جریان انحرافی در مقیاس کامل نامیده می شود. این همچنین حداکثر جریانی است که باید اجازه داده شود از سیم پیچ عبور کند.
کارهای زیادی در حال انجام است اما این برای کاری که ما انجام می دهیم کافی است. ما اکنون جنبش داریم. می توان از آن به عنوان ولت متر با افزودن مقاومت بالا به صورت سری با آن یا به عنوان آمپر متر با افزودن یک مقاومت کوچک به موازات آن استفاده کرد. ما از آن به عنوان ولت متر برای نمایش ولتاژ متناسب با سرعت اینترنت استفاده می کنیم. بنابراین ، ما باید مقاومت را که باید به صورت سری اضافه شود محاسبه کنیم. برای این کار ، ابتدا باید جریان انحراف در مقیاس کامل را محاسبه کنیم.
- انتخاب مقدار مقاومت بالا (مانند> 100k)
- آن را به صورت سری با حرکت وصل کنید و با استفاده از قابلمه یک ولتاژ متغیر روی آن اعمال کنید.
- به آرامی ولتاژ را افزایش دهید تا نشانگر به انتهای مقیاس برسد.
- با استفاده از مولتی متر ، جریان عبوری را اندازه بگیرید. این جریان انحراف در مقیاس کامل است. (I = 150uA در مورد من)
ما از DAC استفاده می کنیم که دارای محدوده ولتاژ خروجی از 0 تا VCC (3.3V به دلیل NodeMCU) است. این بدان معناست که هنگامی که 3.3V به متر اعمال می شود ، باید در انتهای مقیاس نشان دهد. این می تواند زمانی اتفاق بیفتد که جریان انحرافی در مقیاس کامل در هنگام اعمال 3.3V از مدار عبور می کند. با استفاده از قانون اهم ، 3.3/(جریان انحراف در مقیاس کامل) مقدار مقاومت را به صورت سری وارد می کند.
مرحله 4: ایجاد درخواست SNMP GET
پروتکل مدیریت شبکه ساده (SNMP) یک پروتکل استاندارد اینترنت برای جمع آوری و سازماندهی اطلاعات مربوط به دستگاه های مدیریت شده در شبکه های IP و اصلاح این اطلاعات برای تغییر رفتار دستگاه است. دستگاه هایی که معمولاً از SNMP پشتیبانی می کنند شامل مودم های کابلی ، روترها ، سوئیچ ها ، سرورها ، ایستگاه های کاری ، چاپگرها و موارد دیگر است. برای این ساخت ، ما با روتر WiFi خود با استفاده از SNMP ارتباط برقرار کرده و داده های مورد نیاز را دریافت می کنیم.
اما ابتدا ، ما باید یک درخواست معروف به عنوان "GET Request" را به روتر ارسال کنیم که جزئیات داده هایی را که می خواهیم ذکر کند. فرمت GET Request در تصویر نشان داده شده است. درخواست شامل بخشهای مختلف است. بایت هایی را که ممکن است بخواهید تغییر دهید ، برجسته کرده ام.
لطفاً توجه داشته باشید که همه چیز به صورت هگزادسیمال است.
پیام SNMP -در مورد من ، طول کل پیام 40 (رنگ خاکستری) است که وقتی به هگزادسیمال تبدیل می شود 0x28 است.
SNMP Community String - مقدار 'PUBLIC' به صورت هگزادیمال '70 75 62 6C 69 63' نوشته شده است که طول آن 6 (زرد) است.
SNMP PDU Type - در مورد من ، طول پیام 27 (آبی) یعنی 0x1B است.
نوع لیست Varbind - در مورد من ، طول پیام 16 (سبز) یعنی 0x10 است.
Varbind Type - در مورد من ، طول پیام 14 (صورتی) یعنی 0x0E است.
شناسه شی -
همانطور که قبلاً ذکر شد ، دستگاه های شبکه دارای SNMP (به عنوان مثال روترها ، سوئیچ ها و غیره) پایگاه داده ای از وضعیت سیستم ، در دسترس بودن و اطلاعات عملکرد به عنوان اشیاء ، که توسط OID ها شناسایی می شوند ، نگهداری می کند. شما باید OID های روتر خود را برای بسته های بارگذاری و بارگیری شناسایی کنید. این را می توان با استفاده از مرورگر MIB رایگان مانند این انجام داد.
آدرس را به عنوان 192.168.1.1 و OID را به عنوان.1.3.6.1.2.1.2.2.1.10.x (ifInOctets) یا.1.3.6.1.2.1.2.2.1.16.x وارد کنید. (ifOutOctets). گزینه Get operation را انتخاب کرده و بر روی Go کلیک کنید. شما باید OID را به همراه مقدار و نوع آن مشاهده کنید.
در مورد من ، طول پیام 10 (قرمز) یعنی 0x0A است. مقدار را با OID جایگزین کنید. در این مورد ، "2B 06 01 02 01 02 02 01 01 10 10"
خودشه! پیام درخواست شما آماده است. بقیه بایت ها را همانطور که هستند نگه دارید.
روشن کردن SNMP روی روتر:
- از طریق دروازه پیش فرض وارد صفحه روتر WiFi خود شوید. در مرورگر خود 192.168.1.1 را تایپ کرده و enter را فشار دهید. به طور پیش فرض ، نام کاربری و رمز عبور باید "admin" باشد.
- من از روتر TP-LINK (TD-W8961N) استفاده می کنم. برای این روتر ، باید به Access Management> SNMP بروید و "Activated" را انتخاب کنید.
- GET Community: عمومی
- میزبان تله: 0.0.0.0
مرحله 5: درک پاسخ GET
می توانید از این مرحله بگذرید ، اما خوب است بدانید که آیا نیاز به انجام عیب یابی دارید.
پس از بارگذاری کد و اجرای آن ، می توانید از طریق مانیتور سریال به پاسخ نگاهی بیندازید. باید مانند تصویر نشان داده شده باشد. چند بایت وجود دارد که باید به دنبال آنها باشید که من آنها را برجسته کرده ام.
شروع از 0 ،
بایت 15 به PDU Type می گوید - 0xA2 به این معنی است که GetResponse است.
بایت 48 نوع داده را بیان می کند - 0x41 به این معنی است که نوع داده Counter است.
49 بایت طول داده ها را بیان می کند - 0x04 به این معنی است که داده ها 4 بایت طول دارند.
بایت 50 ، 51 ، 52 ، 53 شامل داده ها است.
مرحله 6: مبدل دیجیتال به آنالوگ (DAC)
میکروکنترلرها دستگاه های دیجیتالی هستند که ولتاژهای آنالوگ را مستقیماً درک نمی کنند. من از یک متر اندازه گیری آنالوگ استفاده می کنم که به عنوان ورودی نیاز به ولتاژ متغیر دارد. اما میکروکنترلر فقط می تواند HIGH (3.3V در مورد NodeMCU) و LOW (0V) خروجی داشته باشد. حالا ممکن است بگویید چرا فقط از PWM استفاده نکنید. کار نمی کند زیرا متر فقط مقدار متوسط را نشان می دهد.
من از MCP4725 DAC برای بدست آوردن ولتاژ متغیر استفاده می کنم. این یک DAC 12 بیتی است ، به عبارت ساده ، 0 تا 3.3 ولت را به 4096 (= 2^12) قسمت تقسیم می کند. رزولوشن 3.3/4096 = 0.8056mV خواهد بود. این بدان معناست که 0 مربوط به 0V ، 1 مربوط به 0.8056mV ، 2 مربوط به 1.6112mV ،….. ، 4095 مربوط به 3.3V است.
سرعت اینترنت از '0 تا 7 مگابیت بر ثانیه' تا '0 تا 4095' "نقشه برداری" می شود و سپس این مقدار به DAC داده می شود تا ولتاژ متناسب با سرعت اینترنت را تولید کند.
مرحله 7: مجمع
اتصالات بسیار ساده هستند. طرح کلی در اینجا ضمیمه شده است.
ترازو را طراحی و چاپ کردم. بالا برای سرعت بارگیری و پایین برای سرعت بارگذاری است. مقیاس جدید را به مقیاس قدیمی چسباندم.
همه چیزهای قدیمی را از مولتی متر حذف کردم و همه چیز را در آن جمع کردم. تناسب محکمی داشت. مجبور شدم سوراخی را در جلو ایجاد کنم تا سوئیچ ضامن را که برای انتخاب بین سرعت بارگذاری و بارگیری استفاده می شود ، متصل کنم.
مرحله 8: زمان برنامه نویسی
کد در اینجا پیوست شده است. آن را در Arduino IDE بارگیری و باز کنید. کتابخانه MCP4725 را از Adafruit نصب کنید.
قبل از بارگذاری:
- SSID و رمز عبور WiFi خود را وارد کنید
- حداکثر سرعت بارگذاری و بارگیری ذکر شده در مقیاس را وارد کنید.
- تغییرات لازم را در آرایه درخواست برای بارگیری و همچنین بارگذاری بسته ها اعمال کنید.
- برای مشاهده پاسخ روی مانیتور سریال ، خط 165 را کامنت نکنید.
بارگذاری را فشار دهید!
مرحله نهم: لذت ببرید
آن را روشن کنید و از تماشای رقص سوزن در حین گشت و گذار در اینترنت لذت ببرید!
متشکرم که تا انتها پایبند بودید. امیدوارم همه شما این پروژه را دوست داشته باشید و امروز چیز جدیدی آموخته باشید. اگر یکی را برای خود درست کردید به من اطلاع دهید. برای پروژه های بیشتر در کانال YouTube من مشترک شوید.
توصیه شده:
سرعت سنج چرخ همستر: 11 مرحله (همراه با تصاویر)
سرعت سنج چرخ همستر: حدود سه سال پیش ، برادرزاده ها اولین حیوان خانگی خود را ، یک همستر به نام ناگت ، گرفتند. کنجکاوی در مورد تمرینات ورزشی ناگت پروژه ای را آغاز کرد که مدتها ناگت (RIP) به طول انجامید. این دستورالعمل یک چسب نوری چرخ عملکردی
سرعت سنج دوچرخه DIY: 5 مرحله (همراه با تصاویر)
سرعت سنج دوچرخه DIY: من نحوه ساخت سرعت سنج دوچرخه را به شما نشان خواهم داد. این سرعت ، سرعت متوسط ، دما ، زمان سفر و کل مسافت شما را نشان می دهد. با استفاده از دکمه می توانید آن را تغییر دهید. علاوه بر این ، سرعت در یک سرعت سنج نشان داده می شود. من آن را ساختم زیرا
نمایش سرعت سنج دوچرخه: 10 مرحله (همراه با تصاویر)
نمایشگر سرعت سنج دوچرخه: چیست؟ همانطور که از نامش پیداست ، در این پروژه خواهید آموخت که چگونه یک نمایشگر برای دوچرخه خود ایجاد کنید که هم از سرعت سنج و هم از کیلومتر شمار تشکیل شده باشد. نشان دهنده سرعت و مسافت طی شده در زمان واقعی. هزینه کل این پروژه به حدود
سرعت سنج اینترنت: 4 مرحله (همراه با تصاویر)
سرعت سنج اینترنت: مرور کلی این & quot؛ سرعت سنج اینترنت & quot؛ تقریباً در زمان واقعی بر استفاده از شبکه خود نظارت می کند. این اطلاعات در رابط وب اکثر روترهای خانگی موجود است. با این حال ، دسترسی به آن مستلزم آن است که کار فعلی خود را متوقف کنید تا به
سرعت سنج ساخته شده از سرعت سنج دوچرخه (سیکلو کامپیوتر): 3 مرحله (همراه با تصاویر)
سرعت سنج ساخته شده از سرعت سنج دوچرخه (سایکو کامپیوتر): گاهی اوقات فقط باید بدانید که چرخ یا محور یا موتور با چه سرعتی می چرخد. دستگاه اندازه گیری سرعت چرخش ، سرعت سنج است. اما گران هستند و یافتن آنها آسان نیست. تهیه آن با استفاده از سرعت سنج دوچرخه ارزان و آسان است (cycl