Агуулгын хүснэгт:
- Алхам 1: Төлөвлөгөө
- Алхам 2: Танд хэрэгтэй зүйлс
- Алхам 3: Бүрэн хэмжээний хазайлтын гүйдлийг тооцоолох
- Алхам 4: SNMP GET хүсэлтийг үүсгэх
- Алхам 5: GET Response -ийг ойлгох
- Алхам 6: Дижиталаас аналог хөрвүүлэгч (DAC)
- Алхам 7: Чуулган
- Алхам 8: Кодлох цаг
- Алхам 9: Сайхан амраарай
Видео: Интернет хурд хэмжигч: 9 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Энэтхэгт бүрэн түгжрэл үүсч байгаатай холбогдуулан шуудангийн үйлчилгээ гэх мэт бүх зүйл хаагдсан байна. ПХБ -ийн шинэ төсөл байхгүй, шинэ бүрэлдэхүүн хэсэг байхгүй, юу ч биш! Тиймээс уйтгартай байдлаа даван туулж, завгүй байхын тулд би гэртээ байгаа хэсгүүдээс ямар нэгэн зүйл хийхээр шийдсэн. Би овоолсон электроникийн хогноос хайж эхэлж, хуучирсан, эвдэрсэн аналог мултиметрийг оллоо. Би үүнээс "тоолуурын хөдөлгөөн" -ийг аварч, ямар нэгэн мэдээлэл харуулахаар шийдсэн боловч яг юу болохыг нь мэдэхгүй байна. Нэгдүгээрт, би COVID-19 статистикийг харуулах талаар бодож байсан боловч интернет дээр илүү сайн төслүүд байдаг. Түүнчлэн өгөгдлийг хэдхэн цагийн дараа шинэчилдэг бөгөөд тоолуурын заагч хэвээр байвал уйтгартай байх болно. Мэдээлэл хурдан өөрчлөгдөж, секунд тутамд өөрчлөгдөж байхыг би хүсч байсан. Би инстаграм дээр санал авахыг хүссэн бөгөөд миний нэг дагалдагч интернет хурд хэмжигчээр хариулсан. Энэ нь сонирхолтой сонсогдож, үүнийг хийхээр шийдсэн!
Энэхүү зааварчилгаанд би WiFi чиглүүлэгчээсээ SNMP ашиглан өгөгдлийг хэрхэн татаж, тоолуур дээр байршуулах, татаж авах хурдыг хэрхэн харуулснаа харуулах болно.
Эхэлцгээе
Алхам 1: Төлөвлөгөө
Төсөл эхлүүлэхийн өмнөх шиг би интернет дээр бага зэрэг судалгаа хийсэн. Би энэ сэдэвтэй холбоотой хэд хэдэн төслийг олсон. Тэд хоёр төрөл байсан. WiFi дохионы "хүч" -ийг хэмжих замаар интернетийн хурдыг харуулсан нэг. Би сүлжээний мэргэжилтэн биш боловч энэ нь тийм ч зөв сонсогдоогүй байна. Бусад нь хоцролтыг хэмжиж, хурдыг удаан, дунд эсвэл хурдан гэж ангилав. Хожигдол гэдэг нь хүсэлт илгээх, хариу авах хоёрын хоорондох хугацааны хоцрогдол тул интернетийн хурдыг бодитоор илэрхийлж чадахгүй. Бид үүнийг сүлжээний хариу өгөх хурд гэж нэрлэж болно. Дараа нь зарим өгөгдлийг татаж авахад шаардагдах хугацааг хэмжиж, үүний үндсэн дээр интернетийн хурдыг тооцоолсон хууль ёсны төслүүд гарч ирэв.
Гэхдээ энэ төсөлд (Alistair -ээс) би Simple Network Management Protocol буюу SNMP -ийн талаар олж мэдсэн юм. SNMP -ийг ашигласнаар бид WiFi чиглүүлэгчтэй холбогдож, шаардлагатай өгөгдлийг үүнээс шууд авах боломжтой. Хялбар, тийм үү? Үнэндээ үгүй! WiFi чиглүүлэгчийн ашигладаг өөр өөр загварууд нь өөр өөр тохиргоотой бөгөөд гаралтыг нь авахаасаа өмнө маш их туршилт, алдаа шаарддаг. Бүү ай. Би SNMP -ийн талаар сурч мэдсэн зүйлээ болон дараагийн алхамуудад тулгарч буй бэрхшээлийг товчхон тайлбарлах болно.
Тиймээс WiFi чиглүүлэгч рүү холбогдохын тулд NodeMCU ашиглах төлөвлөгөөтэй байна. Эдгээр нь эцсийн үр дүнд хүрэх алхамууд юм.
- Шаардлагатай өгөгдлийг "хүсэх" чиглүүлэгч рүү хүсэлт илгээх
- Хариултыг чиглүүлэгчээс аваарай
- Хариултыг шинжлэх, шаардлагатай өгөгдлийг задлан шинжлэх
- "Түүхий" өгөгдлийг ойлгомжтой мэдээлэл болгон хөрвүүлэх
- Тоолуурын интернетийн хурдтай пропорциональ хүчдэл үүсгэх
- Дахин давтах
Би тоолуурыг хянахын тулд DAC эсвэл Digital to Analog Converter ашиглах болно.
Алхам 2: Танд хэрэгтэй зүйлс
1x NodeMCU
1х аналог тоолуурын хөдөлгөөн
1х MPU4725 DAC
1х SPDT шилжүүлэгч
1х 10 к потенциометр
1х резистор
Алхам 3: Бүрэн хэмжээний хазайлтын гүйдлийг тооцоолох
Тэмдэглэл: Бодит бүтцийг авахын тулд 7 -р алхам руу очно уу!
Хэрэв та тоолуурын бүрэн хэмжээний хазайлтын гүйдлийг мэдэж байгаа бол энэ алхамыг алгасаарай. Миний тоолуурт энэ тухай огт дурдаагүй тул тооцоолох шаардлагатай болсон. Гэхдээ эхлээд ийм хөдөлгөөн хэрхэн ажилладагийг хурдан харцгаая. Энэ нь соронзон орон дээр түдгэлзүүлсэн ороомогоос бүрдэнэ. Ороомогоор гүйх үед Фарадейгийн хуулийн дагуу хүчийг мэдэрдэг. Ороомог нь соронзон орон дээр чөлөөтэй эргэхийг зөвшөөрдөг бөгөөд ороомог дээр бэхлэгдсэн заагчийг мөн адил эргүүлдэг. "Хэмжээний төгсгөлд" заагчийг хөдөлгөж буй гүйдлийн хэмжээг бүрэн хэмжээний хазайлтын гүйдэл гэж нэрлэдэг. Энэ нь ороомогоор дамжихыг зөвшөөрөх ёстой хамгийн их гүйдэл юм.
Өөр олон зүйл бий, гэхдээ энэ нь бидний хийж буй зүйлд хангалттай. Бидэнд одоо хөдөлгөөн бий. Үүнийг өндөр эсэргүүцлийг цувралаар нэмж вольтметр болгон ашиглаж болно, эсвэл параллель байдлаар жижиг эсэргүүцэл нэмж амметрийг ашиглаж болно. Бид үүнийг интернетийн хурдтай пропорциональ хүчдэлийг харуулах вольтметр болгон ашиглах болно. Тиймээс бид цувралаар нэмэх эсэргүүцлийг тооцоолох хэрэгтэй. Үүний тулд бид эхлээд бүрэн хэмжээний хазайлтын гүйдлийг тооцоолох хэрэгтэй.
- Өндөр эсэргүүцлийн утгыг сонгоно уу (> 100k гэх мэт)
- Хөдөлгөөнтэй нь цувралаар холбож, савыг ашиглан хувьсах хүчдэлийг хэрэглэнэ.
- Заагч хуваарийн төгсгөлд хүрэх хүртэл хүчдэлийг аажмаар нэмэгдүүлээрэй.
- Мультиметр ашиглан дамжуулж буй гүйдлийг хэмжинэ. Энэ бол бүрэн хэмжээний хазайлтын гүйдэл юм. (Миний хувьд I = 150uA)
Бид 0 -ээс VCC (NodeMCU -ийн улмаас 3.3V) хүртэлх гаралтын хүчдэлтэй DAC ашиглаж байна. Энэ нь тоолуурт 3.3V хүчдэл тавихад хуваарийн төгсгөлд зааж өгөх ёстой гэсэн үг юм. Энэ нь 3.3V хүчдэлийг ашиглах үед бүрэн хэмжээний хазайлтын гүйдэл нь хэлхээгээр дамжих үед тохиолддог. Ом-ийн хуулийг ашиглан 3.3/(бүрэн хэмжээний хазайлтын гүйдэл) нь эсэргүүцлийн утгыг цувралаар оруулах болно.
Алхам 4: SNMP GET хүсэлтийг үүсгэх
Энгийн Сүлжээний Удирдлагын Протокол (SNMP) нь IP сүлжээнд удирддаг төхөөрөмжүүдийн талаархи мэдээллийг цуглуулах, зохион байгуулах, төхөөрөмжийн зан төлөвийг өөрчлөх зорилгоор энэхүү мэдээллийг өөрчлөх Интернет стандартын протокол юм. SNMP -ийг ихэвчлэн дэмждэг төхөөрөмжүүд нь кабелийн модем, чиглүүлэгч, унтраалга, сервер, ажлын станц, принтер гэх мэтийг агуулдаг. Энэхүү бүтцийн хувьд бид WiFi чиглүүлэгчтэйгээ SNMP ашиглан холбогдож, шаардлагатай өгөгдлийг авах болно.
Гэхдээ эхлээд бид "GET Request" гэгддэг хүсэлтийг чиглүүлэгч рүү илгээж, хүссэн өгөгдлийнхөө талаар дэлгэрэнгүй мэдээлэл өгөх ёстой. GET Хүсэлтийн форматыг зураг дээр харуулав. Хүсэлт нь янз бүрийн хэсгээс бүрдэнэ. Таны өөрчлөхийг хүсч буй байтуудыг би онцлон тэмдэглэв.
Бүх зүйл арван зургаатын системд байдаг гэдгийг анхаарна уу.
SNMP мессеж -Миний хувьд бүх зурвасын урт нь 40 (саарал өнгө) бөгөөд арван зургаатын формат руу хөрвүүлэхдээ 0x28 байна.
SNMP Community String - 'PUBLIC' утгыг арван зургаат хэлбэрээр '70 75 62 6C 69 63 'гэж бичдэг бөгөөд урт нь 6 (шар).
SNMP PDU төрөл - Миний хувьд зурвасын урт 27 (цэнхэр), өөрөөр хэлбэл 0x1B байна.
Varbind жагсаалтын төрөл - Миний хувьд зурвасын урт нь 16 (ногоон), өөрөөр хэлбэл 0x10 байна.
Varbind төрөл - Миний хувьд зурвасын урт нь 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). Ажиллуулахыг сонгоод Go дээр дарна уу. Та OID -ийг үнэ цэнэ, төрлөөр нь харах ёстой.
Миний хувьд зурвасын урт нь 10 (улаан) өөрөөр хэлбэл 0x0A байна. Энэ утгыг OID -ээр солино уу. Энэ тохиолдолд '2B 06 01 02 01 02 02 01 01 10'
Ингээд л боллоо! Таны хүсэлтийн зурвас бэлэн боллоо. Үлдсэн байтуудыг байгаагаар нь байлга.
Чиглүүлэгч дээрээ SNMP -ийг асааж байна:
- Анхдагч гарцаар дамжуулан WiFi чиглүүлэгчийнхээ хуудсанд нэвтэрнэ үү. Хөтөч дээрээ 192.168.1.1 гэж бичээд enter дарна уу. Анхдагч байдлаар хэрэглэгчийн нэр, нууц үг нь 'админ' байх ёстой.
- Би TP-LINK (TD-W8961N) чиглүүлэгч ашиглаж байна. Энэ чиглүүлэгчийн хувьд та хандалтын менежмент> SNMP руу очиж "Идэвхжүүлсэн" -ийг сонгох хэрэгтэй.
- GET Community: олон нийтийн
- Хавх хост: 0.0.0.0
Алхам 5: GET Response -ийг ойлгох
Та энэ алхамыг алгасаж болно, гэхдээ танд ямар нэгэн алдааг олж засварлах шаардлагатай байгаа эсэхийг мэдэх нь зүйтэй юм.
Кодыг байршуулаад ажиллуулсны дараа та сериал дэлгэцээр дамжуулан хариултыг харах боломжтой болно. Энэ нь зураг дээр үзүүлсэн шиг харагдах ёстой. Миний тодруулсан хэдэн байтыг хайх хэрэгтэй байна.
0 -ээс эхлэн, 15 -р байт нь PDU төрлийг хэлдэг - 0xA2 нь GetResponse гэсэн үг юм.
48 -р байт нь өгөгдлийн төрлийг хэлдэг - 0x41 нь өгөгдлийн төрөл нь Тоологч гэсэн үг юм.
49 -р байт нь өгөгдлийн уртыг хэлдэг - 0x04 нь өгөгдөл нь 4 байт байна гэсэн үг юм.
50, 51, 52, 53 байт нь өгөгдлийг агуулдаг.
Алхам 6: Дижиталаас аналог хөрвүүлэгч (DAC)
Микроконтроллер нь аналог хүчдэлийг шууд ойлгодоггүй дижитал төхөөрөмж юм. Би оролт болгон хувьсах хүчдэл хэрэгтэй аналог тоолуур ашиглаж байна. Гэхдээ микроконтроллер нь HIGH (NodeMCU -ийн хувьд 3.3V) ба LOW (0V) -ийг л гаргадаг. Одоо та яагаад зөвхөн ХОУХ -ийг ашиглаж болохгүй гэж хэлж болно. Тоолуур нь зөвхөн дундаж утгыг харуулах тул энэ нь ажиллахгүй болно.
Би хувьсах хүчдэл авахын тулд MCP4725 DAC ашиглаж байна. Энэ нь 12 битийн DAC юм, өөрөөр хэлбэл энгийнээр хэлбэл 0-ээс 3.3V-ийг 4096 (= 2^12) хэсэгт хуваах болно. Нарийвчлал нь 3.3/4096 = 0.8056мВ байх болно. Энэ нь 0 нь 0V, 1 нь 0.8056mV, 2 нь 1.6112mV,….., 4095 нь 3.3V гэсэн утгатай байна гэсэн үг юм.
Интернэтийн хурдыг '0 -ээс 7 mbps' -ээс '0 -ээс 4095' хүртэл 'зураглаж', дараа нь интернетийн хурдтай пропорциональ хүчдэл гаргахын тулд энэ утгыг DAC -д өгнө.
Алхам 7: Чуулган
Холболтууд нь маш энгийн. Схемийг энд хавсаргасан болно.
Би масштабыг зохиож хэвлэв. Дээд хэсэг нь татаж авах хурд, доод хэсэг нь байршуулах хурд юм. Би шинэ масштабыг хуучин хэмжээс дээр наасан.
Би мультиметрээс хуучин бүх зүйлийг зайлуулж, дотор нь байгаа бүх зүйлийг бөглөсөн. Энэ нь нягт тохирсон байв. Байршуулах болон татаж авах хурдыг сонгохын тулд шилжүүлэгчийг холбохын тулд би урд талын нүхийг өрөмдөх шаардлагатай болсон.
Алхам 8: Кодлох цаг
Кодыг энд хавсаргасан болно. Үүнийг Arduino IDE дээр татаж аваад нээнэ үү. Adafruit -аас MCP4725 номын санг суулгаарай.
Та байршуулахаасаа өмнө:
- WiFi SSID болон нууц үгээ оруулна уу
- Хэмжээнд заасан хамгийн их байршуулах болон татаж авах хурдыг оруулна уу.
- Татаж авах болон байршуулах хүсэлтийн массивт шаардлагатай өөрчлөлтүүдийг оруулна уу.
- Цуваа дэлгэц дээрх хариултыг харахын тулд 165 -р мөрийг тайлбарлахгүй.
Байршуулалтыг дарна уу!
Алхам 9: Сайхан амраарай
Цахилгаан тэжээлээ асаагаад, интернетээр аялж байхдаа зүү бүжиглэхийг үзээрэй!
Эцсээ хүртэл наалдсанд баярлалаа. Та бүхэнд энэ төсөл таалагдаж, өнөөдөр шинэ зүйл сурсан гэж найдаж байна. Хэрэв та өөрөө өөртөө зориулж хийсэн бол надад мэдэгдээрэй. Ийм төслүүдийг үзэхийн тулд миний YouTube сувгийг захиалаарай.
Зөвлөмж болгож буй:
Унадаг дугуйн хурд хэмжигч дэлгэц: 10 алхам (зурагтай)
Унадаг дугуйн хурд хэмжигч дэлгэц: Энэ юу вэ? Нэрээс нь харахад энэхүү төсөлд та дугуйныхаа хурд хэмжигч, одометрээс бүрдэх дэлгэцийг хэрхэн бүтээх талаар сурах болно. Бодит цагийн хурд, аялсан зайг заана. Энэ төслийн нийт өртөг бараг дуусч байна
GPS хурд хэмжигч: 4 алхам (зурагтай)
GPS -ийн хурд хэмжигч: Миний ердийн жолоодож явдаг миний компанийн машин "жижиг" гэсэн загвартай байдаг. Үе үе асуудал гардаг, хурд хэмжигч машин жолоодохдоо 0 км/цаг хүртэл унадаг (хэсэг хугацааны дараа дахин асдаг) .Ер нь машин жолоодохыг мэддэг бол энэ нь тийм ч том асуудал биш юм
Ажиллаж буй RC машины хурд хэмжигч: 4 алхам (зурагтай)
Ажиллаж буй RC машины хурд хэмжигч: Энэ бол би хөнгөн Land Rover -ийн RC -ийн томоохон бүтцийн нэг хэсэг болгон бүтээсэн богино төсөл юм. Би хяналтын самбар дээр ажиллаж байгаа хурд хэмжигчийг байрлуулахыг хүсч байна гэж шийдсэн боловч servo нь үүнийг огтлохгүй гэдгийг мэдэж байсан. Нэг л боломжийн сонголт байсан: d
DIY мөчлөгийн хурд хэмжигч: 6 алхам (зурагтай)
DIY мөчлөгийн хурд хэмжигч: Миний B.tech -ийн сэдэв болох MEM (Механик инженерийн хэмжилт) төслийг хийх үед энэ төсөл санаанд орлоо. Энэхүү санаа нь миний унадаг дугуйн дугуйны өнцгийн хурдыг хэмжих явдал юм. Тиймээс диаметр ба бүх цаг үеийн математикийн домгийг мэдэх нь
Интернет хурд хэмжигч: 4 алхам (зурагтай)
Интернэтийн хурд хэмжигч: Ерөнхий тоймЭнэ " Интернет хурд хэмжигч " танд сүлжээнийхээ ашиглалтын бодит цаг хугацааны хяналтыг танд өгөх болно. Энэ мэдээлэл нь ихэнх гэрийн чиглүүлэгчийн вэб интерфэйс дээр байдаг. Гэсэн хэдий ч үүнд нэвтрэхийн тулд одоогийн ажлаа зогсоох шаардлагатай байна