3G (veya herhangi bir USB) bağlantı noktasını mı açıyorsunuz?


13

Düşük güç ortamında Raspberry Pi kullanılmasını gerektiren bir projem var, ancak 3G bağlantısı gerektirecek. Henüz herhangi bir test yapmadım, ancak bir Ahududu Pi'ye takılan ve bir ağa bağlı bir 3G modemin güç kullanacağı ve çevreye ekstra güç verildiği varsayımı altındayım (ve yanılıyorsam beni düzeltin). kullanım şart değildir. Peki, programlı olarak, bir 3G modemi veya bir Raspberry Pi'deki USB konektörünü nasıl açıp kapatabilirim?


1
AFAIK Bir USB bağlantı noktasını kapatamazsınız, bu nedenle güç tasarrufu moduna sahip 3G dongle'a güvenir - muhtemelen bağlı olmadığında daha az güç kullanır ... ancak muhtemelen bağlanmak / bağlantıyı kesmek için makul miktarda güç kullanır.
Alex Chamberlain

1
bir şey, bu tamamen otonom ve uzak bir birim olacak ... gerektiği gibi 3G açmak ve kapatmak gerekir ... fişini çekmek veya takmak için orada kimse olmayacak ... dolayısıyla programlı kısmı ...
TiernanO

3
Alex'in dediği gibi, Pi'nin USB bağlantı noktalarına gücü yazılımdan kontrol etmek için bir mekanizma yoktur - bunlar doğrudan bir pasif akım sınırlayıcı ile tedarik rayına bağlanır. Bu nedenle, çevre birimine kendi kendine kapanmasını / uyumasını söyleyemezseniz, USB üzerinde veya bir GPIO pin üzerinden kontrol ettiğiniz harici bir güç anahtarlama cihazına ihtiyacınız olacaktır.
Chris Stratton

Yanıtlar:


8

Ne yazık ki, yalnızca yazılımla tamamen kapanmanın bir yolu yoktur. Donanımınıza giden gücü keserek "donanım bağlantısının kesilmesini" tetiklemek için GPIO pinlerine bağlı bir anahtarlama devresi eklemeniz gerekecektir.

Düzenle:

GPIO ile geçiş yapmak için sadece basit bir transistör devresi var.

resim açıklamasını buraya girin

BGPIO pininize eklenir. YÜKSEK veya DÜŞÜK olmasına bağlı olarak transistör açık veya kapalıdır. Cve Egüç hattını USB Aygıtına (R L ) koyarsınız .

Daha ayrıntılı bilgi için bu siteye daha iyi bakın: http://www.kpsec.freeuk.com/trancirc.htm#switching ve özellikle http://www.kpsec.freeuk.com/trancirc.htm#ic


Bunun nasıl yapılacağı hakkında daha fazla ayrıntıya girebileceğinizi mi düşünüyorsunuz?
Jivings

Elbette. Düzenleyeceğim
Mose

evet bu iyi - bu transistörü kısa bir USB uzatma kablosuna koyabilirsiniz.Açık kesmeniz ve burada konuşulan güç hatlarını kesmeniz gerekecektir. Daha sonra 3G'yi uzaya takabilir ve gücü kontrol edebilirsiniz.
Beğendim

Bu umut verici görünüyor! Teşekkürler! bu konuda yardımcı olması için Elektrik Mühendisliği arkadaşımla sohbet etmek zorunda kalacak, ama parmak çarpı işareti! Tekrar teşekkürler!
TiernanO

5

Bir USB cihazını sadece bir transistör taban anahtarı kullanarak AÇIK / KAPALI konuma getirmenizi tavsiye etmem, çünkü USB spesifikasyonlarında tanımlandığı şekilde uygun güç AÇMA / KAPAMA protokolü ve elektrik arabirimi kullanılmalıdır.

Basit bir komut kullanarak yazılım aracılığıyla herhangi bir aşağı akış bağlantı noktasını AÇIK / KAPALI konuma getirmenizi sağlayan değiştirilebilir bir USB hub'ı tercih ederim.

Bu USB değiştirilebilir hub gibi bir şey, istediğiniz şey için çalışmalıdır.


1
Sooo harika görünüyor! Bunu denemeliyim ... Bunun telefonların akıllıca şarj edilmesi için de kullanışlı olabileceğini düşünüyorum ... Hmmm .... Teşekkürler!
TiernanO

2
Feragatname: Şimdi Yepkit'te çalışıyorum. Bu yüzden bu konuda önyargılı olduğumu düşünebilirsiniz.
electrfunch

1
Bir aygıt kullanıcı tarafından herhangi bir zamanda takılabilir olduğundan, USB özellikleri bunun sürücüler ve aygıtlar tarafından ele alınması gerektiğini belirtir. Bu yüzden, aynı sonuca sahip ve aynı zamanda spesifikasyonlarla desteklenen sentler için basit elektronikler yapabileceğiniz zaman 29 € harcama noktasını görmüyorum.
Mose

3

Uhubctl aracımı kullanabilirsiniz , B +, 2B, 3B, 3B + ve 4B Raspberry Pi modellerini destekler - bu modeller USB gücünü kapatıp açmak için donanım yeteneğine sahiptir. Ancak, bu donanımın bağımsız olarak değil, yalnızca bir defada tüm USB bağlantı noktalarının kapatılmasını veya açılmasını desteklediğini unutmayın. Bununla birlikte, USB ve Wifi + Ethernet güç rayları bağımsız olarak kontrol edilebilir (ağ için USB arabirimini kullanmayan 4B hariç).

Şöyle kullanın:

Tüm USB bağlantı noktalarına giden gücü kapatın (bağlantı noktası 2'yi kullanmalıdır):

sudo uhubctl -p 2 -a 0

Tüm USB bağlantı noktalarına giden gücü açın (bağlantı noktası 2'yi kullanmalıdır):

sudo uhubctl -p 2 -a 1

Wifi + Ethernet'e giden gücü kapatın (bağlantı noktası 1'i kullanmalıdır):

sudo uhubctl -p 1 -a 0

Raspberry Pi 4'ün USB3 yongası olduğu için önceki modellerden çok farklı olduğunu unutmayın. Gücü kapatmak için şu komutu kullanırsınız (bağlantı noktası 4'ü kullanmanız gerekir):

sudo uhubctl -l 2 -p 4 -a 0

Raspberry Pi'niz USB güç anahtarlamayı desteklemiyorsa, harici USB hub'ı bağlayabilir ( uyumlu modeller listesine bakın ) ve uhubctl kullanarak bu harici hub üzerindeki gücü kontrol edebilirsiniz.


2

Merhaba, USB bağlantı noktalarındaki aygıtları kontrol etme projesi üzerinde çalıştığım için @elektrfunch ile hemfikirim. @Mose tarafından önerilen yerleşik Elektronik Devre yerine, Röleleri kullanarak kendi İzolasyon Kartımı oluşturdum ve USB Switch Hub'a benziyor ve başlangıçta göz ardı edilmesine rağmen bu mantıklı geliyor - Raspberry Pi içindeki akımlar, Pi performansınızı etkileyebilecek daha uzun süre çalışır.

Demek istediğim, Düşük Akım ölçümleri için şu kılavuzlara başvurabilirsiniz:

Referans 1

Referans 2

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.