Satura rādītājs:

Interneta ātruma mērītājs: 4 soļi (ar attēliem)
Interneta ātruma mērītājs: 4 soļi (ar attēliem)

Video: Interneta ātruma mērītājs: 4 soļi (ar attēliem)

Video: Interneta ātruma mērītājs: 4 soļi (ar attēliem)
Video: Mācību filma skolēniem "Katrīna" ņirgāšanās profilaksei skolas vidē 2024, Novembris
Anonim
Image
Image
Interneta ātruma mērītājs
Interneta ātruma mērītājs
Interneta ātruma mērītājs
Interneta ātruma mērītājs

Pārskats

Šis "interneta ātruma mērītājs" ļaus jums gandrīz reālā laikā pārraudzīt tīkla izmantošanu. Šī informācija ir pieejama lielākās daļas mājas maršrutētāju tīmekļa saskarnē. Tomēr, lai piekļūtu tai, jums jāpārtrauc pašreizējais uzdevums, lai to meklētu.

Es vēlējos apskatīt šo informāciju, nepārtraucot manu pašreizējo uzdevumu, parādīt to formātā, kas bija saprotams tikai ar ātru skatienu, un iegūt informāciju tādā veidā, kas darbotos pēc iespējas vairāk maršrutētāju, lai citi varētu potenciāli arī to izmantot.

Kā tas dara lietas

Es nolēmu izmantot SNMP (vienkāršu tīkla pārvaldības protokolu) kā veidu, kā iegūt informāciju no maršrutētāja. SNMP tiek plaši izmantots tīkla iekārtās, un, ja jūsu ierīce to pēc noklusējuma neatbalsta, SNMP ieviešanai var izmantot DDWRT (atvērtā pirmkoda maršrutētāja programmaparatūru).

Lai parādītu informāciju viegli saprotamā veidā, es izmantoju automašīnas mērierīci. Automobiļu mērinstrumenti ir paredzēti, lai sniegtu jums informāciju, netraucējot un nesajaucot, tāpēc vadītājs var paturēt acis uz ceļa. Arī man bija daži, kas apkārt.

Tā kā tas būtu uz mana galda, es nolēmu izveidot arī aizmugurējo apgaismojumu RGB, jo datoru piederumiem vajadzētu būt RGB. Taisnība?

Izaicinājumi

Manie mērinstrumenti izmantoja Air-Core izpildmehānismu. Pirms šī projekta es par tiem nebiju dzirdējis.

No Wikipedia: Gaisa kodola mērītājs sastāv no divām neatkarīgām, perpendikulārām spolēm, kas ieskauj dobu kameru. Adatas vārpsta izvirzās kamerā, kur pie vārpstas ir piestiprināts pastāvīgais magnēts. Kad strāva plūst caur perpendikulārajām spolēm, to magnētiskie lauki pārklājas, un magnēts var brīvi izlīdzināties ar kombinētajiem laukiem.

Es nevarēju atrast Arduino bibliotēku, kas pārvaldnieka konfigurācijā atbalstītu SNMP. SNMP ir divas galvenās formas - aģents un vadītājs. Aģenti atbild uz pieprasījumu, un vadītāji nosūta pieprasījumu aģentiem. Man izdevās panākt pārvaldnieka funkcionalitāti, modificējot 0neblock izveidoto Arduino_SNMP bibliotēku. Es nekad neesmu programmējis C ++, izņemot to, ka LED mirgo Arduino, tāpēc, ja rodas problēmas ar SNMP bibliotēku, informējiet mani, un es mēģināšu tās novērst, pagaidām tas darbojas.

Turklāt SNMP nav paredzēts reāllaika skatīšanai. Paredzētais lietojums ir statistikas izsekošanai un pārtraukumu noteikšanai. Šī iemesla dēļ maršrutētāja informācija tiek atjaunināta tikai aptuveni ik pēc 5 sekundēm (jūsu ierīce var atšķirties). Tas ir iemesls kavējumam starp skaitli ātruma testā un adatas kustību.

1. darbība: instrumenti un materiāli

Instrumenti un materiāli
Instrumenti un materiāli
Instrumenti un materiāli
Instrumenti un materiāli
Instrumenti un materiāli
Instrumenti un materiāli
Instrumenti un materiāli
Instrumenti un materiāli
Ķēdes dizains
Ķēdes dizains

Mums būs nepieciešami 3 pilni H tilti. Manis izmantotie modeļi ir Dual TB6612FNG un Dual L298N.

Katram Air-Core izpildmehānismam ir nepieciešami 2 pilni H tilti, jo spoles ir jākontrolē neatkarīgi.

Vienam no manis izmantotajiem mērinstrumentiem ir viena spole, kas īsslēgta zemē ar diodi un rezistoru. Es neesmu pārliecināts par zinātni, kas ir aiz tā, bet tas ļauj tai pagriezties aptuveni 90 grādus, ja tiek darbināta tikai viena spole.

Es izmantošu 12v līdz 5v regulatoru, kas ir daļa no L298N plates, kuru izvēlējos ESP32 barošanai.

Visas LED shēmas nav pieejamas, kā arī JST savienotāji. Jūs varētu viegli lodēt vadus tieši uz ESP32 un motora draiveri.

3. solis: koda dizains

Koda iestatīšana

Mums būs jāiestata Arduino, lai varētu izmantot ESP32 plati. Šeit ir labs ceļvedis, kas palīdzēs jums veikt ESP32 Arduino iestatīšanu.

Jums būs nepieciešama arī Arduino_SNMP bibliotēka, kas atrodas šeit.

Lai konfigurētu kodu, jums būs jāapkopo informācija.

  1. Maršrutētāja IP
  2. Maksimālais augšupielādes ātrums
  3. Maksimālais lejupielādes ātrums
  4. Jūsu WiFi vārds un parole
  5. OID, kas satur oktetu skaitu, ir maršrutētāju WAN saskarnē “ieeja” un “izeja”

Vēlamajai informācijai ir standarta OID (objektu identifikatori). Saskaņā ar MIB-2 standartu vēlamie skaitļi ir šādi:

ifInOctets.1.3.6.1.2.1.2.2.1.16. X

ifOutOctets.1.3.6.1.2.1.2.2.1.10. X

Kur X ir interfeisam piešķirtais numurs, no kura vēlaties iegūt statistiku. Man šis skaitlis ir 3. Viens veids, kā apstiprināt, ka šis ir pareizais OID, un noteikt, kāds saskarnes numurs jums jāizmanto, ir izmantot tādu rīku kā MIB pārlūks.

Lai iegūtu maksimālo ātrumu, es izmantoju SpeedTest.net. kad ātrums būs Mb / s, tas būs jāpārvērš oktetos, izmantojot šo formulu.

Oktetes sekundē = (ātruma testa rezultāts Mbps * 1048576) / 8

Koda funkcija

Kods nosūta maršrutētājam SNMP saņemšanas pieprasījumu. Pēc tam maršrutētājs atbild ar numuru, skaitlis norāda nosūtīto vai saņemto oktetu skaitu. Tajā pašā laikā mēs reģistrējam milisekundes, kas pagājušas kopš Arduino sākuma.

Kad šis process ir noticis vismaz divas reizes, mēs varam aprēķināt lietojuma procentuālo daudzumu, pamatojoties uz mūsu maksimālajām vērtībām, izmantojot šo kodu

procentiDown = ((pludiņš) (baitsDown - baitsDownLast)/(pludiņš) (maxDown * ((milis () - laiksLast)/1000))) * 100;

Matemātika sadalās šādi:

octetsDiff = snmp_result - Iepriekšējais_ snmp_rezultāts

timeFrame = currentTime - timeLast

MaxPosableOverTime = (timeFrame * Octets_per_second)/1000

Procenti = (oktetiDiff / MaxPosableOverTime) * 100

Tagad, kad mums ir tīkla izmantošanas procenti, mums tas vienkārši jāraksta uz mērierīci. Mēs to darām 2 soļos. Vispirms mēs izmantojam funkciju updateDownloadGauge. Šajā funkcijā mēs izmantojam “karti”, lai procentus pārvērstu par skaitli, kas apzīmē radiāna stāvokli mērierīcē. Tad mēs piešķiram šo numuru funkcijai setMeterPosition, lai adatu pārvietotu uz jauno pozīciju.

4. solis: korpusa dizains

Korpusa dizains
Korpusa dizains
Korpusa dizains
Korpusa dizains
Korpusa dizains
Korpusa dizains

Lai saturētu visu, es izveidoju korpusu fusion360 un to izdrukāju 3D. Manis izstrādātais dizains ir salīdzinoši vienkāršs. Es izmantoju karstu līmi, lai piestiprinātu sastāvdaļas iekšpusē, un mērinstruments tiek turēts vietā, saspiežot starp priekšējo vāku un aizmugurējo vāku. Lai izveidotu korpusu, jums nav jāizmanto 3D drukāšana. Piemēram, jūs varat izgatavot futrāli no koka vai ievietot visu atpakaļ oriģinālajā korpusā, kurā bija mērinstrumenti.

Mani STL faili ir pieejami vietnē thingiverse, ja vēlaties tos apskatīt, taču maz ticams, ka tie jums noderēs, ja vien nesaņemsiet tieši tādus mērinstrumentus kā es.

Lietas faili:

Paldies, ka izlasījāt. Paziņojiet man, ja jums ir kādi jautājumi, un es darīšu visu iespējamo, lai atbildētu.

Ieteicams: