Bật và tắt cổng 3G (hoặc bất kỳ USB)?


13

Tôi có một dự án sẽ yêu cầu sử dụng Raspberry Pi trong môi trường năng lượng thấp, nhưng nó cũng sẽ yêu cầu kết nối 3G. Tôi chưa thực hiện bất kỳ thử nghiệm nào, nhưng tôi theo giả định (và sửa tôi nếu tôi sai) rằng modem 3G cắm vào Raspberry Pi và kết nối với mạng sẽ sử dụng năng lượng và cung cấp cho môi trường, bất kỳ nguồn điện bổ sung nào sử dụng là một yêu cầu không. Vì vậy, làm thế nào, theo lập trình, tôi có thể bật và tắt modem 3G hoặc đầu nối USB trên Raspberry Pi không?


1
AFAIK Bạn không thể tắt cổng USB, do đó, nó sẽ dựa vào dongle 3G có chế độ tiết kiệm năng lượng - nó có thể sử dụng ít năng lượng hơn khi không kết nối ... nhưng có lẽ nó sử dụng một lượng điện năng hợp lý để kết nối / ngắt kết nối.
Alex Chamberlain

1
điều này là, đây sẽ là một thiết bị hoàn toàn tự động và từ xa ... nó nên được bật và tắt 3G khi cần thiết ... sẽ không có ai ở đó để rút hoặc cắm nó vào ... do đó là phần lập trình ...
TiernanO

3
Như Alex đã nói, không có cơ chế kiểm soát nguồn cho các cổng USB của Pi từ phần mềm - chúng được kết nối trực tiếp với đường ray cung cấp chỉ với một bộ giới hạn dòng thụ động. Vì vậy, trừ khi bạn có thể yêu cầu thiết bị ngoại vi tắt / ngủ, bạn sẽ cần một thiết bị chuyển đổi nguồn bên ngoài, mà bạn tự điều khiển qua USB hoặc thông qua chân GPIO.
Chris Stratton

Câu trả lời:


8

Đáng buồn thay, không có cách nào để tắt nguồn hoàn toàn với phần mềm một mình. Bạn sẽ cần thêm một mạch chuyển đổi được kết nối qua các chân GPIO để kích hoạt "ngắt kết nối phần cứng" bằng cách cắt nguồn cho phần cứng của bạn.

Biên tập:

Để chuyển đổi với GPIO, nó chỉ là một mạch bán dẫn đơn giản.

nhập mô tả hình ảnh ở đây

Bđược gắn vào pin GPIO của bạn. Tùy thuộc vào việc nó CAO hay THẤP, bóng bán dẫn bật hay tắt. CEbạn đặt đường dây nguồn cho Thiết bị USB (R L ).

Để biết thêm thông tin chi tiết, hãy xem trang web này: http://www.kpsec.freeuk.com/trancirc.htmlm#switching và đặc biệt tại http://www.kpsec.freeuk.com/trancirc.htmlm#ic


Nghĩ rằng bạn có thể đi vào chi tiết hơn về cách làm điều này?
Jivings

Chắc chắn rồi. Tôi sẽ chỉnh sửa
Mose

vâng, điều đó thật tốt - bạn có thể đặt bóng bán dẫn đó vào một cáp mở rộng USB ngắn. Bạn sẽ cần phải cắt nó ra và chặn các đường dây điện được nói ở đây. Sau đó, bạn có thể cắm 3G vào phần mở rộng và điều khiển nguồn. Tôi thích nó +1
Piotr Kula

Điều đó có vẻ đầy hứa hẹn! Cảm ơn! sẽ phải có một cuộc trò chuyện với người bạn Kỹ thuật điện của tôi để giúp đỡ điều đó, nhưng những ngón tay đã vượt qua! Cảm ơn một lần nữa!
TiernanO

5

Tôi không khuyên bạn nên BẬT / TẮT thiết bị USB chỉ bằng cách sử dụng công tắc cơ sở bóng bán dẫn vì giao thức BẬT / TẮT nguồn thích hợp nên được sử dụng theo quy định của thông số kỹ thuật USB.

Tôi thà sử dụng một bộ chia USB có thể chuyển đổi cho phép bạn BẬT / TẮT bất kỳ cổng hạ lưu nào thông qua phần mềm bằng cách sử dụng một lệnh đơn giản.

Một cái gì đó như trung tâm chuyển đổi USB này sẽ hoạt động cho những gì bạn muốn.


1
Trông Sooo thật ngầu! Tôi phải thử điều đó ... Tôi nghĩ rằng điều này cũng có thể hữu ích cho việc sạc điện thoại thông minh ... Hmmm .... Cảm ơn!
TiernanO

2
Tuyên bố miễn trừ trách nhiệm: Tôi hiện đang làm việc tại Yepkit. Vì vậy, bạn có thể xem xét tôi thiên vị về chủ đề này.
electrfunch

1
Vì một thiết bị có thể được cắm bởi người dùng bất cứ lúc nào, thông số kỹ thuật USB nói rằng điều này phải được xử lý bởi trình điều khiển và thiết bị. Vì vậy, tôi không thấy điểm chi 29 € khi bạn có thể xây dựng các thiết bị điện tử đơn giản để kiếm xu với cùng kết quả và cũng được hỗ trợ bởi thông số kỹ thuật.
Mose

3

Bạn có thể sử dụng công cụ của tôi uhubctl , nó hỗ trợ các mô hình Raspberry Pi B +, 2B, 3B, 3B + và 4B - những mô hình này có khả năng phần cứng để tắt và bật nguồn USB. Nhưng hãy nhớ rằng phần cứng này chỉ hỗ trợ tắt hoặc bật tất cả các cổng USB cùng một lúc, không độc lập. Tuy nhiên, đường ray nguồn USB và Wifi + Ethernet có thể được điều khiển độc lập (ngoại trừ 4B, không sử dụng giao diện USB để kết nối mạng).

Sử dụng nó như thế này:

Tắt nguồn cho tất cả các cổng USB (phải sử dụng cổng 2):

sudo uhubctl -p 2 -a 0

Bật nguồn cho tất cả các cổng USB (phải sử dụng cổng 2):

sudo uhubctl -p 2 -a 1

Tắt nguồn sang Wifi + Ethernet (phải sử dụng cổng 1):

sudo uhubctl -p 1 -a 0

Lưu ý rằng Raspberry Pi 4 rất khác so với các mẫu trước đây vì nó có chip USB3. Bạn sẽ sử dụng lệnh như thế này để tắt nguồn (phải sử dụng cổng 4):

sudo uhubctl -l 2 -p 4 -a 0

Nếu Raspberry Pi của bạn không hỗ trợ chuyển đổi nguồn USB, bạn có thể kết nối bộ chia USB ngoài (xem danh sách các kiểu tương thích ) và điều khiển nguồn trên bộ chia ngoài đó bằng uhubctl.


2

Xin chào Tôi đồng ý với @electrfunch vì tôi đang làm việc trong Dự án điều khiển các thiết bị trên các cổng USB. Thay vì Mạch điện tử trên bo mạch do @Mose đề xuất, tôi đã tạo ra Bảng cách ly của riêng mình bằng cách sử dụng Rơle và trông tương tự như USB Switch Hub và điều này có ý nghĩa ngay cả khi ban đầu bị bỏ qua - Dòng điện trong Raspberry Pi sẽ bắt đầu trở thành một tiêu chí trên chạy lâu hơn có thể ảnh hưởng đến hiệu suất Pi của bạn.

Đối với những gì tôi muốn nói, bạn có thể tham khảo các hướng dẫn này cho các phép đo hiện tại thấp:

Tham khảo 1

Tham khảo 2

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.