Mục lục:
- Bước 1: Kế hoạch
- Bước 2: Những thứ bạn sẽ cần
- Bước 3: Tính toán dòng điện lệch quy mô đầy đủ
- Bước 4: Tạo yêu cầu SNMP GET
- Bước 5: Hiểu phản hồi của GET
- Bước 6: Bộ chuyển đổi Digital sang Analog (DAC)
- Bước 7: Hội đồng
- Bước 8: Thời gian để mã hóa
- Bước 9: Tận hưởng
Video: Đồng hồ tốc độ Internet: 9 bước (có hình ảnh)
2024 Tác giả: John Day | [email protected]. Sửa đổi lần cuối: 2024-01-30 13:31
Với việc khóa hoàn toàn đang diễn ra ở Ấn Độ, mọi thứ bao gồm cả dịch vụ thư đã bị đóng cửa. Không có dự án PCB mới, không có thành phần mới, không có gì! Vì vậy, để vượt qua sự nhàm chán và để giữ cho bản thân bận rộn, tôi quyết định làm một cái gì đó từ những bộ phận mà tôi đã có ở nhà. Tôi bắt đầu tìm kiếm từ đống đồ điện tử và tìm thấy một chiếc đồng hồ vạn năng tương tự cũ, hỏng. Tôi đã tận dụng 'chuyển động đồng hồ' từ nó và quyết định hiển thị một số loại thông tin nhưng không biết chính xác là gì. Đầu tiên, tôi nghĩ đến việc hiển thị số liệu thống kê COVID-19 nhưng đã có nhiều dự án tốt hơn trên internet. Ngoài ra, dữ liệu được cập nhật sau một vài giờ và một con trỏ vẫn còn của đồng hồ sẽ rất nhàm chán. Tôi muốn dữ liệu thay đổi nhanh chóng, thay đổi từng giây. Tôi đã yêu cầu đề xuất trên Instagram và một trong những người theo dõi của tôi đã trả lời bằng Đồng hồ tốc độ Internet. Nghe có vẻ thú vị và quyết định làm nó!
Trong phần Có thể hướng dẫn này, tôi sẽ chỉ cho bạn cách tôi lấy dữ liệu từ bộ định tuyến WiFi của mình bằng SNMP và hiển thị tốc độ tải lên và tải xuống trên đồng hồ.
Bắt đầu nào
Bước 1: Kế hoạch
Như mọi khi trước khi bắt đầu với dự án, tôi đã nghiên cứu một chút trên internet. Tôi tìm thấy một vài dự án liên quan đến chủ đề này. Chúng có hai loại. Một trong đó cho thấy tốc độ internet bằng cách đo 'cường độ' của tín hiệu WiFi. Tôi không phải là một anh chàng chuyên gia về mạng nhưng điều này nghe có vẻ không đúng. Những người khác đo độ trễ và phân loại tốc độ là chậm, trung bình hoặc nhanh. Độ trễ là khoảng thời gian trễ giữa việc gửi yêu cầu đến khi nhận được phản hồi và do đó nó không thể là đại diện thực tế của tốc độ internet. Tuy nhiên, chúng tôi có thể gọi nó là tốc độ phản hồi mạng! Sau đó, có những dự án hợp pháp đo thời gian cần thiết để tải xuống một số dữ liệu và tính toán tốc độ internet dựa trên đó.
Nhưng chính trong dự án này (của Alistair), tôi đã học về Giao thức quản lý mạng đơn giản hoặc SNMP. Sử dụng SNMP, chúng tôi có thể giao tiếp với bộ định tuyến WiFi và nhận dữ liệu cần thiết trực tiếp từ nó. Dễ dàng, phải không? Trên thực tế, không! Bởi vì các mô hình sử dụng bộ định tuyến WiFi khác nhau có các thiết lập khác nhau và cần nhiều lần thử và sai trước khi bạn nhận được kết quả cuối cùng. Đừng sợ hãi. Tôi sẽ giải thích ngắn gọn những gì tôi học được về SNMP và những khó khăn tôi gặp phải trong các bước sắp tới.
Vì vậy, kế hoạch là sử dụng NodeMCU để kết nối với Router WiFi. Đây là các bước để có được kết quả cuối cùng:
- Gửi yêu cầu đến bộ định tuyến 'yêu cầu' dữ liệu cần thiết
- Nhận phản hồi từ bộ định tuyến
- Phân tích phản hồi và phân tích cú pháp dữ liệu cần thiết từ nó
- Chuyển đổi dữ liệu 'thô' thành thông tin dễ hiểu
- Tạo ra điện áp tỷ lệ thuận với tốc độ internet cho đồng hồ
- Lặp lại
Tôi sẽ sử dụng DAC hoặc Digital to Analog Converter để điều khiển đồng hồ.
Bước 2: Những thứ bạn sẽ cần
1x NodeMCU
1x Đồng hồ đo Analog chuyển động
1x MPU4725 DAC
1x Công tắc SPDT
Chiết áp 1x 10k
1x điện trở
Bước 3: Tính toán dòng điện lệch quy mô đầy đủ
Lưu ý: Chuyển đến Bước 7 cho bản dựng thực tế!
Bỏ qua bước này nếu bạn đã biết dòng điện lệch quy mô đầy đủ cho đồng hồ của mình. Máy đo của tôi không có đề cập đến nó nên tôi phải tính toán. Nhưng trước tiên, chúng ta hãy nhanh chóng xem một phong trào như vậy hoạt động như thế nào. Nó bao gồm một cuộn dây được treo trong từ trường. Khi dòng điện chạy qua cuộn dây, theo định luật Faraday, nó chịu một lực. Cuộn dây được phép quay tự do trong từ trường và con trỏ gắn vào cuộn dây cũng vậy. Cường độ dòng điện làm cho con trỏ di chuyển ở 'cuối thang đo' được gọi là dòng điện lệch toàn thang đo. Đây cũng là dòng điện tối đa phải được phép chạy qua cuộn dây.
Còn nhiều điều nữa đang diễn ra nhưng như vậy là đủ cho những gì chúng tôi đang làm. Bây giờ chúng tôi có phong trào. Nó có thể được sử dụng như một vôn kế bằng cách thêm một điện trở cao mắc nối tiếp với nó hoặc như một Ampe kế bằng cách thêm một điện trở nhỏ song song với nó. Chúng tôi sẽ sử dụng nó như một vôn kế để hiển thị điện áp tỷ lệ với tốc độ internet. Vì vậy, chúng ta cần tính toán điện trở sẽ được thêm vào trong chuỗi. Để làm được điều đó, trước tiên chúng ta cần tính toán dòng điện lệch quy mô đầy đủ.
- Chọn giá trị điện trở cao (như> 100k)
- Kết nối nó nối tiếp với bộ chuyển động và đặt một điện áp thay đổi trên nó bằng cách sử dụng nồi.
- Tiếp tục tăng điện áp từ từ cho đến khi con trỏ chạm đến cuối thang đo.
- Dùng đồng hồ vạn năng đo cường độ dòng điện chạy qua. Đây là dòng điện lệch toàn quy mô. (I = 150uA trong trường hợp của tôi)
Chúng tôi đang sử dụng một DAC có dải điện áp đầu ra từ 0 đến VCC (3.3V do NodeMCU). Điều này có nghĩa là khi 3.3V được áp dụng cho đồng hồ, nó sẽ chỉ ở cuối thang đo. Điều này có thể xảy ra khi dòng điện lệch toàn quy mô chạy qua mạch khi áp dụng 3,3V. Sử dụng định luật Ohm, 3,3 / (dòng điện lệch toàn thang) cho giá trị điện trở mắc nối tiếp.
Bước 4: Tạo yêu cầu SNMP GET
Giao thức Quản lý Mạng Đơn giản (SNMP) là một giao thức Tiêu chuẩn Internet để thu thập và tổ chức thông tin về các thiết bị được quản lý trên mạng IP và để sửa đổi thông tin đó nhằm thay đổi hành vi của thiết bị. Các thiết bị thường hỗ trợ SNMP bao gồm modem cáp, bộ định tuyến, bộ chuyển mạch, máy chủ, máy trạm, máy in, v.v. Đối với bản dựng này, chúng tôi sẽ giao tiếp với Bộ định tuyến WiFi của mình bằng SNMP và nhận dữ liệu cần thiết.
Nhưng trước tiên, chúng ta cần gửi một yêu cầu được gọi là 'GET Request' tới bộ định tuyến đề cập đến chi tiết dữ liệu mà chúng ta muốn. Định dạng GET Request được hiển thị trong hình. Yêu cầu bao gồm nhiều phần khác nhau. Tôi đã đánh dấu các byte mà bạn có thể muốn thay đổi.
Xin lưu ý rằng mọi thứ đều ở dạng Hệ thập lục phân.
Thông báo SNMP -Trong trường hợp của tôi, độ dài của toàn bộ tin nhắn là 40 (màu xám), khi chuyển đổi sang hệ thập lục phân là 0x28.
Chuỗi cộng đồng SNMP - Giá trị 'PUBLIC' được viết bằng hệ thập lục phân là '70 75 62 6C 69 63 'có độ dài là 6 (màu vàng).
Loại SNMP PDU - Trong trường hợp của tôi, độ dài của tin nhắn là 27 (màu xanh lam), tức là 0x1B.
Loại danh sách Varbind - Trong trường hợp của tôi, độ dài của thông báo là 16 (màu xanh lá cây), tức là 0x10.
Loại Varbind - Trong trường hợp của tôi, độ dài của tin nhắn là 14 (màu hồng), tức là 0x0E.
Định danh Đối tượng -
Như đã đề cập trước đó, các thiết bị mạng hỗ trợ SNMP (ví dụ: bộ định tuyến, bộ chuyển mạch, v.v.) duy trì cơ sở dữ liệu về trạng thái hệ thống, tính khả dụng và thông tin hiệu suất dưới dạng đối tượng, được xác định bởi OID. Bạn cần xác định OID của bộ định tuyến của mình cho các gói Tải lên và Tải xuống. Nó có thể được thực hiện bằng cách sử dụng Trình duyệt MIB miễn phí như trình duyệt này.
Nhập Địa chỉ là 192.168.1.1 và OID là.1.3.6.1.2.1.2.2.1.10.x (ifInOctets) hoặc.1.3.6.1.2.1.2.2.1.16.x. (ifOutOctets). Chọn Nhận hoạt động và nhấp vào Bắt đầu. Bạn sẽ thấy OID cùng với giá trị và loại của nó.
Trong trường hợp của tôi, độ dài của tin nhắn là 10 (màu đỏ), tức là 0x0A. Thay thế giá trị bằng OID. Trong trường hợp này, '2B 06 01 02 01 02 02 01 10 10'
Đó là nó! Thông báo yêu cầu của bạn đã sẵn sàng. Giữ nguyên các byte còn lại.
BẬT SNMP trên bộ định tuyến của bạn:
- Đăng nhập vào trang bộ định tuyến WiFi của bạn thông qua cổng mặc định. Nhập 192.168.1.1 vào trình duyệt của bạn và nhấn enter. Theo mặc định, tên người dùng và mật khẩu phải là 'admin'.
- Tôi đang sử dụng bộ định tuyến TP-LINK (TD-W8961N). Đối với bộ định tuyến này, bạn phải đi tới Quản lý truy cập> SNMP và chọn 'Đã kích hoạt'.
- GET Cộng đồng: công khai
- Máy chủ bẫy: 0.0.0.0
Bước 5: Hiểu phản hồi của GET
Bạn có thể bỏ qua bước này, nhưng thật tốt nếu bạn cần thực hiện một số khắc phục sự cố.
Sau khi tải mã lên và chạy mã, bạn có thể xem phản hồi thông qua trình theo dõi Nối tiếp. Nó sẽ giống như thể hiện trong hình. Có một vài byte bạn cần tìm mà tôi đã đánh dấu.
Bắt đầu từ 0, Byte thứ 15 cho biết Loại PDU - 0xA2 có nghĩa là nó là một GetResponse.
Byte thứ 48 cho biết kiểu dữ liệu - 0x41 có nghĩa là kiểu dữ liệu là Bộ đếm.
Byte thứ 49 cho biết độ dài của dữ liệu - 0x04 có nghĩa là dữ liệu dài 4 byte.
Byte 50, 51, 52, 53 chứa dữ liệu.
Bước 6: Bộ chuyển đổi Digital sang Analog (DAC)
Bộ vi điều khiển là thiết bị kỹ thuật số không hiểu trực tiếp điện áp Analog. Tôi đang sử dụng đồng hồ đo tương tự cần một điện áp thay đổi làm đầu vào. Nhưng vi điều khiển chỉ có thể xuất ra CAO (3.3V trong trường hợp NodeMCU) và THẤP (0V). Bây giờ bạn có thể nói tại sao không chỉ sử dụng PWM. Nó sẽ không hoạt động vì đồng hồ sẽ chỉ hiển thị giá trị trung bình.
Tôi đang sử dụng MCP4725 DAC để có được điện áp thay đổi. Nó là một DAC 12-bit, tức là nói một cách đơn giản, nó sẽ chia từ 0 đến 3,3V thành 4096 (= 2 ^ 12) phần. Độ phân giải sẽ là 3,3 / 4096 = 0,8056mV. Điều này có nghĩa là 0 tương ứng với 0V, 1 tương ứng với 0,8056mV, 2 tương ứng với 1,6112mV,….., 4095 tương ứng với 3,3V.
Tốc độ internet sẽ được 'ánh xạ' từ '0 đến 7 mbps' thành '0 đến 4095' và sau đó giá trị này sẽ được cấp cho DAC để xuất ra một điện áp tỷ lệ với tốc độ internet.
Bước 7: Hội đồng
Kết nối rất đơn giản. Sơ đồ đã được đính kèm ở đây.
Tôi thiết kế và in quy mô. Cái trên là tốc độ tải xuống và cái dưới là tốc độ tải lên. Tôi dán cái cân mới lên cái cũ.
Tôi loại bỏ tất cả những thứ cũ khỏi đồng hồ vạn năng và tôi nhồi nhét mọi thứ trong đó. Đó là một sự phù hợp chặt chẽ. Tôi đã phải khoan một lỗ ở phía trước để gắn công tắc bật tắt được sử dụng để chọn giữa tốc độ tải lên và tải xuống.
Bước 8: Thời gian để mã hóa
Mã đã được đính kèm ở đây. Tải xuống và mở nó trong Arduino IDE. Cài đặt thư viện MCP4725 từ Adafruit.
Trước khi bạn tải lên:
- Nhập SSID và mật khẩu WiFi của bạn
- Nhập tốc độ tải lên và tải xuống tối đa được đề cập trên thang đo.
- Thực hiện các thay đổi cần thiết trong mảng yêu cầu để tải xuống cũng như tải lên các gói.
- Bỏ ghi chú dòng 165 để xem phản hồi trên màn hình nối tiếp.
Nhấn tải lên!
Bước 9: Tận hưởng
Bật nó lên và tận hưởng xem kim nhảy xung quanh khi bạn lướt internet!
Cảm ơn bạn đã gắn bó đến cuối cùng. Hy vọng tất cả các bạn yêu thích dự án này và học được điều gì đó mới ngày hôm nay. Hãy cho tôi biết nếu bạn làm một cái cho chính mình. Đăng ký kênh YouTube của tôi để biết thêm các dự án như vậy.
Đề xuất:
Động cơ bước Điều khiển động cơ bước Động cơ bước - Động cơ bước như một bộ mã hóa quay: 11 bước (có hình ảnh)
Động cơ bước Điều khiển động cơ bước Động cơ bước | Động cơ bước như một bộ mã hóa quay: Có một vài động cơ bước nằm xung quanh và muốn làm điều gì đó? Trong Có thể hướng dẫn này, hãy sử dụng động cơ bước làm bộ mã hóa quay để điều khiển vị trí của động cơ bước khác bằng vi điều khiển Arduino. Vì vậy, không cần phải quảng cáo thêm, chúng ta hãy
Sử dụng Động cơ truyền động DC của Máy chạy bộ và Bộ điều khiển tốc độ PWM cho các công cụ cấp nguồn: 13 bước (có Hình ảnh)
Sử dụng Động cơ truyền động DC của máy chạy bộ và Bộ điều khiển tốc độ PWM cho các công cụ cấp nguồn: Các công cụ điện như máy và máy tiện cắt kim loại, máy ép khoan, máy cưa vòng, máy chà nhám, v.v. có thể yêu cầu động cơ 5HP đến 2HP với khả năng tinh chỉnh tốc độ trong khi duy trì mô-men xoắn Thật trùng hợp hầu hết các Máy chạy bộ sử dụng động cơ 80-260 VDC với
Kiểm soát tự động RPM của động cơ sử dụng hệ thống phản hồi từ máy đo tốc độ dựa trên IR: 5 bước (có hình ảnh)
Kiểm soát tự động RPM của động cơ sử dụng hệ thống phản hồi từ máy đo tốc độ dựa trên IR: Luôn luôn có nhu cầu tự động hóa một quy trình, có thể là một quy trình đơn giản / quái dị. Tôi có ý tưởng thực hiện dự án này từ một thử thách đơn giản mà tôi phải đối mặt khi tìm kiếm các phương pháp tưới / tưới cho mảnh đất nhỏ của chúng ta. Vấn đề là không có đường dây cung cấp hiện tại
Arduino Nano và Visuino: Chuyển đổi gia tốc thành góc từ cảm biến gia tốc và con quay hồi chuyển MPU6050 I2C: 8 bước (có hình ảnh)
Arduino Nano và Visuino: Chuyển đổi gia tốc thành góc từ cảm biến gia tốc kế và con quay hồi chuyển MPU6050 I2C: Một thời gian trước, tôi đã đăng một hướng dẫn về cách bạn có thể kết nối Cảm biến gia tốc, con quay hồi chuyển và la bàn MPU9250 với Arduino Nano và lập trình nó với Visuino để gửi dữ liệu gói và hiển thị nó trên Phạm vi và Dụng cụ trực quan. Gia tốc kế gửi X, Y,
Truyền động tốc độ động cơ DC: 4 bước (có hình ảnh)
Bộ điều khiển tốc độ động cơ DC: Tài liệu hướng dẫn này sẽ trình bày chi tiết về thiết kế, mô phỏng, xây dựng và thử nghiệm chế độ chuyển đổi từ một chiều sang bộ chuyển đổi một chiều và bộ điều khiển hệ thống điều khiển cho động cơ một chiều. Bộ chuyển đổi này sau đó sẽ được sử dụng để điều khiển kỹ thuật số cho động cơ một chiều shunt với l