Სარჩევი:

ინტერნეტის სიჩქარე: 4 ნაბიჯი (სურათებით)
ინტერნეტის სიჩქარე: 4 ნაბიჯი (სურათებით)

ვიდეო: ინტერნეტის სიჩქარე: 4 ნაბიჯი (სურათებით)

ვიდეო: ინტერნეტის სიჩქარე: 4 ნაბიჯი (სურათებით)
ვიდეო: IV დასი - PARADISE 2024, ნოემბერი
Anonim
Image
Image
ინტერნეტის სიჩქარის საზომი
ინტერნეტის სიჩქარის საზომი
ინტერნეტის სიჩქარის საზომი
ინტერნეტის სიჩქარის საზომი

მიმოხილვა

ეს "ინტერნეტ სიჩქარის მრიცხველი" მოგცემთ რეალურ დროში თქვენი ქსელის გამოყენების ზედამხედველობას. ეს ინფორმაცია ხელმისაწვდომია სახლის მარშრუტიზატორების უმეტესობის ვებ ინტერფეისზე. ამასთან, მასზე წვდომისთვის საჭიროა შეწყვიტოთ თქვენი ამჟამინდელი ამოცანა, რათა დაიწყოთ მისი ძებნა.

მე მსურდა ამ ინფორმაციის ნახვა ჩემი ახლანდელი ამოცანის შეწყვეტის გარეშე, წარმომეჩინა ის ფორმატში, რომელიც გასაგები იყო მხოლოდ ერთი შეხედვით და მივიღო ინფორმაცია ისე, რომ რაც შეიძლება მეტ მარშრუტიზატორთან იმუშაოს, რათა სხვებმა შეძლონ პოტენციურად გამოიყენოს იგი ასევე

როგორ აკეთებს საქმეებს

მე გადავწყვიტე SNMP (მარტივი ქსელის მართვის პროტოკოლი), როგორც გზა როუტერიდან ინფორმაციის მისაღებად. SNMP ფართოდ გამოიყენება ქსელის აღჭურვილობაში და თუ თქვენი მოწყობილობა არ უჭერს მხარს მას, DDWRT (ღია კოდის მარშრუტიზატორის პროგრამული უზრუნველყოფა) შეიძლება გამოყენებულ იქნას SNMP– ის განსახორციელებლად.

ინფორმაციის საჩვენებლად ისე ადვილად გასაგები, მე გამოვიყენე ლიანდაგი მანქანიდან. საავტომობილო ლიანდაგები შექმნილია იმისთვის, რომ მოგაწოდოთ ინფორმაცია ყურადღების გადატანის ან დაბნეულობის გარეშე, ასე რომ მძღოლს შეუძლია თვალი აარიდოს გზაზე. გარდა ამისა, მე მქონდა მოტყუება ირგვლივ.

ვინაიდან ეს იქნებოდა ჩემს მაგიდაზე, მე გადავწყვიტე, რომ მე ასევე გავაკეთებ უკანა შუქს RGB რადგან კომპიუტერის აქსესუარები უნდა იყოს RGB. არა?

გამოწვევები

საზომი მოწყობილობები, რომლებიც მე მქონდა, იყენებდნენ საჰაერო ბირთვის გამტარებელს. მე არ მსმენია ამის შესახებ ამ პროექტამდე.

ვიკიპედიიდან: ჰაერის ბირთვიანი საზომი შედგება ორი დამოუკიდებელი, პერპენდიკულარული კოჭისაგან, რომელიც გარს უვლის ღრუ პალატას. ნემსის ლილვი გამოდის კამერაში, სადაც მუდმივი მაგნიტი მიმაგრებულია ლილვზე. როდესაც დენი მიედინება პერპენდიკულარულ გრაგნილებში, მათი მაგნიტური ველები ერთმანეთზე გადადიან და მაგნიტი თავისუფალია შეუერთდეს კომბინირებულ ველებს.

მე ვერ ვიპოვე Arduino– ს ბიბლიოთეკა, რომელიც მხარს უჭერდა SNMP მენეჯერის კონფიგურაციას. SNMP– ს აქვს ორი ძირითადი ფორმა, აგენტი და მენეჯერი. აგენტები პასუხობენ მოთხოვნას და მენეჯერები უგზავნიან მოთხოვნას აგენტებს. მე შევძელი მენეჯერის ფუნქციონირების დამუშავება 0neblock- ის მიერ შექმნილი Arduino_SNMP ბიბლიოთეკის შეცვლით. მე არასოდეს დამიპროგრამებია C ++ - ზე, გარდა იმისა, რომ LED- ს აციმციმებს Arduino– ზე, ასე რომ, თუ რაიმე პრობლემაა SNMP ბიბლიოთეკასთან დაკავშირებით, შემატყობინეთ და ვეცდები გამოვასწორო ისინი, მაგრამ ახლა ის მუშაობს.

გარდა ამისა, SNMP არ არის შექმნილი რეალურ დროში სანახავად. დანიშნულებისამებრ არის სტატისტიკის თვალყურის დევნება და გათიშვების გამოვლენა. ამის გამო, ინფორმაცია როუტერზე მხოლოდ ყოველ 5 წამში განახლდება (თქვენი მოწყობილობა შეიძლება განსხვავდებოდეს). ეს არის მიზეზი სიჩქარის გამოცდაზე რიცხვისა და ნემსის მოძრაობას შორის შეფერხებისა.

ნაბიჯი 1: ინსტრუმენტები და მასალები

ინსტრუმენტები და მასალები
ინსტრუმენტები და მასალები
ინსტრუმენტები და მასალები
ინსტრუმენტები და მასალები
ინსტრუმენტები და მასალები
ინსტრუმენტები და მასალები
ინსტრუმენტები და მასალები
ინსტრუმენტები და მასალები
წრიული დიზაინი
წრიული დიზაინი

ჩვენ დაგვჭირდება 3 სრული H- ხიდი. მოდელები, რომლებიც მე გამოვიყენე არის Dual TB6612FNGand Dual L298N.

თითოეული ჰაერის ბირთვიანი გამტარებელი მოითხოვს 2 სრულ H- ხიდს, რადგან კოჭები დამოუკიდებლად უნდა კონტროლდებოდეს.

ერთ -ერთ საზომს, რომელსაც მე ვიყენებ, აქვს ერთი ხვეული, რომელიც მიწასთან არის გამაგრებული დიოდთან და რეზისტორთან ერთად. დარწმუნებული არ ვარ მის მიღმა არსებულ მეცნიერებაში, მაგრამ ამის წყალობით ის ბრუნავს 90 გრადუსით მხოლოდ ერთი ბორბლით.

მე გამოვიყენებ 12v– დან 5v– მდე მარეგულირებელს, რომელიც არის L298N დაფის ნაწილი, რომელიც მე შევარჩიე ESP32– ის გასაძლიერებლად.

ყველა LED სქემა არჩევითია, ასევე JST კონექტორები. თქვენ მარტივად შეგიძლიათ შეაერთოთ მავთულები პირდაპირ ESP32 და ძრავის მძღოლზე.

ნაბიჯი 3: კოდის დიზაინი

კოდის დაყენება

ჩვენ დაგვჭირდება Arduino– ს დაყენება, რომ შევძლოთ ESP32 დაფის გამოყენება. აქ არის კარგი სახელმძღვანელო, რომელიც დაგეხმარებათ ESP32 Arduino– ს დაყენებაში.

თქვენ ასევე დაგჭირდებათ Arduino_SNMP ბიბლიოთეკა, რომელიც მდებარეობს აქ.

კოდის კონფიგურაციისთვის, თქვენ უნდა შეაგროვოთ გარკვეული ინფორმაცია.

  1. როუტერის IP
  2. ატვირთვის მაქსიმალური სიჩქარე
  3. გადმოტვირთვის მაქსიმალური სიჩქარე
  4. თქვენი WiFi სახელი და პაროლი
  5. OID რომელიც შეიცავს ოქტეტს ითვლის „in“და „out“თქვენს მარშრუტიზატორებზე WAN ინტერფეისს

არსებობს სტანდარტული OID (ობიექტის იდენტიფიკატორი) იმ ინფორმაციისთვის, რომელიც ჩვენ გვსურს. 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 ბრაუზერი.

მაქსიმალური სიჩქარის მისაღებად გამოვიყენე SpeedTest.net. ერთხელ თქვენ გაქვთ თქვენი სიჩქარე Mbps თქვენ უნდა გადააქციოთ ისინი ოქტეტად ამ ფორმულის გამოყენებით.

ოქტეტები წამში = (სიჩქარის ტესტის შედეგი Mbps * 1048576) / 8

კოდის ფუნქცია

კოდი აგზავნის SNMP მისაღებ მოთხოვნას როუტერზე. შემდეგ როუტერი პასუხობს ნომრით, რიცხვი წარმოადგენს გაგზავნილი ან მიღებული ოქტეტების რაოდენობას. ამავე დროს, ჩვენ ვწერთ მილიწამების რაოდენობას, რომელიც გავიდა არდუინოს დაწყების დღიდან.

მას შემდეგ, რაც ეს პროცესი მინიმუმ ორჯერ მოხდა, ჩვენ შეგვიძლია გამოვთვალოთ გამოყენების პროცენტი ამ მაქსიმალური კოდის გამოყენებით

პროცენტული ქვემოთ = ((float) (byteDown - byteDownLast)/(float) (maxDown * ((millis () - timeLast)/1000))) * 100;

მათემატიკა ასე იშლება:

octetsDiff = snmp_result - წინა_ snmp_result

დროის ჩარჩო = მიმდინარე დრო - დრო ბოლო

MaxPosableOverTime = (დროის ჩარჩო * Octets_per_second)/1000

პროცენტი = (octetsDiff / MaxPosableOverTime) * 100

ახლა, როდესაც ჩვენ გვაქვს ქსელის გამოყენების პროცენტი, ჩვენ უბრალოდ უნდა დავწეროთ იგი ლიანდაგზე. ჩვენ ამას ვაკეთებთ 2 ნაბიჯში. პირველ რიგში ჩვენ ვიყენებთ updateDownloadGauge ფუნქციას. ამ ფუნქციაში ჩვენ ვიყენებთ "რუქას" პროცენტის რიცხვის გადასაყვანად, რომელიც წარმოადგენს რადიანის პოზიციას ლიანდაგზე. შემდეგ ჩვენ ვაძლევთ ამ რიცხვს setMeterPosition ფუნქციას ნემსის ახალ პოზიციაზე გადასატანად.

ნაბიჯი 4: საქმის დიზაინი

საქმის დიზაინი
საქმის დიზაინი
საქმის დიზაინი
საქმის დიზაინი
საქმის დიზაინი
საქმის დიზაინი

ყველაფრის შესანახად, მე შევქმენი დანართი fusion360– ში და 3D დაბეჭდე იგი. დიზაინი, რომელიც მე გავაკეთე, შედარებით მარტივია. მე გამოვიყენე ცხელი წებო კომპონენტების შიგნით შესაკრავად და ლიანდაგი ინახება წინა საფარსა და უკანა საფარს შორის. შემთხვევის შესაქმნელად თქვენ არ გჭირდებათ 3D ბეჭდვის გამოყენება. მაგალითად, შეგიძლიათ გააკეთოთ ქეისი ხისგან, ან ყველაფერი დააბრუნოთ თავდაპირველ საქმეში, რომლითაც გაზომვები შემოვიდა.

ჩემი STL ფაილები ხელმისაწვდომია thingiverse– ზე, თუ გინდათ რომ შეხედოთ მათ, მაგრამ ნაკლებად სავარაუდოა, რომ ისინი იმუშავებენ თქვენთვის, თუ არ მიიღებთ ზუსტად იგივე მაჩვენებლებს, რაც მე გამოვიყენე.

საქმის მასალები:

Მადლობა წაკითხვისთვის. შემატყობინეთ, თუ თქვენ გაქვთ რაიმე შეკითხვები და მე ყველაფერს გავაკეთებ პასუხის გასაცემად.

გირჩევთ: