Talaan ng mga Nilalaman:
Video: Pagsukat ng Bilis sa Internet: 4 na Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:14
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
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.
- Router IP
- Max na bilis ng pag-upload
- Max na bilis ng pag-download
- Ang iyong pangalan at password sa WiFi
- 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
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:
Pagsukat sa Bilis ng Motor Gamit ang Arduino: 6 Hakbang
Pagsukat sa Bilis ng Motor Gamit ang Arduino: Mahirap bang masukat ang rpm ng motor ??? Sa palagay ko hindi. Narito ang isang simpleng solusyon. Isang IR sensor at Arduino lamang sa iyong kit ang maaaring gawin ito. Sa post na ito bibigyan ko ng isang simpleng tutorial na nagpapaliwanag kung paano sukatin ang RPM ng anumang motor na gumagamit ng IR sensor at A
Bilis ng Hangin at Solar Radiation Recorder: 3 Hakbang (na may Mga Larawan)
Wind Speed at Solar Radiation Recorder: Kailangan kong i-record ang bilis ng hangin at ang solar radiation power (irradiance) upang masuri kung gaano karaming lakas ang maaaring makuha sa isang turbine ng hangin at / o mga solar panel. Susukatin ko sa loob ng isang taon, pag-aralan ang data at pagkatapos ay magdisenyo ng isang off grid syste
Buuin ang Iyong Sariling BiQuad 4G Antenna Na May Bilis na Pagsubok: 7 Hakbang (na may Mga Larawan)
Buuin ang Iyong Sariling BiQuad 4G Antenna Sa Bilis na Pagsubok: Sa itinuturo na ito ay pupunta ako upang ipakita sa iyo kung paano ako gumawa ng isang BiQuad 4G antena. Ang pagtanggap ng signal ay mahirap sa aking tahanan dahil sa mga bundok sa paligid ng aking bahay. Ang signal tower ay 4.5km ang layo mula sa bahay. Sa distrito ng Colombo ang aking service provider ay nagbibigay ng bilis na 20mbps. ngunit sa m
Mababang Gastos na Pag-sign ng Bilis ng Radar: 11 Mga Hakbang (na may Mga Larawan)
Mababang Gastos na Pag-sign ng Bilis ng Radar: Nais mo na bang bumuo ng iyong sariling mababang-gastos na pag-sign ng bilis ng radar? Nakatira ako sa isang kalye kung saan masyadong mabilis ang pagmamaneho ng mga kotse, at nag-aalala ako tungkol sa kaligtasan ng aking mga anak. Akala ko mas magiging mas ligtas kung mai-install ko ang isang radar speed sign na sarili ko na nagpapakita
Pagsukat sa bilis ng daloy: 7 Hakbang (na may Mga Larawan)
Pagsukat sa bilis ng daloy: Sa aparatong ito nagagawa mong sukatin ang bilis ng isang libreng daloy ng daloy. Ang tanging bagay na kinakailangan ay ang Arduino at ilang pangunahing kasanayan sa crafting at, syempre, isang libreng agos na agos. Hindi ito ang pinaka praktikal na paraan upang masukat ang veloci