สารบัญ:
วีดีโอ: มาตรวัดความเร็วอินเทอร์เน็ต: 4 ขั้นตอน (พร้อมรูปภาพ)
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
ภาพรวม
"มาตรวัดความเร็วอินเทอร์เน็ต" นี้จะช่วยให้คุณดูแลการใช้งานเครือข่ายของคุณแบบเรียลไทม์ ข้อมูลนี้มีอยู่ในเว็บอินเตอร์เฟสของเราเตอร์ในบ้านส่วนใหญ่ อย่างไรก็ตาม ในการเข้าถึงคุณต้องหยุดงานปัจจุบันเพื่อค้นหา
ฉันต้องการดูข้อมูลนี้โดยไม่ต้องขัดจังหวะงานปัจจุบันของฉัน เพื่อแสดงในรูปแบบที่เข้าใจได้เพียงแค่ชำเลืองมอง และเพื่อให้ได้ข้อมูลในลักษณะที่จะทำงานร่วมกับเราเตอร์ได้มากที่สุดเท่าที่เป็นไปได้ เพื่อให้ผู้อื่นสามารถทำได้ อาจใช้มันด้วย
มันทำสิ่งต่าง ๆ ได้อย่างไร
ฉันตัดสินใจใช้ SNMP (Simple Network Management Protocol) เป็นวิธีการรับข้อมูลจากเราเตอร์ SNMP ใช้กันอย่างแพร่หลายในอุปกรณ์เครือข่าย และหากอุปกรณ์ของคุณไม่รองรับโดยค่าเริ่มต้น DDWRT (เฟิร์มแวร์เราเตอร์โอเพนซอร์ส) ก็สามารถนำมาใช้เพื่อปรับใช้ SNMP ได้
เพื่อแสดงข้อมูลในลักษณะที่เข้าใจง่าย ผมใช้เกจวัดจากรถ มาตรวัดในรถยนต์ได้รับการออกแบบมาเพื่อให้ข้อมูลแก่คุณโดยไม่เสียสมาธิหรือสับสน ดังนั้นผู้ขับขี่จึงสามารถละสายตาจากท้องถนนได้ นอกจากนี้ ฉันยังมีบางอย่างนอนอยู่รอบๆ
เนื่องจากสิ่งนี้จะอยู่บนโต๊ะของฉัน ฉันจึงตัดสินใจว่าจะทำไฟแบ็คไลท์ RGB ด้วย เพราะอุปกรณ์คอมพิวเตอร์ควรเป็น RGB ทั้งหมด ถูกต้อง?
ความท้าทาย
เกจที่ฉันเคยใช้แอคชูเอเตอร์ของ Air-Core ฉันไม่เคยได้ยินเรื่องนี้มาก่อนโครงการนี้
จากวิกิพีเดีย: เกจแกนอากาศประกอบด้วยคอยล์ตั้งฉากอิสระสองตัวล้อมรอบห้องกลวง ก้านเข็มยื่นออกมาในห้องซึ่งมีแม่เหล็กถาวรติดอยู่กับเพลา เมื่อกระแสไหลผ่านขดลวดตั้งฉาก สนามแม่เหล็กของพวกมันจะซ้อนทับกัน และแม่เหล็กจะมีอิสระในการจัดแนวกับสนามแม่เหล็กที่รวมกัน
ฉันไม่พบไลบรารี่สำหรับ Arduino ที่รองรับ SNMP ในการกำหนดค่าตัวจัดการ SNMP มีสองรูปแบบหลัก คือ ตัวแทนและผู้จัดการ ตัวแทนตอบสนองต่อคำขอและผู้จัดการส่งคำขอไปยังตัวแทน ฉันสามารถใช้ฟังก์ชันผู้จัดการได้โดยการปรับเปลี่ยนไลบรารี Arduino_SNMP ที่สร้างโดย 0neblock ฉันไม่เคยตั้งโปรแกรมใน C ++ นอกจากทำให้ LED กะพริบบน Arduino ดังนั้นหากมีปัญหากับไลบรารี SNMP แจ้งให้เราทราบและฉันจะพยายามแก้ไขสำหรับตอนนี้ก็ใช้งานได้
นอกจากนี้ SNMP ไม่ได้ออกแบบมาสำหรับการดูแบบเรียลไทม์ วัตถุประสงค์การใช้งานมีไว้สำหรับการติดตามสถิติและการตรวจจับการหยุดทำงาน ด้วยเหตุนี้ ข้อมูลบนเราเตอร์จึงอัปเดตทุกๆ 5 วินาทีเท่านั้น (อุปกรณ์ของคุณอาจแตกต่างกันไป) นั่นเป็นสาเหตุของความล่าช้าระหว่างตัวเลขในการทดสอบความเร็วกับการเคลื่อนที่ของเข็ม
ขั้นตอนที่ 1: เครื่องมือและวัสดุ
เราต้องการสะพาน H เต็มรูปแบบ 3 แห่ง รุ่นที่ฉันใช้คือ Dual TB6612FNG และ Dual L298N
แอ๊คทูเอเตอร์ Air-Core แต่ละตัวต้องการ H-bridge 2 ตัว เนื่องจากคอยล์ต้องควบคุมอย่างอิสระ
เกจที่ฉันใช้อยู่ตัวหนึ่งมีคอยล์หนึ่งตัวที่ลัดวงจรลงกราวด์ด้วยไดโอดและตัวต้านทาน ฉันไม่แน่ใจเกี่ยวกับวิทยาศาสตร์ที่อยู่เบื้องหลัง แต่การทำเช่นนั้นทำให้สามารถหมุนได้ประมาณ 90 องศาโดยใช้ขดลวดเพียงอันเดียว
ฉันจะใช้ตัวควบคุม 12v ถึง 5v ซึ่งเป็นส่วนหนึ่งของบอร์ด L298N ที่ฉันเลือกเพื่อจ่ายไฟให้กับ ESP32
วงจร LED ทั้งหมดเป็นอุปกรณ์เสริม เช่นเดียวกับขั้วต่อ JST คุณสามารถบัดกรีสายไฟเข้ากับ ESP32 และไดรเวอร์มอเตอร์ได้โดยตรง
ขั้นตอนที่ 3: การออกแบบโค้ด
ตั้งค่ารหัส
เราจะต้องตั้งค่า Arduino เพื่อให้สามารถใช้บอร์ด ESP32 ได้ มีคำแนะนำที่ดีอยู่ที่นี่ซึ่งจะแนะนำคุณเกี่ยวกับการตั้งค่า ESP32 Arduino
คุณจะต้องมีไลบรารี Arduino_SNMP อยู่ที่นี่ด้วย
ในการกำหนดค่ารหัส คุณจะต้องรวบรวมข้อมูลบางอย่าง
- IP ของเราเตอร์
- ความเร็วในการอัพโหลดสูงสุด
- ความเร็วในการดาวน์โหลดสูงสุด
- ชื่อ WiFi และรหัสผ่านของคุณ
- OID ที่มีออคเต็ตนับสำหรับ "เข้า" และ "ออก" บนอินเทอร์เฟซ WAN ของเราเตอร์ของคุณ
มี OID มาตรฐาน (ตัวระบุวัตถุ) สำหรับข้อมูลที่เราต้องการ ตามมาตรฐาน MIB-2 ตัวเลขที่เราต้องการคือ:
ifInOctets.1.3.6.1.2.1.2.2.1.16. X
ifOutOctets.1.3.6.1.2.1.1.2.2.1.10. X
โดยที่ X คือหมายเลขที่กำหนดให้กับอินเทอร์เฟซที่คุณต้องการรับสถิติ สำหรับฉันหมายเลขนั้นคือ 3 วิธีหนึ่งในการยืนยันว่านี่คือ OID ที่ถูกต้องสำหรับคุณและระบุหมายเลขอินเทอร์เฟซที่คุณต้องการใช้ คือการใช้เครื่องมือเช่น MIB Browser
เพื่อให้ได้ความเร็วสูงสุด ฉันใช้ SpeedTest.net เมื่อคุณมีความเร็วเป็น Mbps แล้ว คุณจะต้องแปลงเป็น octets โดยใช้สูตรนี้
Octets ต่อวินาที = (ผลจากการทดสอบความเร็วเป็น Mbps * 1048576) / 8
ฟังก์ชั่นรหัส
รหัสจะส่งคำขอรับ SNMP ไปยังเราเตอร์ จากนั้นเราเตอร์จะตอบกลับด้วยตัวเลข ตัวเลขแสดงถึงจำนวนออกเตตที่ส่งหรือรับ ในเวลาเดียวกัน เราบันทึกจำนวนมิลลิวินาทีที่ผ่านไปตั้งแต่ Arduino เริ่มทำงาน
เมื่อกระบวนการนี้เกิดขึ้นอย่างน้อยสองครั้ง เราสามารถคำนวณเปอร์เซ็นต์การใช้งานตามค่าสูงสุดของเราโดยใช้รหัสนี้
เปอร์เซ็นต์ลง = ((ลอย)(byteDown - byteDownLast)/(float)(maxDown*((มิลลิวินาที() - timeLast)/1000))) * 100;
คณิตศาสตร์แบ่งออกดังนี้:
octetsDiff = snmp_result - Previous_ snmp_result
timeFrame = ปัจจุบันเวลา - timeLast
MaxPosableOverTime = (กรอบเวลา * Octets_per_second)/1000
เปอร์เซ็นต์ = (octetsDiff / MaxPosableOverTime) * 100
ตอนนี้เรามีเปอร์เซ็นต์การใช้งานเครือข่ายแล้ว เราก็แค่ต้องเขียนลงในมาตรวัด เราทำใน 2 ขั้นตอน ขั้นแรกเราใช้ฟังก์ชัน updateDownloadGauge ในฟังก์ชันนี้ เราใช้ "แผนที่" เพื่อแปลงเปอร์เซ็นต์เป็นตัวเลขที่แสดงตำแหน่งเรเดียนบนมาตรวัด จากนั้นเราให้ตัวเลขนั้นกับฟังก์ชัน setMeterPosition เพื่อเลื่อนเข็มไปยังตำแหน่งใหม่
ขั้นตอนที่ 4: การออกแบบเคส
เพื่อบรรจุทุกอย่าง ฉันออกแบบกล่องหุ้มใน fusion360 และ 3Dprinted การออกแบบที่ฉันทำค่อนข้างง่าย ฉันใช้กาวร้อนติดส่วนประกอบเข้ากับด้านใน และยึดมาตรวัดให้เข้าที่โดยหนีบระหว่างฝาครอบด้านหน้าและด้านหลัง คุณไม่จำเป็นต้องใช้การพิมพ์ 3 มิติเพื่อสร้างเคส ตัวอย่างเช่น คุณสามารถทำเคสที่ทำจากไม้ หรือคุณอาจนำทุกอย่างกลับเข้าที่ในกล่องเดิมที่มีเกจเข้ามา
ไฟล์ STL ของฉันมีอยู่ในสิ่งของต่าง ๆ หากคุณต้องการดูไฟล์เหล่านี้ แต่ไม่น่าจะใช้งานได้สำหรับคุณเว้นแต่คุณจะได้รับมาตรวัดแบบเดียวกับที่ฉันใช้
ไฟล์เคส:
ขอบคุณที่อ่าน. โปรดแจ้งให้เราทราบหากคุณมีคำถามใดๆ และเราจะพยายามตอบอย่างเต็มที่
แนะนำ:
DIY 37 Leds เกมรูเล็ต Arduino: 3 ขั้นตอน (พร้อมรูปภาพ)
DIY 37 Leds เกมรูเล็ต Arduino: รูเล็ตเป็นเกมคาสิโนที่ตั้งชื่อตามคำภาษาฝรั่งเศสหมายถึงวงล้อเล็ก
มาตรวัดความเร็วอินเทอร์เน็ต: 9 ขั้นตอน (พร้อมรูปภาพ)
มาตรวัดความเร็วอินเทอร์เน็ต: ด้วยการล็อกดาวน์อย่างสมบูรณ์ในอินเดีย ทุกอย่างรวมถึงบริการอีเมลถูกปิด ไม่มีโครงการ PCB ใหม่ ไม่มีส่วนประกอบใหม่ ไม่มีอะไรเลย! ดังนั้น เพื่อเอาชนะความเบื่อหน่ายและเพื่อให้ตัวเองมีงานยุ่ง ฉันจึงตัดสินใจทำบางอย่างจากส่วนที่ฉัน
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): 6 ขั้นตอน (พร้อมรูปภาพ)
Bolt - DIY Wireless Charging Night Clock (6 ขั้นตอน): การชาร์จแบบเหนี่ยวนำ (เรียกอีกอย่างว่าการชาร์จแบบไร้สายหรือการชาร์จแบบไร้สาย) เป็นการถ่ายโอนพลังงานแบบไร้สาย ใช้การเหนี่ยวนำแม่เหล็กไฟฟ้าเพื่อจ่ายกระแสไฟฟ้าให้กับอุปกรณ์พกพา แอปพลิเคชั่นที่พบบ่อยที่สุดคือ Qi Wireless Charging st
4 ขั้นตอน Digital Sequencer: 19 ขั้นตอน (พร้อมรูปภาพ)
4 ขั้นตอน Digital Sequencer: CPE 133, Cal Poly San Luis Obispo ผู้สร้างโปรเจ็กต์: Jayson Johnston และ Bjorn Nelson ในอุตสาหกรรมเพลงในปัจจุบัน ซึ่งเป็นหนึ่งใน “instruments” เป็นเครื่องสังเคราะห์เสียงดิจิตอล ดนตรีทุกประเภท ตั้งแต่ฮิปฮอป ป๊อป และอีฟ
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: 13 ขั้นตอน (พร้อมรูปภาพ)
ป้ายโฆษณาแบบพกพาราคาถูกเพียง 10 ขั้นตอน!!: ทำป้ายโฆษณาแบบพกพาราคาถูกด้วยตัวเอง ด้วยป้ายนี้ คุณสามารถแสดงข้อความหรือโลโก้ของคุณได้ทุกที่ทั่วทั้งเมือง คำแนะนำนี้เป็นการตอบสนองต่อ/ปรับปรุง/เปลี่ยนแปลงของ: https://www.instructables.com/id/Low-Cost-Illuminated-