J'ai un projet qui nécessitera l'utilisation d'un Raspberry Pi dans un environnement basse consommation, mais il faudra également une connexion 3G. Je n'ai pas encore fait de tests, mais je suppose (et corrigez-moi si je me trompe) qu'un modem 3G branché sur un Raspberry Pi et connecté à un réseau consommera de l'énergie et, compte tenu de l'environnement, de toute puissance supplémentaire l'utilisation n'est pas obligatoire. Alors, comment, par programme, puis-je allumer et éteindre un modem 3G ou le connecteur USB d'un Raspberry Pi?
13
Réponses:
Malheureusement, il n'y a aucun moyen d'éteindre complètement avec un logiciel seul. Vous devrez ajouter un circuit de commutation connecté via les broches GPIO pour déclencher une «déconnexion matérielle» en coupant l'alimentation de votre matériel.
Éditer:
Pour passer avec GPIO, c'est juste un simple circuit à transistors.
B
est attaché à votre broche GPIO. Selon qu'il est HAUT ou BAS, le transistor est passant ou non.C
etE
vous mettez la ligne d'alimentation sur le périphérique USB (R L ).Pour des informations plus détaillées, regardez mieux ce site: http://www.kpsec.freeuk.com/trancirc.htm#switching et spécialement sur http://www.kpsec.freeuk.com/trancirc.htm#ic
la source
Je ne vous conseillerais pas d'allumer / éteindre un périphérique USB simplement en utilisant un interrupteur à base de transistor car le protocole de mise sous / hors tension et l'interface électrique appropriés doivent être utilisés conformément aux spécifications USB.
Je préfère utiliser un concentrateur USB commutable qui vous permet d'activer / désactiver l'un de ses ports en aval via un logiciel à l'aide d'une simple commande.
Quelque chose comme ce hub USB commutable devrait fonctionner pour ce que vous voulez.
la source
Vous pouvez utiliser mon outil uhubctl , il prend en charge les modèles Raspberry Pi B +, 2B, 3B, 3B + et 4B - ces modèles ont la capacité matérielle d'activer et de désactiver l'alimentation USB. Mais gardez à l'esprit que ce matériel ne prend en charge que la désactivation ou l'activation de tous les ports USB à la fois, pas indépendamment. Cependant, les rails d'alimentation USB et Wifi + Ethernet peuvent être contrôlés indépendamment (à l'exception de 4B, qui n'utilise pas d'interface USB pour la mise en réseau).
Utilisez-le comme ceci:
Coupez l'alimentation de tous les ports USB (vous devez utiliser le port 2):
Mettez tous les ports USB sous tension (vous devez utiliser le port 2):
Coupez l'alimentation de Wifi + Ethernet (vous devez utiliser le port 1):
Notez que le Raspberry Pi 4 est très différent des modèles précédents car il possède une puce USB3. Vous utiliseriez une commande comme celle-ci pour éteindre (vous devez utiliser le port 4):
Si votre Raspberry Pi ne prend pas en charge la commutation d'alimentation USB, vous pouvez connecter un concentrateur USB externe qui le fait (voir la liste des modèles compatibles ) et contrôler l'alimentation sur ce concentrateur externe en utilisant uhubctl.
la source
Salut, je suis d'accord avec @electrfunch car je travaille sur un projet de contrôle de périphériques sur les ports USB. Au lieu du circuit électronique intégré proposé par @Mose, j'ai créé ma propre carte d'isolement à l'aide de relais et ressemble au concentrateur de commutation USB , ce qui est logique car même s'il était initialement ignoré - les courants dans le Raspberry Pi commenceront à devenir un critère sur un plus long qui pourrait affecter vos performances Pi.
Pour ce que je veux dire, vous pouvez consulter ces manuels pour les mesures à faible courant:
Référence 1
Référence 2
la source