Мазмұны:
Бейне: Интернет жылдамдығын өлшейтін құрал: 4 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:26
Шолу
Бұл «Интернет жылдамдығын өлшеуіш» сізге желінің қолданылуын нақты уақыт режимінде бақылауға мүмкіндік береді. Бұл ақпарат көптеген үй маршрутизаторларының веб -интерфейсінде бар. Алайда, оған қол жеткізу үшін сіз ағымдағы тапсырманы тоқтатуыңыз керек, оны іздеңіз.
Мен бұл ақпаратты ағымдағы тапсырманы үзбей -ақ көргім келді, оны тез қарап шығуға түсінікті форматта көрсеткім келді және ақпаратты мүмкіндігінше көптеген маршрутизаторлармен жұмыс істейтін етіп алғым келді, сондықтан басқалар оны да қолдануы мүмкін.
Ол заттарды қалай жасайды
Мен маршрутизатордан ақпарат алудың әдісі ретінде SNMP (Қарапайым желіні басқару протоколы) туралы шешім қабылдадым. SNMP желілік жабдықта кеңінен қолданылады, ал егер сіздің құрылғыңыз оны әдепкі бойынша DDWRT (ашық бастапқы маршрутизатордың микробағдарламасы) қолданбаса, SNMP енгізу үшін қолдануға болады.
Ақпаратты түсінікті етіп көрсету үшін мен көліктен өлшегішті қолдандым. Автокөлік өлшегіштері сізді алаңдатпай немесе шатастырмай ақпарат беруге арналған, сондықтан жүргізуші көзін жолда сақтай алады. Сонымен қатар менде біраз жатып қалдым.
Бұл менің үстелімде болатындықтан, мен RGB артқы жарығын жасаймын деп шештім, себебі компьютерлік керек -жарақтардың барлығы RGB болуы керек. Дұрыс па?
Қиындықтар
Менде бар өлшегіштер Air-Core жетегін қолданды. Мен бұл жобаға дейін бұл туралы естімеген едім.
Уикипедиядан: Ауа ядросының өлшегіші қуыс камераны қоршайтын екі тәуелсіз перпендикуляр катушкадан тұрады. Ине білігі камераға шығып тұрады, онда білікке тұрақты магнит бекітіледі. Перпендикуляр катушкалар арқылы ток өткенде, олардың магнит өрістері қосылады, ал магнит біріктірілген өрістермен еркін тураланады.
Менеджер конфигурациясында SNMP қолдайтын Arduino кітапханасын таба алмадым. SNMP екі негізгі формасы бар, агент және менеджер. Агенттер сұрауға жауап береді, ал менеджерлер агенттерге сұрау жібереді. Мен 0neblock құрған Arduino_SNMP кітапханасын өзгерту арқылы менеджердің жұмысына қол жеткізе алдым. Мен C ++ тілінде Arduino -да светодиодты жыпылықтаудан басқа ешқашан бағдарламалаған емеспін, сондықтан егер SNMP кітапханасында ақаулар болса, маған хабарлаңыз және мен оларды шешуге тырысамын, әзірге ол жұмыс істейді.
Сонымен қатар, SNMP нақты уақытта көруге арналмаған. Мақсаты статистиканы бақылауға және үзілістерді анықтауға арналған. Осыған байланысты маршрутизатордағы ақпарат әр 5 секунд сайын ғана жаңартылады (сіздің құрылғыңыз әр түрлі болуы мүмкін). Бұл жылдамдықты тексеретін сан мен иненің қозғалуы арасындағы кідірістің себебі.
1 -қадам: құралдар мен материалдар
Бізге 3 толық H көпір қажет болады. Мен қолданған модельдер - Dual TB6612FNGand Dual L298N.
Әрбір Air-Core жетегіне 2 толық H көпір қажет, себебі катушкалар тәуелсіз басқарылуы керек.
Мен қолданатын көрсеткіштердің бірінде диод пен резистормен жерге тұйықталған бір катушка бар. Мен оның ғылымына сенімді емеспін, бірақ бұл оны тек бір катушкамен 90 градусқа айналдыруға мүмкіндік береді.
Мен ESP32 -ді қосу үшін таңдаған L298N тақтасының бөлігі болып табылатын 12 -ден 5 -ке дейінгі реттегішті қолданамын.
Барлық жарықдиодты схемалар міндетті емес, сонымен қатар JST қосқыштары. Сіз сымдарды тікелей ESP32 мен мотор драйверіне оңай дәнекерлей аласыз.
3 -қадам: код дизайны
Кодты орнату
Біз ESP32 тақтасын пайдалану үшін Arduino -ны орнатуымыз керек. Бұл жерде сізге ESP32 Arduino -ны орнатуға көмектесетін жақсы нұсқаулық бар.
Сізге мұнда Arduino_SNMP кітапханасы қажет болады.
Кодты конфигурациялау үшін сізге кейбір ақпаратты жинау қажет болады.
- IP маршрутизаторы
- Жүктеудің максималды жылдамдығы
- Жүктеудің максималды жылдамдығы
- Сіздің WiFi атыңыз бен пароліңіз
- WAN интерфейсінің маршрутизаторларындағы «кіру» және «шығу» сегіздіктері бар OID
Біз қалаған ақпарат үшін стандартты 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 жылдамдығына ие болғаннан кейін оларды осы формуланың көмегімен сегіздікке түрлендіру қажет болады.
Октеттер секундына = (Mbps * 1048576 жылдамдығын тексерудің нәтижесі) / 8
Код функциясы
Код маршрутизаторға SNMP алу сұрауын жібереді. Содан кейін маршрутизатор нөмірмен жауап береді, бұл нөмір жіберілген немесе алынған сегіздіктердің санын білдіреді. Сонымен қатар, біз Arduino іске қосылғаннан бері өткен миллисекундтардың санын жазамыз.
Бұл процесс кемінде екі рет болғаннан кейін біз осы кодты қолдана отырып, максималды мәндерімізге негізделген пайдалану пайызын есептей аламыз
процентDown = ((қалқымалы) (байтҚала - байтҚалақ)/(қалқу) (maxDown * ((миллис () - уақытша)/1000))) * 100;
Математика келесідей бөлінеді:
octetsDiff = snmp_result - Алдыңғы_ snmp_result
timeFrame = currentTime - timeLast
MaxPosableOverTime = (timeFrame * Octets_per_second)/1000
Пайыз = (octetsDiff / MaxPosableOverTime) * 100
Енді бізде желіні пайдалану пайызы бар, оны тек өлшеуішке жазу керек. Біз мұны 2 қадаммен жасаймыз. Алдымен updateDownloadGauge функциясын қолданамыз. Бұл функцияда пайызды өлшеуіштегі радиандық орынды білдіретін санға түрлендіру үшін «карта» қолданамыз. Содан кейін инені жаңа орынға жылжыту үшін сол санды setMeterPosition функциясына береміз.
4 -қадам: Корпустың дизайны
Барлығын қамту үшін мен fusion360 корпусын жасап, оны 3D басып шығардым. Мен жасаған дизайн салыстырмалы түрде қарапайым. Мен компоненттерді ішкі жағына бекіту үшін ыстық желімді қолдандым, ал өлшегіш алдыңғы қақпақ пен артқы қақпақ арасында қысылып қалады. Корпусты жасау үшін 3D басып шығаруды қолданудың қажеті жоқ. Мысалы, сіз ағаштан корпус жасай аласыз немесе өлшегіштер кірген түпнұсқа корпусына бәрін қоюға болады.
Менің STL файлдарым әр жерде қол жетімді, егер сіз оларды қарағыңыз келсе, бірақ мен қолданған дәл өлшегіштерді алмасаңыз, олар сіз үшін жұмыс істеуі екіталай.
Іс файлдары:
Оқығаныңыз үшін рахмет. Егер сізде сұрақтар туындаса, маған хабарлаңыз, мен жауап беруге тырысамын.
Ұсынылған:
Ішкі ауа сапасын өлшейтін құрал: 5 қадам (суреттермен)
Үйдегі ауа сапасын өлшеуіш: Сіздің үйіңіздегі ауа сапасын тексеруге арналған қарапайым жоба. Біз соңғы уақытта үйде көп жұмыс істейтіндіктен, ауаның сапасын бақылап, терезені ашу уақыты келгенде өзіңізге еске салу жақсы болар еді. және таза ауа ішіңіз
OLED экраны бар IoT температурасы мен ылғалдылығын өлшейтін құрал: 5 қадам (суреттермен)
OLED экраны бар IoT температурасы мен ылғалдылығын өлшегіш: OLED экранында температураны және ылғалдылықты кез келген уақытта тексеріңіз және сол уақытта IoT платформасында сол деректерді жинаңыз. Өткен аптада мен қарапайым IoT температурасы мен ылғалдылығын өлшеуіш деп аталатын жобаны жарияладым. Бұл жақсы жоба, өйткені сіз
Ең қарапайым IoT температурасы мен ылғалдылығын өлшейтін құрал: 5 қадам (суреттермен)
Ең қарапайым IoT температурасы мен ылғалдылығын өлшеуіш: IoT температурасы мен ылғалдылығын өлшеудің қарапайым құралы температураны, ылғалдылық пен жылу индексін жинауға мүмкіндік береді. Содан кейін оларды Adafruit IO -ға жіберіңіз
Су: жаңбырдың қарқындылығын өлшейтін құрал: 6 қадам
Meten Aan Water: Жаңбырдың қарқындылығын өлшейтін құрал: IntroБұл құрылғы жауын -шашынның қарқындылығын өлшеуге арналған. Жауын -шашын мөлшерін өлшеудің көптеген әдістері бар. Алайда, егер жауын -шашынның қарқындылығы қажетті ақпарат болса, онда өлшеу құралдарының көпшілігі өте қымбат. Бұл құрылғы арзан және оңай
Қауіпті шу деңгейін өлшейтін құрал немесе белгі: 4 қадам (суреттермен)
Қауіпті шу деңгейін өлшейтін құрал немесе белгі: Мен адамдардың шығармашылық жобаларын қарағанды ұнатамын. Қазіргі заманғы құралдар & технология бізге көптеген шығармашылық мүмкіндіктерді береді. Мен Жаңа Зеландиядағы орта мектепте орта мектеп оқушыларына қатты материалдарды үйретемін, сондықтан мен үнемі дамып келемін & жаңа нәрселерді сынау. Бұл