Tìm kiếm trang web

Tôi đã biến một chiếc Raspberry Pi thành thiết bị theo dõi tốc độ, và bây giờ tôi biết chính xác khi nào nhà cung cấp dịch vụ Internet của tôi đang nói dối


Internet là một phần thiết yếu của cuộc sống hàng ngày, và bạn nên nhận được tốc độ mà bạn đã trả tiền. Đây là một cách nhanh chóng và dễ dàng để biến Raspberry Pi thành một thiết bị giám sát tốc độ internet để bạn có thể chắc chắn biết một cách chắc chắn nếu nhà cung cấp dịch vụ Internet của bạn đang lừa bạn.

Bạn không thể tin vào một bài kiểm tra tốc độ cá nhân

Khi bạn thực hiện một bài kiểm tra tốc độ riêng lẻ, bạn đang nhận được một bức tranh tổng quan về tốc độ internet của mình tại thời điểm đó.

Tuy nhiên, có rất nhiều biến số có thể ảnh hưởng đến tốc độ của bạn theo ngày hoặc thậm chí theo giờ. Nếu bạn định thử tìm ra một vấn đề, hoặc thậm chí chỉ để xác định xem bạn thực sự có nhận được tốc độ mà bạn đã trả tiền hay không, bạn cần nhiều hơn một điểm dữ liệu.

Ví dụ, nếu có một kết nối kém ở đâu đó giữa nhà bạn và nhà cung cấp dịch vụ Internet, bạn có thể có tốc độ bình thường vào một thời điểm nhưng tốc độ giảm mạnh vào thời điểm khác. Tôi đã gặp tình huống này vài lần khi một kết nối lỏng lẻo cho phép nước thấm vào khi trời mưa, dẫn đến tốc độ thấp không đều.

Tại sao lại sử dụng Raspberry Pi làm máy chủ kiểm tra tốc độ?

Tự chạy kiểm tra tốc độ nhiều lần trong ngày sẽ trở nên cực kỳ nhàm chán, đặc biệt nếu bạn cần hoặc muốn gọn gàng thu thập những kết quả đó để cố gắng tìm ra liệu có bất kỳ loại mẫu nào hay không.

Tự động hóa quá trình là lý tưởng, và thật may mắn, bạn chỉ cần một máy tính và một số phần mềm nguồn mở.

Một Raspberry Pi 4 hoặc 5 là lý tưởng cho công việc này. Cả hai đều có bộ chuyển đổi Ethernet 1 gigabit, đủ nhanh để đo chính xác kết nối internet trung bình tại nhà.

Ngoài ra, khi chúng không chịu tải nặng, chúng hầu như không tiêu thụ điện năng, điều này có nghĩa là bạn có thể để chúng cắm và nhàn rỗi mà không tốn nhiều chi phí. Ngay cả khi chịu tải, chúng chỉ tiêu thụ khoảng 15 watt.

Điều đó khiến chúng phù hợp với bất kỳ dịch vụ tự lưu trữ nào không yêu cầu nhiều tài nguyên và bạn muốn để chạy ngầm mọi lúc.

Tự động kiểm tra tốc độ internet trên mạng của bạn

Có một vài cách để thiết lập kiểm tra tốc độ tự động trên mạng của bạn. Cách đơn giản nhất là một công việc cron đơn giản ghi lại kết quả vào một tệp, mặc dù điều đó đòi hỏi phải xử lý thủ công sau khi dữ liệu được thu thập.

Thay vào đó, tôi đề xuất một dự án có tên Internet Pi, dự án này không chỉ chạy các bài kiểm tra và ghi lại dữ liệu, mà còn cung cấp một giao diện web gọn gàng mà bạn có thể truy cập từ bất kỳ thiết bị nào trong mạng của mình.

Bắt đầu bằng cách cài đặt phiên bản không có giao diện của Raspberry Pi OS (64-bit) lên thẻ microSD và cắm nó vào Raspberry Pi của bạn. Hãy chắc chắn bật SSH trong quá trình cài đặt; bạn sẽ cần nó sau này. Đồng thời, hãy đảm bảo rằng Raspberry Pi của bạn được kết nối bằng cáp Ethernet với router—điều đó sẽ cung cấp cho bạn thông tin đáng tin cậy nhất về tốc độ internet của bạn.

Kết nối với Pi của bạn qua SSH, sau đó chạy các lệnh sau để đảm bảo bạn đã có một số yêu cầu tiên quyết:

sudo apt install -y git
sudo apt install -y python3-pip
pip3 install ansible

Sau khi làm xong việc đó, bạn cần thực sự tải dự án Internet Pi từ GitHub về và vào thư mục của dự án. Để làm điều đó, hãy chạy:

git clone https://github.com/geerlingguy/internet-pi.git
cd internet-pi

Khi quá trình tải xuống kết thúc, nhập ansible-galaxy collection install -r requirements.yml để hoàn tất quá trình cài đặt.

Lệnh đó sẽ tạo ra hai tệp mà bạn cần sao chép trước khi chỉnh sửa, vì vậy hãy chạy chính xác hai lệnh sau. Nếu các tệp ví dụ gốc bị mất, bạn sẽ nhận được một lỗi.

cp example.inventory.ini inventory.ini 
cp example.config.yml config.yml 

Với các bản sao đã được tạo, bạn cần chỉnh sửa inventory.ini bằng một trình soạn thảo mà bạn chọn.

Trong file inventory.ini, bạn cần chú thích địa chỉ IP đầu tiên và bỏ chú thích địa chỉ IP thứ hai. Nó sẽ trông như thế này khi bạn hoàn tất:

[internet_pi]
# 10.0.100.52 ansible_user=pi

# Comment out the previous line and uncomment this to run inside Raspberry Pi.
127.0.0.1 ansible_connection=local ansible_user=pi

Nếu tên người dùng của bạn trên Pi khác với "pi," bạn cũng sẽ cần phải thay đổi nó.

Với cài đặt đã xong, chạy ansible-playbook main.yml để bắt đầu dịch vụ kiểm tra tốc độ.

Lần đầu tiên sẽ mất một thời gian để thu thập kết quả, nhưng một khi nó bắt đầu, bạn sẽ có thể theo dõi kết quả bằng cách nhập địa chỉ IP của Pi của bạn, tiếp theo là cổng 3030 vào trình duyệt của bạn. Vì vậy, của tôi là:

http://192.168.5.63:3030 

Các bài kiểm tra tốc độ của tôi đã phát hiện ra một vấn đề

Ban đầu tôi đã bắt đầu chạy các bài kiểm tra tốc độ vì máy tính để bàn của tôi đang gặp phải những biến động lớn về tốc độ tải xuống.

Cuối cùng, vấn đề đó hóa ra là do card mạng gắn trên bo mạch chủ, nhưng nó đã cho thấy một điều thú vị khác. Tốc độ internet của tôi thấp hơn rất nhiều so với bình thường.

Sau khi kiểm tra tất cả các kết nối, cập nhật phần mềm cho router và modem, và kiểm tra kỹ Raspberry Pi, rõ ràng vấn đề không phải do phía tôi.

Hóa ra, tôi đã bị đặt vào gói dịch vụ sai cách nào đó. Một tin nhắn nhanh đến nhà cung cấp dịch vụ Internet của tôi là tất cả những gì cần để giải quyết tình huống.


Tôi không khỏi tự hỏi mình sẽ còn bỏ qua việc nhận ra mình đã chọn kế hoạch sai trong bao lâu nếu tôi không nhận ra

Bài viết liên quan