Internet tezligi o'lchagichi: 9 qadam (rasmlar bilan)
Internet tezligi o'lchagichi: 9 qadam (rasmlar bilan)
Anonim
Image
Image
Reja
Reja

Hindistonda to'liq blokirovka davom etar ekan, hamma narsa, shu jumladan pochta xizmatlari yopildi. Yangi PCB loyihalari yo'q, yangi komponentlar yo'q, hech narsa! Shunday qilib, zerikishdan qutulish va o'zimni band qilish uchun, men o'zim uyda bo'lgan qismlardan nimadir yasashga qaror qildim. Men keraksiz elektronlar to'plamidan qidirishni boshladim va eski, singan analog multimetrni topdim. Men "hisoblagichlar harakati" ni saqlab qoldim va qandaydir ma'lumotni ko'rsatishga qaror qildim, lekin nima ekanligini aniq bilmasdim. Birinchidan, men COVID-19 statistikasini ko'rsatishni o'yladim, lekin Internetda juda yaxshi loyihalar mavjud. Bundan tashqari, ma'lumotlar bir necha soatdan keyin yangilanadi va hisoblagichning harakatsiz ko'rsatgichi zerikarli bo'ladi. Men har soniyada tez o'zgarib turadigan ma'lumotlarni xohlardim. Men Instagramda takliflar so'radim va izdoshlarimdan biri Internet tezligi o'lchagich bilan javob berdi. Bu qiziqarli bo'lib tuyuldi va buni qilishga qaror qildim!

Bu yo'riqnomada men sizga Wi -Fi routerimdan SNMP yordamida qanday ma'lumotlarni yig'ganimni va hisoblagichga yuklash va yuklash tezligini qanday ko'rsatganimni ko'rsataman.

Qani boshladik

1 -qadam: Reja

Har doimgidek, loyihani boshlashdan oldin, men Internetda bir oz tadqiq qildim. Men bu mavzu bilan bog'liq bir nechta loyihalarni topdim. Ular ikki xil edi. Wi -Fi signalining "kuchini" o'lchash orqali Internet tezligini ko'rsatgan. Men tarmoq bo'yicha mutaxassis emasman, lekin bu to'g'ri eshitilmadi. Qolganlari kechikishni o'lchab, tezlikni sekin, o'rta yoki tez deb tasniflashdi. Kechikish - bu so'rov yuborish va javob olish o'rtasidagi vaqtni kechiktirishidir, shuning uchun u Internet tezligining haqiqiy vakili bo'la olmaydi. Biz buni tarmoqning javob tezligi deb atashimiz mumkin! Keyin ba'zi ma'lumotlarni yuklab olish uchun zarur bo'lgan vaqtni o'lchagan va shunga asoslangan Internet tezligini hisoblaydigan qonuniy loyihalar bor edi.

Ammo men ushbu loyihada (Alistair tomonidan) oddiy tarmoqni boshqarish protokoli yoki SNMP haqida bilib oldim. SNMP -dan foydalanib, biz WiFi router bilan bog'lanishimiz va undan kerakli ma'lumotlarni olishimiz mumkin. Oson, to'g'rimi? Aslida, yo'q! Wi -Fi routerlarning har xil modellari har xil sozlamalarga ega va siz natijani olishdan oldin ko'p sinov va xatolarga muhtoj bo'lasiz. Qo'rqmang. Men SNMP haqida bilganlarimni va keyingi qadamlarda duch keladigan qiyinchiliklarni qisqacha tushuntiraman.

Shunday qilib, reja WiFi routerga ulanish uchun NodeMCU -dan foydalanishdir. Bu yakuniy natijaga erishish uchun qadamlar:

  • Routerga kerakli ma'lumotlarni "so'rash" so'rovini yuboring
  • Routerdan javob oling
  • Javobni tahlil qiling va undan kerakli ma'lumotlarni tahlil qiling
  • "Xom" ma'lumotlarni tushunarli ma'lumotga aylantiring
  • Hisoblagich uchun Internet tezligiga mutanosib kuchlanish hosil qiling
  • Takrorlang

Hisoblagichni boshqarish uchun men DAC yoki Digital to Analog Converter -dan foydalanaman.

2 -qadam: Sizga kerak bo'lgan narsalar

Sizga kerak bo'ladigan narsalar
Sizga kerak bo'ladigan narsalar
Sizga kerak bo'ladigan narsalar
Sizga kerak bo'ladigan narsalar
Sizga kerak bo'ladigan narsalar
Sizga kerak bo'ladigan narsalar

1x NodeMCU

1x analog o'lchagich harakati

1 x MPU 4725 DAC

1 x SPDT kaliti

1x 10k potentsiometr

1x rezistor

3-qadam: To'liq o'lchovli burilish oqimini hisoblash

To'liq o'lchovli burilish oqimini hisoblash
To'liq o'lchovli burilish oqimini hisoblash
To'liq o'lchovli burilish oqimini hisoblash
To'liq o'lchovli burilish oqimini hisoblash

Eslatma: Haqiqiy qurilish uchun 7 -bosqichga o'ting!

Agar siz hisoblagichingiz uchun to'liq o'lchovli burilish oqimini bilsangiz, bu bosqichni o'tkazib yuboring. Mening hisoblagichimda bu haqda hech narsa aytilmagan, shuning uchun hisoblashim kerak edi. Ammo birinchi navbatda, bunday harakat qanday ishlashini tezda ko'rib chiqaylik. U magnit maydonda osilgan rulondan iborat. Bobin orqali oqim o'tganda, Faraday qonuniga ko'ra, u kuchni boshdan kechiradi. Bobinning magnit maydonida erkin aylanishiga ruxsat beriladi, shunda rulonga biriktirilgan ko'rsatgich ham aylanadi. Ko'rsatkichni "o'lchov oxirida" harakatga keltiradigan tokning kattaligiga to'la o'lchovli burilish oqimi deyiladi. Bu, shuningdek, lasan orqali o'tishi kerak bo'lgan maksimal oqimdir.

Ko'p narsa bor, lekin bu biz qilayotgan ish uchun etarli. Endi bizda harakat bor. U yuqori qarshilikni ketma -ket qo'shib voltmetr sifatida yoki unga parallel ravishda kichik qarshilik qo'shib ampermetr sifatida ishlatilishi mumkin. Biz uni Internet tezligiga mutanosib ravishda kuchlanishni ko'rsatish uchun voltmetr sifatida ishlatamiz. Shunday qilib, biz ketma -ket qo'shiladigan qarshilikni hisoblashimiz kerak. Buning uchun biz birinchi navbatda to'liq o'lchovli burilish oqimini hisoblashimiz kerak.

  1. Yuqori qarshilik qiymatini tanlang (masalan,> 100k)
  2. Uni harakat bilan ketma -ket ulang va qozon yordamida o'zgaruvchan kuchlanishni qo'llang.
  3. Ko'rsatkich o'lchov oxirigacha asta -sekin kuchlanishni oshiring.
  4. Multimetr yordamida oqim oqimini o'lchang. Bu to'liq o'lchovli burilish oqimi. (Men uchun = 150uA)

Biz chiqish voltajining 0 dan VCC gacha bo'lgan diapazonidan foydalanamiz (NodeMCU tufayli 3,3V). Bu shuni anglatadiki, hisoblagichga 3.3V qo'llanilganda, u shkala oxirini ko'rsatishi kerak. Bu 3.3V qo'llanilganda kontaktlarning zanglashiga olib keladigan to'liq o'lchovli burilish oqimi sodir bo'lishi mumkin. Ohm qonunidan foydalanib, 3.3/(to'liq o'lchovli burilish oqimi) ketma-ket kiritiladigan qarshilik qiymatini beradi.

4 -qadam: SNMP GET so'rovini yaratish

SNMP GET so'rovini yaratish
SNMP GET so'rovini yaratish
SNMP GET so'rovini yaratish
SNMP GET so'rovini yaratish
SNMP GET so'rovini yaratish
SNMP GET so'rovini yaratish

Oddiy tarmoqni boshqarish protokoli (SNMP) - IP -tarmoqlarda boshqariladigan qurilmalar haqidagi ma'lumotlarni to'plash va tartibga solish hamda ushbu ma'lumotni qurilmaning xatti -harakatlarini o'zgartirish uchun o'zgartirish uchun Internet -standart protokoli. Odatda SNMP -ni qo'llab -quvvatlaydigan qurilmalarga kabel modemlari, yo'riqnoma, kalit, server, ish stantsiyasi, printer va boshqalar kiradi. Ushbu qurilish uchun biz Wi -Fi routerimiz bilan SNMP yordamida bog'lanamiz va kerakli ma'lumotlarni olamiz.

Lekin birinchi navbatda, biz yo'riqchiga "GET Request" deb nomlanuvchi so'rovni yuborishimiz kerak, bu biz xohlagan ma'lumot tafsilotlarini ko'rsatadi. Rasmda GET Request formati ko'rsatilgan. Ariza turli qismlardan iborat. Siz o'zgartirmoqchi bo'lgan baytlarni ajratib ko'rsatdim.

E'tibor bering, hamma narsa o'n oltilikda.

SNMP xabari -Mening holatimda, butun xabarning uzunligi 40 (kul rang) bo'lib, o'n oltilikka aylantirilganda 0x28 bo'ladi.

SNMP Community String - "PUBLIC" qiymati o'n oltilikda "70 75 62 6C 69 63" deb yozilgan, uzunligi 6 (sariq).

SNMP PDU turi - Menimcha, xabarning uzunligi 27 (ko'k), ya'ni 0x1B.

Varbind ro'yxati turi - Mening holimda, xabarning uzunligi 16 (yashil), ya'ni 0x10.

Varbind turi - Mening holimda, xabarning uzunligi 14 (pushti), ya'ni 0x0E.

Ob'ekt identifikatori -

Yuqorida aytib o'tilganidek, SNMP-ni qo'llab-quvvatlaydigan tarmoq qurilmalari (masalan, yo'riqnoma, kommutatorlar va boshqalar) OID tomonidan aniqlangan ob'ektlar sifatida tizim holati, mavjudligi va ishlashi haqidagi ma'lumotlar bazasini saqlaydi. Paketlarni yuklash va yuklash uchun yo'riqnoma OIDlarini aniqlash kerak. Buni bepul MIB brauzeri yordamida amalga oshirish mumkin.

Manzilni 192.168.1.1 va OID ni.1.3.6.1.2.1.2.2.1.10.x (ifInOctets) yoki.1.3.6.1.2.1.2.2.1.16.x sifatida kiriting. (ifOutOctets). Operatsiyani olish -ni tanlang va Go tugmasini bosing. Siz OIDni qiymati va turi bilan birga ko'rishingiz kerak.

Menimcha, xabarning uzunligi 10 (qizil), ya'ni 0x0A. Qiymatni OID bilan almashtiring. Bunday holda, '2B 06 01 02 01 02 02 01 10 10'

Bo'ldi shu! Sizning so'rovingiz xabari tayyor. Qolgan baytlarni xuddi shunday saqlang.

Routerda SNMP -ni yoqish:

  • Wi -Fi router sahifasiga standart shlyuz orqali kiring. Brauzeringizga 192.168.1.1 kiriting va Enter tugmasini bosing. Odatiy bo'lib, foydalanuvchi nomi va parol "admin" bo'lishi kerak.
  • Men TP-LINK (TD-W8961N) routeridan foydalanmoqdaman. Ushbu yo'riqnoma uchun kirishni boshqarish> SNMP -ga o'ting va "Faollashtirilgan" -ni tanlang.
  • GET hamjamiyati: ommaviy
  • Tuzoq xosti: 0.0.0.0

5 -qadam: GET Response -ni tushunish

GET Response -ni tushunish
GET Response -ni tushunish

Siz bu qadamni o'tkazib yuborishingiz mumkin, lekin ba'zi muammolarni bartaraf etish kerakligini bilish yaxshi.

Kodni yuklaganingizdan va ishga tushirganingizdan so'ng, Serial monitor orqali javobni ko'rishingiz mumkin. Rasmda ko'rsatilgandek ko'rinishi kerak. Men ta'kidlagan bir nechta baytlarni izlash kerak.

0 dan boshlab, 15 -bayt PDU turini aytadi - 0xA2 bu GetResponse ekanligini bildiradi.

48 -bayt ma'lumot turini aytadi - 0x41, bu ma'lumotlar turi hisoblagich ekanligini bildiradi.

49 -bayt ma'lumotlar uzunligini bildiradi - 0x04 ma'lumot 4 bayt uzunligini bildiradi.

Bayt 50, 51, 52, 53 ma'lumotlarni o'z ichiga oladi.

6 -qadam: Raqamli -analogli konvertor (DAC)

Raqamli -analogli konvertor (DAC)
Raqamli -analogli konvertor (DAC)

Mikrokontroller - bu analog kuchlanishlarni to'g'ridan -to'g'ri tushunmaydigan raqamli qurilmalar. Men kirish sifatida o'zgaruvchan kuchlanishga muhtoj bo'lgan analog hisoblagichdan foydalanmoqdaman. Ammo mikrokontroller faqat HIGH (NodeMCU uchun 3.3V) va LOW (0V) ni chiqarishi mumkin. Endi siz nima uchun faqat PWMdan foydalanmasligingizni ayta olasiz. Bu ishlamaydi, chunki hisoblagich faqat o'rtacha qiymatni ko'rsatadi.

Men o'zgaruvchan kuchlanishni olish uchun MCP4725 DAC dan foydalanaman. Bu 12-bitli DAC, ya'ni sodda qilib aytganda, u 0 dan 3,3V gacha 4096 (= 2^12) qismga bo'linadi. Ruxsat 3.3/4096 = 0.8056mV bo'ladi. Bu shuni anglatadiki, 0 0V ga mos keladi, 1 0.8056mV ga mos keladi, 2 mos keladi 1.6112mV,….., 4095 3.3V ga to'g'ri keladi.

Internet tezligi "0 dan 7 mbit / s gacha" dan "0 dan 4095" gacha "xaritaga" qo'yiladi va keyin bu tezlik Internet tezligiga mutanosib bo'lgan kuchlanishni chiqarish uchun DACga beriladi.

7 -qadam: yig'ilish

Assambleya
Assambleya
Assambleya
Assambleya
Assambleya
Assambleya
Assambleya
Assambleya

Ulanishlar juda oddiy. Bu erda sxema biriktirilgan.

Men o'lchovni ishlab chiqdim va chop etdim. Yuqori qismi yuklash tezligi uchun, pastki qismi esa yuklash tezligi uchun. Men yangi tarozini eskisiga yopishtirdim.

Men multimetrdagi barcha eski narsalarni olib tashladim va undagi hamma narsani siqib qo'ydim. Bu mahkam o'rnashgan edi. Men yuklash va yuklash tezligini tanlash uchun ishlatiladigan almashtirish tugmachasini ulash uchun old tomondan teshik ochishim kerak edi.

8 -qadam: Kodlash vaqti

Kodlash vaqti
Kodlash vaqti
Kodlash vaqti
Kodlash vaqti
Kodlash vaqti
Kodlash vaqti

Kod shu yerga biriktirilgan. Yuklab oling va Arduino IDE -da oching. Adafruit -dan MCP4725 kutubxonasini o'rnating.

Yuklashdan oldin:

  1. WiFi SSID va parolingizni kiriting
  2. O'lchovda ko'rsatilgan yuklash va yuklashning maksimal tezligini kiriting.
  3. Yuklab olish va yuklash uchun so'rovlar qatoriga kerakli o'zgarishlarni kiriting.
  4. Javobni ketma -ket monitorda ko'rish uchun 165 -qatorga izoh bermang.

Yuklashni bosing!

9 -qadam: Xursand bo'ling

Quvvatni yoqing va Internetda sayr qilayotganingizda igna atrofida raqs tushayotganidan zavqlaning!

Oxirigacha yopishganingiz uchun tashakkur. Umid qilamanki, barchangiz ushbu loyihani yaxshi ko'rasiz va bugun yangi narsalarni bilib oldingiz. Agar siz o'zingiz uchun biror narsa qilsangiz, menga xabar bering. Yana shunday loyihalar uchun YouTube kanalimga obuna bo'ling.

Tavsiya: