Talaan ng mga Nilalaman:

Pagsukat ng Bilis sa Internet: 4 na Hakbang (na may Mga Larawan)
Pagsukat ng Bilis sa Internet: 4 na Hakbang (na may Mga Larawan)

Video: Pagsukat ng Bilis sa Internet: 4 na Hakbang (na may Mga Larawan)

Video: Pagsukat ng Bilis sa Internet: 4 na Hakbang (na may Mga Larawan)
Video: Gawin Mo Ito At Mapupuyat Siya Sa Kaka Isip SAYO 2024, Hulyo
Anonim
Image
Image
Pagsukat sa Bilis ng Internet
Pagsukat sa Bilis ng Internet
Pagsukat sa Bilis ng Internet
Pagsukat sa Bilis ng Internet

Pangkalahatang-ideya

Ang "Internet Speed Gauge" ay magbibigay sa iyo malapit sa real time na pangangasiwa ng iyong paggamit sa network. Ang impormasyong ito ay magagamit sa web interface ng karamihan sa mga router sa bahay. Gayunpaman, ang pag-access sa ito ay nangangailangan sa iyo upang ihinto ang iyong kasalukuyang gawain upang tingnan ito.

Nais kong tingnan ang impormasyong ito nang hindi kinakailangang makagambala sa aking kasalukuyang gawain, upang ipakita ito sa isang format na naiintindihan sa isang mabilis na sulyap lamang, at upang makuha ang impormasyon sa isang paraan na gagana sa maraming mga router hangga't maaari, upang ang iba ay maaaring potensyal na gamitin din ito.

Paano ito ginagawa ang mga bagay

Nagpasya ako sa SNMP (Simple Network Management Protocol) bilang paraan upang makuha ang impormasyon mula sa router. Malawakang ginagamit ang SNMP sa kagamitan sa pag-network at kung hindi ito sinusuportahan ng iyong aparato sa pamamagitan ng default na DDWRT (open source router firmware) ay maaaring magamit upang ipatupad ang SNMP.

Upang maipakita ang impormasyon sa isang paraan na madaling maunawaan Gumamit ako ng isang gauge mula sa isang kotse. Ang mga gauge ng automotive ay idinisenyo upang magbigay sa iyo ng impormasyon nang hindi nakakaabala o nakalilito, upang mapanatili ang paningin ng drayber sa kalsada. Gayundin, mayroon akong ilang pagtula sa paligid.

Dahil ito ay nasa aking mesa ay nagpasya akong gagawin ko rin ang ilaw sa likod ng RGB sapagkat ang lahat ng mga aksesorya ng computer ay dapat na RGB. Di ba

Mga Hamon

Ang mga gauge na ginamit ko ng isang tagapagtuos ng Air-Core. Hindi ko pa naririnig ang mga ito bago ang proyektong ito.

Mula sa Wikipedia: Ang panukalang sukat ng hangin ay binubuo ng dalawang independyente, patayo na mga coil na pumapalibot sa isang guwang na silid. Ang isang baras ng karayom ay nakausli sa silid, kung saan ang isang permanenteng pang-akit ay nakakabit sa baras. Kapag ang kasalukuyang dumadaloy sa pamamagitan ng patayo na mga coil, ang kanilang mga magnetikong patlang ay nag-superimpose, at ang magnet ay malayang makahanay sa pinagsamang mga patlang.

Hindi ako makahanap ng isang silid-aklatan para sa Arduino na sumusuporta sa SNMP sa pagsasaayos ng manager. Ang SNMP ay may dalawang pangunahing form, ahente at manager. Ang mga ahente ay tumutugon sa kahilingan at ang mga tagapamahala ay nagpapadala ng kahilingan sa mga ahente. Nagawa kong gumana ang pagpapaandar ng manager sa pamamagitan ng pagbabago ng Arduino_SNMP library na nilikha ng 0neblock. Hindi ko pa nai-program sa C ++ maliban sa paggawa ng blink ng LED sa isang Arduino kaya kung may mga isyu sa library ng SNMP ipaalam sa akin at susubukan kong ayusin ang mga ito, sa ngayon ay gumagana pa rin ito.

Bilang karagdagan, ang SNMP ay hindi idinisenyo para sa pagtingin sa real time. Ang inilaan na paggamit ay para sa pagsubaybay sa mga istatistika at pagtuklas ng mga pag-outage. Dahil dito, na-update lamang ang impormasyon sa router tungkol sa bawat 5 segundo (maaaring mag-iba ang iyong aparato). Iyon ang sanhi ng pagkaantala sa pagitan ng numero sa bilis ng pagsubok at paggalaw ng karayom.

Hakbang 1: Mga Tool at Materyales

Mga Kasangkapan at Kagamitan
Mga Kasangkapan at Kagamitan
Mga Kasangkapan at Kagamitan
Mga Kasangkapan at Kagamitan
Mga Kasangkapan at Kagamitan
Mga Kasangkapan at Kagamitan
Mga Kasangkapan at Kagamitan
Mga Kasangkapan at Kagamitan
Disenyo ng Circuit
Disenyo ng Circuit

Kakailanganin namin ang 3 buong H-tulay. Ang mga modelo na ginamit ko ay Dual TB6612FNGand Dual L298N.

Ang bawat taga-aktibo ng Air-Core ay nangangailangan ng 2 buong H-tulay sapagkat ang mga coil ay kailangang kontrolin nang nakapag-iisa.

Ang isa sa mga gauge na ginagamit ko ay may isang coil na pinaikling sa lupa na may diode at resistor. Hindi ako sigurado sa agham sa likuran nito ngunit ang paggawa nito ay nagbibigay-daan dito upang paikutin ang tungkol sa 90 degree na may isang coil lamang na pinapatakbo.

Gagamitin ko ang 12v hanggang 5v regulator na bahagi ng L298N board na pinili ko upang paandarin ang ESP32.

Ang lahat ng LED circuitry ay opsyonal, pati na rin ang mga konektor ng JST. Madali mong solder ang mga wire nang direkta sa ESP32 at driver ng motor.

Hakbang 3: Disenyo ng Code

Pag-setup ng Code

Kakailanganin naming i-set up ang Arduino upang magamit ang board ng ESP32. Mayroong isang mahusay na gabay na matatagpuan dito na lalakad sa iyo sa pamamagitan ng pag-set up ng ESP32 Arduino.

Kakailanganin mo rin ang Arduino_SNMP library na matatagpuan dito.

Upang mai-configure ang code, kakailanganin mong mangolekta ng ilang impormasyon.

  1. Router IP
  2. Max na bilis ng pag-upload
  3. Max na bilis ng pag-download
  4. Ang iyong pangalan at password sa WiFi
  5. Ang OID na naglalaman ng mga bilang ng octet para sa "in" at "out" sa iyong router na WAN interface

Mayroong mga karaniwang OID (Mga Kilalang Bagay) para sa impormasyong nais namin. Ayon sa pamantayang MIB-2 ang mga nais nating numero ay:

ifInOctets.1.3.6.1.2.1.2.2.1.16. X

ifOutOctets.1.3.6.1.2.1.2.2.1.10. X

Kung saan ang X ay ang bilang na nakatalaga sa interface na nais mong makuha ang mga istatistika. Para sa akin ang numerong iyon ay 3. Isang paraan upang kumpirmahing ito ang tamang OID para sa iyo at upang makilala kung anong interface ang kailangan mong gamitin, ay ang paggamit ng isang tool tulad ng MIB Browser.

Upang makakuha ng mga bilis ng max ginamit ko ang SpeedTest.net. sa sandaling mayroon ka ng iyong mga bilis sa Mbps kakailanganin mong i-convert ang mga ito sa mga octet gamit ang formula na ito.

Mga Oktet bawat segundo = (Resulta mula sa bilis ng pagsubok sa Mbps * 1048576) / 8

Pag-andar ng Code

Nagpapadala ang code ng isang SNMP get-request sa router. Pagkatapos ay ang router ay tumugon sa isang numero, ang numero ay kumakatawan sa bilang ng mga octet na naipadala o natanggap. Sa parehong oras, itinatala namin ang bilang ng mga millisecond na lumipas mula nang magsimula ang Arduino.

Kapag ang prosesong ito ay nangyari hindi bababa sa dalawang beses maaari naming kalkulahin ang porsyento ng paggamit batay sa aming mga max na halaga gamit ang code na ito

porsyentoDown = ((float) (byteDown - byteDownLast) / (float) (maxDown * ((millis () - timeLast) / 1000))) * 100;

Ang matematika ay nasisira nang ganito:

octetsDiff = snmp_result - Nakaraan_ snmp_result

timeFrame = currentTime - timeLast

MaxPosableOverTime = (timeFrame * Octets_per_second) / 1000

Porsyento = (octetsDiff / MaxPosableOverTime) * 100

Ngayon na mayroon kaming porsyento ng paggamit ng network kailangan lang naming isulat ito sa gauge. Ginagawa namin iyon sa 2 mga hakbang. Una naming ginagamit ang pag-andar ng pag-update ngDownloadGauge. Sa pagpapaandar na ito ginagamit namin ang "mapa" upang i-convert ang porsyento sa isang numero na kumakatawan sa isang posisyon ng radian sa gauge. Pagkatapos ay ibibigay namin ang numerong iyon sa pagpapaandar ng setMeterPosition upang ilipat ang karayom sa bagong posisyon.

Hakbang 4: Disenyo ng Kaso

Disenyo ng Kaso
Disenyo ng Kaso
Disenyo ng Kaso
Disenyo ng Kaso
Disenyo ng Kaso
Disenyo ng Kaso

Upang maglaman ng lahat, nagdisenyo ako ng isang enclosure sa fusion360 at na-print ito sa 3D. Ang disenyo na ginawa ko ay medyo simple. Gumamit ako ng mainit na pandikit upang i-fasten ang mga sangkap sa loob at ang gauge ay gaganapin sa pamamagitan ng pagkurot sa pagitan ng harap na takip at ng likod na takip. Hindi mo kailangang gumamit ng 3D na pag-print upang likhain ang kaso. Halimbawa, maaari kang gumawa ng isang kaso sa kahoy, o maaari mong ibalik ang lahat sa orihinal na kaso na pinasok ng mga gauge.

Ang aking mga file ng STL ay magagamit sa thingiverse kung nais mong tingnan ang mga ito ngunit malabong gagana sila para sa iyo maliban kung makuha mo ang eksaktong parehong mga gauge na ginamit ko.

Mga file ng kaso: https://www.thingiverse.com/thing: 2932127

Salamat sa pagbabasa. Ipaalam sa akin kung mayroon kang anumang mga katanungan at gagawin ko ang aking makakaya upang sagutin.

Inirerekumendang: