Mục lục:

Bộ định tuyến khởi động lại Raspberry Pi: 3 bước
Bộ định tuyến khởi động lại Raspberry Pi: 3 bước

Video: Bộ định tuyến khởi động lại Raspberry Pi: 3 bước

Video: Bộ định tuyến khởi động lại Raspberry Pi: 3 bước
Video: Raspberry Pi Camera Module 3 - Giới thiệu và Hướng dẫn sử dụng 2024, Tháng bảy
Anonim
Bộ định tuyến khởi động lại Raspberry Pi
Bộ định tuyến khởi động lại Raspberry Pi
Bộ định tuyến khởi động lại Raspberry Pi
Bộ định tuyến khởi động lại Raspberry Pi

Bạn đã bao giờ nhận thấy rằng bạn không còn kết nối với internet?

Bạn có bực bội khi thức dậy vào buổi sáng và phải 'khởi động lại' bộ định tuyến để lấy lại Internet không?

Chà, điều này đã xảy ra với tôi thường xuyên hơn là tôi quan tâm đến việc nó xảy ra.

Đầu năm nay, tôi đã đi ra khỏi thị trấn trong 3 tuần và vào ngày đầu tiên bộ định tuyến của tôi đã ngắt kết nối với Internet! Điều này có nghĩa là tôi không có kết nối với những thứ trong nhà mà tôi dựa vào để 'kiểm tra' định kỳ - ví dụ: bộ điều nhiệt Nest, máy ảnh Arlo … Vì không có nhà nên tôi không thể khởi động lại bộ định tuyến của mình. Tôi thực sự không muốn làm phiền một người hàng xóm vượt qua hệ thống bảo mật của tôi, sau đó tìm bộ định tuyến của tôi và khởi động lại nó. Tôi cũng nghĩ đến việc gọi điện cho công ty điện lực và nhờ họ cắt điện đến nhà tôi trong khoảng 5 phút - S. O của tôi. đã không chấp thuận..:(Khi tôi quay lại, tôi bắt đầu tìm kiếm một giải pháp tốt nhưng không thể tìm thấy bất cứ thứ gì đủ toàn diện cho những gì tôi cần. Lúc đầu, tôi chỉ mua một dải nguồn hẹn giờ kỹ thuật số và đặt nó để tắt bộ định tuyến lúc 2 giờ sáng trong 5 phút. Thật không may, một vài buổi sáng tôi không có Internet - xem xét nhật ký bộ định tuyến cho những ngày đó cho thấy rằng internet 'ngắt kết nối' vào khoảng 4 giờ sáng và bộ định tuyến của tôi sẽ không kết nối trừ khi tôi khởi động lại nó.

Có thêm Raspberry Pi nằm xung quanh và một số kỹ năng về trăn, tôi quyết định xem xét cách nó có thể giúp giải quyết tình huống khó xử của tôi và đưa ra giải pháp này.

Tôi đã thử nghiệm và cài đặt nó và cho đến nay rất tốt!

Về cơ bản, Raspberry Pi kiểm tra kết nối internet cứ sau 2 phút thông qua 'ping' đến 2 trang web khác nhau. Miễn là ít nhất một trong số họ phản hồi, tất cả chúng ta đều tốt. Nếu không có 'ping' nào trả về, Pi sẽ tắt nguồn cho bộ chia USB bên trong, điều này sẽ khiến Iot Power Relay tắt bộ định tuyến. Sau 2 phút, Pi cấp nguồn cho bộ chia USB bên trong khiến Iot Power Relay bật bộ định tuyến. Sau đó, nó sẽ đợi 4 phút trước khi tiếp tục kiểm tra kết nối internet trong 2 phút.

Tôi cũng phải xem xét rằng có thể có sự cố mất điện trong khu vực của tôi và internet sẽ ngừng hoạt động trong một thời gian - hiếm khi xảy ra, nhưng nó xảy ra (ít nhất là trong khu vực của tôi…) và tôi không muốn bộ định tuyến khởi động lại cứ 6 lần. đến 8 phút, vì vậy tôi đặt cờ sẽ hoãn lần khởi động lại tiếp theo trong 1 giờ trong trường hợp này.

Quân nhu

Danh sách thiết bị:

  1. Iot Power Relay cho Raspberry Pi (hình trên)
  2. USB 2.0 A Screw Terminal Block Connector (nếu bạn định tạo USB của riêng mình -> Cáp dải nguồn, cũng được minh họa ở trên)
  3. Bạn có thể sử dụng cáp có 2 dây dẫn trở lên hoặc cáp USB cũ / thừa. Tôi đã sử dụng cáp cắm phono âm thanh nổi cũ và cắt bỏ các phích cắm.
  4. Raspberry Pi Model 3+ (bạn có thể sử dụng Model 4 và điều khiển các cổng riêng lẻ - Tôi đang sử dụng Model 3)

Tôi có thể kiếm được một khoản hoa hồng nhỏ cho sự chứng thực, đề xuất, lời chứng thực và / hoặc liên kết đến bất kỳ sản phẩm nào được liệt kê ở trên.

Bước 1: Xây dựng và kết nối phần cứng

Xây dựng và kết nối phần cứng
Xây dựng và kết nối phần cứng

Tôi đã chế tạo cáp của mình để kết nối Pi với rơ le nguồn.

Tôi đã sử dụng khối đầu cuối vít USB với 2 dây kết nối với khe cắm + và gnd. Bạn sẽ có thể nhìn thấy chúng trên trình kết nối. Xem hình ảnh với các mũi tên màu đỏ (+) và trắng (-) đến các khe.

Tôi kết nối đầu kia vào rơ le nguồn. Phần màu xanh bên hông của rơ le điện bạn chỉ việc rút dây ra rồi luồn dây vào các khe và vặn chặt sau đó vặn chặt. Xem hình với các mũi tên màu đỏ (+) và trắng (-) cho các dây.

Lưu ý: nếu bạn sử dụng cáp USB hiện có, bạn thường sẽ có 4 dây ở đầu còn lại - dây màu đỏ là (+ 5v) và dây màu đen là (-) nối đất. Bạn sẽ chỉ sử dụng 2 cái đó cho Power Relay.

Để thử nghiệm, tôi đã kết nối đèn bàn với một trong các ổ cắm được đánh dấu 'thường tắt'. Điều này được kiểm soát bởi trạng thái nguồn USB. Tôi đã cắm Raspberry Pi vào ổ cắm 'luôn bật' rồi cắm và bật nó lên cho bước tiếp theo.

Bước 2: Cài đặt phần mềm

Thiết lập Pi:

Có một số trang web sẽ hướng dẫn bạn thiết lập RPi lần đầu tiên nếu cần.

Life Hacker

Raspberry Pi Org

Tôi thiết lập 'headless' và sử dụng VNC để kết nối với nó. Các liên kết ở trên cho thấy làm thế nào để làm điều này.

Phần mềm thiết lập:

  1. Cài đặt uhubctl (xem https://github.com/mvp/uhubctl) sẽ được sử dụng để tắt và bật hub usb.
  2. Tải xuống và cài đặt phần mềm tôi đã viết từ trang GitHub của mình: Phần mềm khởi động lại bộ định tuyến RPi.
  3. Thiết lập và đăng ký internet-monitor.service nếu bạn muốn chạy dịch vụ này dưới dạng dịch vụ khi Raspberry Pi khởi động.

Bước 3: Kiểm tra và chi tiết hoạt động

Chương trình python chính, rpi-internet-monitor.py có thể được chạy với 1 hoặc 2 tham số cho mục đích gỡ lỗi và thử nghiệm.

Mở phiên đầu cuối trong thư mục bạn đặt mã và thực hiện lệnh sau:

: ~ / Documents / RebootRouter $ python3 rpi-internet-monitor.py -debug -test

Lưu ý - thao tác này sẽ in ra thông tin gỡ lỗi và tắt và bật đèn vì nó sẽ kiểm tra không được kết nối với internet. Bạn chỉ có thể sử dụng -debug và xem các tin nhắn. Bạn không thể chỉ sử dụng -test, nó phải là tham số thứ hai sau -debug.

Bạn có thể thay đổi CONSTANTS trong phần trên cùng của chương trình thành bất kỳ giá trị nào bạn muốn. Tập đầu tiên chạy với tập tham số -test, tập thứ hai là những gì sẽ được sử dụng trong tất cả các trường hợp khác.

Tôi đã thiết lập một dịch vụ để chạy dịch vụ này tại thời điểm khởi động để nó luôn chạy trên Raspberry Pi của tôi.

Mở internet-monitor.service và chỉnh sửa các dòng ExecStart và WorkingDirectory với các đường dẫn đầy đủ của bạn đến mã python. Lưu các tập tin.

Sao chép tệp vào thư mục systemd / system:

: ~ / Documents / RebootRouter $ sudo cp internet-monitor.service /etc/systemd/system/internet-monitor.service

Kiểm tra để đảm bảo rằng dịch vụ bắt đầu mà không có bất kỳ lỗi nào:

: ~ / Documents / RebootRouter $ sudo systemctl start internet-monitor.service

Cho phép dịch vụ bắt đầu lúc khởi động:

: ~ / Documents / RebootRouter $ sudo systemctl cho phép internet-monitor.service

Nếu mọi việc suôn sẻ, bây giờ bạn có thể kết hợp tất cả lại với nhau và tắt Iot Power Relay, ngắt kết nối đèn, kết nối bộ định tuyến và bật lại Power Relay. Bộ định tuyến của bạn sẽ khởi động lại và hiện đang giám sát internet.

Tôi đã thực hiện thêm một bài kiểm tra sau khi đã kết nối mọi thứ - tôi ngắt kết nối cáp internet của mình ở bức tường và chờ đợi; đủ chắc chắn bộ định tuyến đã tắt và sau đó bật lại. Nó vẫn hoạt động và sau 10 phút hoặc lâu hơn, tôi kết nối lại cáp ở tường và có internet - nó vẫn chạy tốt cho đến nay….:)

Đề xuất: