Агуулгын хүснэгт:

Интернет хурд хэмжигч: 4 алхам (зурагтай)
Интернет хурд хэмжигч: 4 алхам (зурагтай)

Видео: Интернет хурд хэмжигч: 4 алхам (зурагтай)

Видео: Интернет хурд хэмжигч: 4 алхам (зурагтай)
Видео: БЕСПРОВОДНОЕ ВИДЕОНАБЛЮДЕНИЕ WIFI комплект KERUI со слежением за людьми 2024, Долдугаар сарын
Anonim
Image
Image
Интернет хурд хэмжигч
Интернет хурд хэмжигч
Интернет хурд хэмжигч
Интернет хурд хэмжигч

Тойм

Энэхүү "Интернет хурд хэмжигч" нь танд сүлжээнийхээ хэрэглээг бодит цаг хугацаанд хянах боломжийг олгоно. Энэ мэдээлэл нь ихэнх гэрийн чиглүүлэгчийн вэб интерфэйс дээр байдаг. Гэсэн хэдий ч үүнд хандахын тулд одоо байгаа ажлаа зогсоох шаардлагатай байна.

Би энэ мэдээллийг одоогийн ажлаа тасалдуулалгүйгээр үзэх, хурдан хараад ойлгомжтой хэлбэрээр харуулах, мөн аль болох олон чиглүүлэгчтэй ажиллах боломжтой байдлаар мэдээлэл авахыг хүссэн юм. үүнийг бас ашиглах боломжтой.

Энэ нь зүйлийг хэрхэн хийдэг

Би чиглүүлэгчээс мэдээлэл авахын тулд SNMP (Энгийн сүлжээний менежментийн протокол) -ыг сонгохоор шийдсэн. SNMP нь сүлжээний тоног төхөөрөмжид өргөн хэрэглэгддэг бөгөөд хэрэв таны төхөөрөмж үүнийг анхдагчаар дэмждэггүй бол SNMP -ийг хэрэгжүүлэхийн тулд DDWRT (нээлттэй эхийн чиглүүлэгчийн програм хангамж) ашиглаж болно.

Мэдээллийг ойлгоход хялбар байдлаар харуулахын тулд би машинаас хэмжигч ашигласан. Автомашины хэмжигч нь анхаарал сарниулах, төөрөгдүүлэхгүйгээр мэдээлэл өгөх зориулалттай тул жолооч нүдээ зам дээр байлгаж чаддаг. Үүнээс гадна би жаахан хэвтэж байсан.

Энэ нь миний ширээн дээр байх тул би компьютерын дагалдах хэрэгсэл бүгд RGB байх ёстой тул арын гэрлийг RGB болгохоор шийдсэн. Зөв үү?

Сорилтууд

Надад байсан хэмжүүрүүд нь Air-Core хөдөлгүүрийг ашигладаг байсан. Энэ төслөөс өмнө би эдгээрийн талаар хэзээ ч сонсож байгаагүй.

Википедиагаас: Агаарын гол хэмжигч нь хөндий камерыг тойрсон бие даасан хоёр перпендикуляр ороомогоос бүрдэнэ. Зүү босоо ам тасалгаанд цухуйж, тэнхлэгт байнгын соронз наалддаг. Перпендикуляр ороомогоор гүйдэл гүйх үед тэдгээрийн соронзон орон давхцаж, соронз нь хосолсон талбаруудтай чөлөөтэй нийцдэг.

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

Нэмж дурдахад SNMP нь бодит цаг хугацаанд үзэхэд зориулагдаагүй болно. Зориулалтын хэрэглээ нь статистикийг хянах, тасалдлыг илрүүлэхэд зориулагдсан болно. Үүний улмаас чиглүүлэгчийн мэдээллийг зөвхөн 5 секунд тутамд шинэчилдэг (таны төхөөрөмж өөр байж болно). Энэ нь хурдны шалгалтын дугаар болон зүүний хөдөлгөөний хоорондох хоцролтын шалтгаан юм.

Алхам 1: багаж хэрэгсэл, материал

Хэрэгсэл ба материал
Хэрэгсэл ба материал
Хэрэгсэл ба материал
Хэрэгсэл ба материал
Хэрэгсэл ба материал
Хэрэгсэл ба материал
Хэрэгсэл ба материал
Хэрэгсэл ба материал
Хэлхээний дизайн
Хэлхээний дизайн

Бидэнд 3 бүрэн H гүүр хэрэгтэй болно. Миний ашигласан загвар бол Dual TB6612FNGand Dual L298N юм.

Агаарын цөмийн идэвхжүүлэгч бүрт ороомогыг бие даан хянах шаардлагатай байдаг тул 2 бүрэн H гүүр шаардагдана.

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

Би ESP32 -ийг асаахын тулд сонгосон L298N хавтангийн нэг хэсэг болох 12 -аас 5V хүртэлх зохицуулагчийг ашиглах болно.

Бүх LED хэлхээ нь заавал биш, мөн JST холбогч юм. Та утсыг ESP32 болон мотор драйвер руу шууд гагнах боломжтой.

Алхам 3: Кодын дизайн

Кодын тохиргоо

ESP32 хавтанг ашиглахын тулд бид Arduino -г тохируулах шаардлагатай болно. Энд ESP32 Arduino -ийн тохиргоог хийх сайн гарын авлага байна.

Танд энд байрлах Arduino_SNMP номын сан хэрэгтэй болно.

Кодыг тохируулахын тулд та зарим мэдээллийг цуглуулах шаардлагатай болно.

  1. Чиглүүлэгчийн IP
  2. Хамгийн их байршуулах хурд
  3. Татаж авах хамгийн дээд хурд
  4. Таны WiFi нэр, нууц үг
  5. OID нь таны чиглүүлэгчийн WAN интерфэйс дээр "орох" ба "гарах" гэсэн найман тоог агуулдаг

Бидний хүсч буй мэдээллийн стандарт OIDs (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 хурдтай болсны дараа та энэ томъёог ашиглан октет болгон хөрвүүлэх шаардлагатай болно.

Секундэд октет = (Mbps * 1048576 дахь хурдны туршилтын үр дүн) / 8

Кодын функц

Код нь чиглүүлэгч рүү SNMP авах хүсэлтийг илгээдэг. Дараа нь чиглүүлэгч нь дугаараар хариулдаг бөгөөд энэ нь илгээсэн эсвэл хүлээн авсан октетуудын тоог илэрхийлдэг. Үүний зэрэгцээ бид Arduino ажиллаж эхэлснээс хойш хэдэн миллисекунд өнгөрч байгааг бүртгэдэг.

Энэ процесс дор хаяж хоёр удаа хийгдсэний дараа бид энэ кодыг ашиглан хамгийн их утгыг үндэслэн хэрэглээний хувийг тооцоолж болно

процент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 функцийг ашигладаг. Энэ функцэд бид "газрын зураг" -ыг ашиглан хувь хэмжээг хэмжигч дээрх радианы байрлалыг илэрхийлсэн тоо болгон хөрвүүлнэ. Дараа нь бид зүүг шинэ байрлалд шилжүүлэхийн тулд setMeterPosition функцэд энэ дугаарыг өгнө.

Алхам 4: Кейсийн дизайн

Кейс дизайн
Кейс дизайн
Кейс дизайн
Кейс дизайн
Кейс дизайн
Кейс дизайн

Бүх зүйлийг багтаахын тулд би fusion360 -д хаалт хийж 3D хэвлэсэн. Миний хийсэн загвар харьцангуй энгийн. Би халуун цавуугаар эд ангиудыг дотор талд нь бэхэлсэн бөгөөд хэмжигчийг урд болон арын хавтасны хооронд хавчих замаар бэхлэв. Кейс үүсгэхийн тулд 3D хэвлэх шаардлагагүй. Жишээлбэл, та модоор хайрцаг хийж болно, эсвэл хэмжигч орж ирсэн бүх зүйлийг анхны хайрцагт хийж болно.

Хэрэв та тэдгээрийг үзэхийг хүсч байвал миний STL файлууд олон зүйл дээр байдаг, гэхдээ хэрэв та миний ашиглаж байсан яг ижил хэмжигчийг авахгүй бол тэдгээр нь ажиллахгүй байх магадлалтай.

Хэргийн файлууд:

Уншсанд баярлалаа. Хэрэв танд асуулт байгаа бол надад мэдэгдээрэй, би хариулахын тулд чадах бүхнээ хийх болно.

Зөвлөмж болгож буй: