Мазмуну:

Интернет ылдамдыгы көрсөткүчү: 4 кадам (сүрөттөр менен)
Интернет ылдамдыгы көрсөткүчү: 4 кадам (сүрөттөр менен)

Video: Интернет ылдамдыгы көрсөткүчү: 4 кадам (сүрөттөр менен)

Video: Интернет ылдамдыгы көрсөткүчү: 4 кадам (сүрөттөр менен)
Video: Ойлонордон мурда бул ВИДЕОНУ КӨРҮҢҮЗ! 2024, Ноябрь
Anonim
Image
Image
Интернет ылдамдыгы көрсөткүчү
Интернет ылдамдыгы көрсөткүчү
Интернет ылдамдыгы көрсөткүчү
Интернет ылдамдыгы көрсөткүчү

Обзор

Бул "Интернет ылдамдыгын өлчөөчү" сизге тармактын колдонулушун реалдуу убакытта көзөмөлдөөгө мүмкүнчүлүк берет. Бул маалымат көпчүлүк үй роутерлеринин веб -интерфейсинде жеткиликтүү. Бирок, ага кирүү үчүн, учурдагы тапшырмаңызды токтотуп, аны издеп көрүңүз.

Мен бул маалыматты учурдагы тапшырмамды үзгүлтүккө учуратпай эле көргүм келип, аны тез эле түшүнүктүү форматта көрсөтүүнү жана маалыматты мүмкүн болушунча көп роутерлер менен иштей тургандай кылып алууну кааладым, башкалар да аны да колдонуңуз.

Ал нерселерди кантип жасайт

Мен роутерден маалымат алуунун жолу катары SNMP (Simple Network Management Protocol) чечимин кабыл алдым. SNMP тармактык жабдууда кеңири колдонулат жана эгерде сиздин түзмөк аны DDWRT колдобосо (ачык булак роутердин камтылган программасы) SNMPди ишке ашыруу үчүн колдонулушу мүмкүн.

Маалыматты түшүнүүгө оңой кылып көрсөтүү үчүн мен машинадан өлчөгүчтү колдондум. Автомобилдин өлчөгүчтөрү сизди алаксытпай же чаташтырбай маалымат берүү үчүн иштелип чыккан, андыктан айдоочу жолдон көзүн ала албайт. Мындан тышкары, мен тегеректе жатып калдым.

Бул менин столумда болгондуктан, мен дагы арткы жарык RGB кылууну чечтим, анткени компьютердин аксессуарларынын баары RGB болушу керек. Туурабы?

Чакырыктар

Менде болгон өлчөгүчтөр Air-Core кыймылдаткычын колдонгон. Бул долбоорго чейин мен буларды уккан эмесмин.

Википедиядан: Аба өзөгү өлчөгүч көңдөй камераны курчап турган эки көз карандысыз, перпендикуляр катушкадан турат. Ийненин огу камерага чыгып турат, бул жерде валга туруктуу магнит жабыштырылган. Качан ток перпендикуляр катушкалар аркылуу өтсө, алардын магнит талаалары үстөмдүк кылат жана магнит айкалышкан талаалар менен тегизделет.

Менеджер конфигурациясында SNMP колдогон Arduino үчүн китепкана таба алган жокмун. SNMPдин эки негизги формасы бар, агент жана менеджер. Агенттер суроо -талапка жооп беришет, ал эми менеджерлер агенттерге суроо жөнөтүшөт. Мен 0neblock тарабынан түзүлгөн Arduino_SNMP китепканасын өзгөртүү аркылуу менеджердин иштөөсүн ала алдым. Мен эч качан C ++ тилинде Arduinoдо LEDди жарк эттирүүдөн башка эч качан программалаган эмесмин, андыктан SNMP китепканасында көйгөйлөр болсо, мага кабарлаңыз жана мен аларды оңдоого аракет кылам, азырынча ал иштеп жатат.

Мындан тышкары, SNMP реалдуу убакытта көрүү үчүн иштелип чыккан эмес. Максаттуу колдонуу статистиканы көзөмөлдөө жана өчүрүүлөрдү аныктоо үчүн. Ушундан улам, роутердеги маалымат ар бир 5 секундда гана жаңыртылып турат (сиздин түзмөк өзгөрүшү мүмкүн). Ылдамдыкты текшерүүчү сан менен ийненин кыймылынын ортосундагы кечигүүнүн себеби мына ушунда.

1 -кадам: Куралдар жана материалдар

Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Куралдар жана материалдар
Райондук дизайн
Райондук дизайн

Бизге 3 толук H көпүрөсү керек болот. Мен колдонгон моделдер Dual TB6612FNGand Dual L298N.

Ар бир Air-Core кыймылдаткычы 2 толук H-көпүрөсүн талап кылат, анткени катуштарды өз алдынча көзөмөлдөө керек.

Мен колдонгон өлчөгүчтөрдүн биринде диод жана резистор менен жерге кысылган бир катушка бар. Мен анын артында турган илимди так билбейм, бирок бул анын бир гана катушка менен 90 градуска жакын айланышына мүмкүндүк берет.

Мен ESP32ди иштетүү үчүн тандап алган L298N тактасынын бир бөлүгү болгон 12Vдан 5Vка чейин жөндөгүчтү колдоном.

Бардык LED схемалары милдеттүү эмес, ошондой эле JST туташтыргычтары. Сиз зымдарды ESP32ге жана мотор айдоочусуна оңой эле ширете аласыз.

3 -кадам: Дизайн коду

Код орнотуу

Биз ESP32 тактасын колдонуу үчүн Arduino орнотушубуз керек. Бул жерде сизди ESP32 Arduino орнотуусу аркылуу жетектеп турган жакшы жол көрсөткүч бар.

Ошондой эле бул жерде жайгашкан Arduino_SNMP китепканасы керек болот.

Кодду конфигурациялоо үчүн, сиз кээ бир маалыматты чогултууңуз керек болот.

  1. IP роутери
  2. Максималдуу жүктөө ылдамдыгы
  3. Максималдуу жүктөө ылдамдыгы
  4. Сиздин WiFi атыңыз жана сырсөзүңүз
  5. Маршрутизаторлордун 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 Browser сыяктуу куралды колдонуу.

Максималдуу ылдамдыкка жетүү үчүн мен SpeedTest.netти колдондум. ылдамдыгыңыз Мбит / сек болгондо, сиз бул формуланы колдонуу менен аларды октеттерге айландырышыңыз керек болот.

Октеттер секундасына = (Mbps * 1048576 ылдамдыгын текшерүүнүн жыйынтыгы) / 8

Код функциясы

Код роутерге SNMP алуу өтүнүчүн жөнөтөт. Андан кийин роутер номер менен жооп берет, сан жөнөтүлгөн же алынган октеттердин санын билдирет. Ошол эле учурда, биз Arduino башталгандан бери өткөн миллисекунддардын санын жазабыз.

Бул процесс кеминде эки жолу болгондон кийин, бул кодду колдонуу менен максималдуу баалуулуктарыбызга негизделген колдонуу пайызын эсептей алабыз

yüzdeDown = ((калкып чыгуу) (byteDown - byteDownLast)/(калкып чыгуу) (maxDown * ((millis () - timeLast)/1000))) * 100;

Математика төмөнкүчө бөлүнөт:

octetsDiff = snmp_result - Мурунку_ snmp_result

timeFrame = currentTime - timeLast

MaxPosableOverTime = (timeFrame * Octets_per_second)/1000

Пайыз = (octetsDiff / MaxPosableOverTime) * 100

Эми бизде тармакты колдонуу пайызы бар, биз аны ченегичке жазышыбыз керек. Биз муну 2 кадам менен жасайбыз. Алгач updateDownloadGauge функциясын колдонобуз. Бул функцияда биз пайызды өлчөгүчтөгү радиандык абалды билдирген санга айландыруу үчүн "карта" колдонобуз. Андан кийин ийнени жаңы позицияга жылдыруу үчүн бул санды setMeterPosition функциясына беребиз.

4 -кадам: Дизайн

Case Design
Case Design
Case Design
Case Design
Case Design
Case Design

Баарын камтуу үчүн, мен fusion360 корпусун иштеп чыгып, аны 3D басып чыгардым. Мен жасаган дизайн салыштырмалуу жөнөкөй. Мен тетиктерди ичине бекитүү үчүн ысык клей колдондум жана өлчөгүч алдыңкы жана арткы капкактын ортосуна кыпчылып калган. Корпусту түзүү үчүн 3D басып чыгарууну колдонуунун кажети жок. Мисалы, жыгачтан корпус жасасаңыз болот, же бардыгын өлчөгүчтөр келген оригиналдуу корпуска салып койсоңуз болот.

Менин STL файлдарым, эгерде сиз аларды карагыңыз келсе, ар кандай нерселерде бар, бирок мен колдонгон так өлчөгүчтөрдү алмайынча, алар сиз үчүн иштеши күмөн.

Иштин материалдары:

Окуу үчүн рахмат. Суроолоруңуз болсо, мага кабарлаңыз, мен колумдан келишинче жооп берем.

Сунушталууда: