[Tutorial ACTUALIZADO] Cómo encender y apagar tu Raspberry a través de un botón.

Sección Unicamente para Tutoriales y Guías
Avatar de Usuario
Kactius
Pi Destroyer
Pi Destroyer
Mensajes: 796
Registrado: 17 Nov 2016, 17:26
Agradecido: 0
Agradecimiento recibido: 6 veces
Contactar:

@MrBeaker MrBeaker
Entiendo que solo pretendías usar el botón para apagar o al menos eso pude intuir, pero se puede dar el caso de que alguien encuentre útil usar un pulsador con una función extra como puede ser el reinicio de la Raspberry en ese mismo pulsador.

https://github.com/gilyes/pi-shutdown/b ... hutdown.py
Avatar de Usuario
Dawn
Pi Master
Pi Master
Mensajes: 360
Registrado: 16 Dic 2016, 10:33
Agradecido: 0
Agradecimiento recibido: 0

Kactius escribió:@MrBeaker MrBeaker
Entiendo que solo pretendías usar el botón para apagar o al menos eso pude intuir, pero se puede dar el caso de que alguien encuentre útil usar un pulsador con una función extra como puede ser el reinicio de la Raspberry en ese mismo pulsador.

https://github.com/gilyes/pi-shutdown/b ... hutdown.py
Estupendo aporte. Yo voy a darle la vuelta. Para mi proyecto me interesa más que una pulsación corta sea apagar y en todo caso una larga el reset. Voy a intentar modificar el código.
Avatar de Usuario
Kactius
Pi Destroyer
Pi Destroyer
Mensajes: 796
Registrado: 17 Nov 2016, 17:26
Agradecido: 0
Agradecimiento recibido: 6 veces
Contactar:

Tan solo es cambiar la -h por -r
butarda66
Pi Alpha
Pi Alpha
Mensajes: 37
Registrado: 08 Dic 2016, 07:22
Agradecido: 0
Agradecimiento recibido: 0

Buenas:
Primero daros las gracias por vuestros aportes y segundo ,tengo un par de preguntas.
Primera: tengo soldado un conector dupont a los contactos run de la placa para colocar un pulsador.¿se podría hacer lo mismo desde estos contactos?
Segunda: si se puede ¿cual seria el código?
Soldando soy bueno pero con las lineas de código me pierdo.
Gracias de nuevo.
Avatar de Usuario
Dawn
Pi Master
Pi Master
Mensajes: 360
Registrado: 16 Dic 2016, 10:33
Agradecido: 0
Agradecimiento recibido: 0

Kactius escribió:Tan solo es cambiar la -h por -r
Cierto, ya lo modifiqué. Mucho más sencillo de lo que esperaba. Y lo mejor es que funciona muy bien!

Solo me queda como pedir a la raspberry que no se encienda sola cuando detecte corriente por el microsub... mira que se lo digo por favor y no hay manera! 8-)
Avatar de Usuario
MrBeaker
Pi Master
Pi Master
Mensajes: 277
Registrado: 27 Dic 2016, 15:26
Agradecido: 1 vez
Agradecimiento recibido: 0

Carlitos_S escribió:Me parece muy buen tuto y de bastante utilidad... pero me surge una pregunte, tu puedes hacer cualquiero cosa con la RPi mientas ella esta esperando que pulses el boton, por ejemplo reproduciendo un video, programando, jugando o cualquier cosa no?? Me parece muy util a la hora de que la sd no resulte dañada, tiene menos posibilidades asi, cortando software y posteriormente ya apagas hardware. Por que si una vez que le has dado al boton y se queda en standby, le vuelves a dar, se inicia de nuevo o sigue por donde estaba anteriormente???
Gracias
Muy buenas!
Cuando le das al botón arranca de nuevo desde cero. Es como cuando apagas el PC y le das al botón para encenderlo.
Avatar de Usuario
MrBeaker
Pi Master
Pi Master
Mensajes: 277
Registrado: 27 Dic 2016, 15:26
Agradecido: 1 vez
Agradecimiento recibido: 0

@Kactius @Dawn
Perdonad la espera, estos días he estado un poco desconectado.
En breve voy a subir un tutorial con el proyecto que terminé ayer.

Para el reset lo mejor que puedes hacer es programar otro script similar pero cambiando el puerto del GPIO y conectar el pulsador en ese GPIO diferente. También hay que cambiar el comando del script y ponerle el -r tal y como habéis dicho por arriba.
Hay otra opción, que es conectar el pulsador directamente a los puertos RUN de la placa (no hace falta script ni nada). Son dos agujeritos que se encuentran al lado de los pines GPIO y ponen RUN. Si probais a conectar dos cables ahí vereis como de reinicia la raspberry.

En cuanto a que se encienda unica y exclusivamente cuando pulsas... Tras mucho leer llegue a la conclusionnde que con la toma de corriente de la rpi no es posible hacerlo. La unica solución que encontré fue comprar un módulo micro usb externo, conectar este al pulsador y el pulsador a los pines... No se si me entendéis.

Perdonad si hay alguna falta de ortografia, os escribo desde el movil
Avatar de Usuario
MrBeaker
Pi Master
Pi Master
Mensajes: 277
Registrado: 27 Dic 2016, 15:26
Agradecido: 1 vez
Agradecimiento recibido: 0

butarda66 escribió:Buenas:
Primero daros las gracias por vuestros aportes y segundo ,tengo un par de preguntas.
Primera: tengo soldado un conector dupont a los contactos run de la placa para colocar un pulsador.¿se podría hacer lo mismo desde estos contactos?
Segunda: si se puede ¿cual seria el código?
Soldando soy bueno pero con las lineas de código me pierdo.
Gracias de nuevo.
Buenas!!
Justamente lo he dicho en el comentario de arriba, no me habia dado cuenta del tuyo :xd
Con el RUN haces lo mismo pero digamos que es un reinicio en sucio, es como si desconectaras la placa de corriente por lo que no es aconsejable que se utilice de manera habitual.
No necesitas ningún código si utilizas estos contactos.

Saludos!
Última edición por MrBeaker el 30 Ene 2017, 08:22, editado 1 vez en total.
Avatar de Usuario
Dawn
Pi Master
Pi Master
Mensajes: 360
Registrado: 16 Dic 2016, 10:33
Agradecido: 0
Agradecimiento recibido: 0

MrBeaker escribió: En cuanto a que se encienda unica y exclusivamente cuando pulsas... Tras mucho leer llegue a la conclusionnde que con la toma de corriente de la rpi no es posible hacerlo. La unica solución que encontré fue comprar un módulo micro usb externo, conectar este al pulsador y el pulsador a los pines... No se si me entendéis.
Me interesa mucho que facilitaras más información sobre esa placa. Es una ATXraspi? Supongo que lo explicarás en el tutorial, lo seguiré con mucha atención!

Gracias!
Avatar de Usuario
MrBeaker
Pi Master
Pi Master
Mensajes: 277
Registrado: 27 Dic 2016, 15:26
Agradecido: 1 vez
Agradecimiento recibido: 0

Dawn escribió:
MrBeaker escribió: En cuanto a que se encienda unica y exclusivamente cuando pulsas... Tras mucho leer llegue a la conclusionnde que con la toma de corriente de la rpi no es posible hacerlo. La unica solución que encontré fue comprar un módulo micro usb externo, conectar este al pulsador y el pulsador a los pines... No se si me entendéis.
Me interesa mucho que facilitaras más información sobre esa placa. Es una ATXraspi? Supongo que lo explicarás en el tutorial, lo seguiré con mucha atención!

Gracias!
Hola!
No se realmente cual es el nombre, yo no la he utilizado en este proyecto porque era muy engorroso adaptar el nuevo módulo a la carcasa. Lo que hago es, una vez apagada por software, la desconecto de alimentación com un cable con interruptor que compré.
En el tuto no haré referencia a eso, pero voy a buscarte el módulo de alimentación que te comento y ahora te menciono.

Saludos!!
Avatar de Usuario
MrBeaker
Pi Master
Pi Master
Mensajes: 277
Registrado: 27 Dic 2016, 15:26
Agradecido: 1 vez
Agradecimiento recibido: 0

@Dawn aquí tienes compi
https://www.adafruit.com/products/1833

Esa es la placa que vi que recomendaban en otros foros.
Avatar de Usuario
Dawn
Pi Master
Pi Master
Mensajes: 360
Registrado: 16 Dic 2016, 10:33
Agradecido: 0
Agradecimiento recibido: 0

MrBeaker escribió:@Dawn aquí tienes compi
https://www.adafruit.com/products/1833

Esa es la placa que vi que recomendaban en otros foros.
Pero esa placa no gestiona nada. Es simplemente un microusb soldado a una placa de la que salen los 5 pins para soldarlos o conectarlos a una breadboard. ¿Que lo conectan al GPIO y lo gestionan desde ahí? Si no no entiendo la ventaja de usar esto respecto al conector microusb de la raspberry.
Avatar de Usuario
MrBeaker
Pi Master
Pi Master
Mensajes: 277
Registrado: 27 Dic 2016, 15:26
Agradecido: 1 vez
Agradecimiento recibido: 0

Sí, lo conectan al GPIO y encienden la placa desde ahí. Como digo, entre medias de la placa y el GPIO imagino que estará el pulsador para elegir el momento en el que meterle corriente a la placa
Avatar de Usuario
Dawn
Pi Master
Pi Master
Mensajes: 360
Registrado: 16 Dic 2016, 10:33
Agradecido: 0
Agradecimiento recibido: 0

Investigaré más sobre alimentar la raspberry a través de la GPIO, puede ser una solución interesante.

Ahora estaba estudiando implementar otra solución, aunque no la tengo simulada al completo.

Por una parte, el pulsador de encendido lo dejo en la GPIO, y la raspberry conectada directamente a la fuente de alimentación.

Que la fuente de alimentación no le pase la corriente directamente a la raspberry lo solucionamos con éste esquema https://circuits.io/circuits/3843414-1- ... ay-circuit. Podéis lanzar la simulación y observar que no pasa la corriente al circuito hasta que se le da un toque al pulsador. A partir de ese momento el pulsado ya no tiene efecto en ese circuito.

Me falta aislar el circuito de los relés para que de la señal al GPIO de apagado y reset sin tensión alguna.
Avatar de Usuario
Dawn
Pi Master
Pi Master
Mensajes: 360
Registrado: 16 Dic 2016, 10:33
Agradecido: 0
Agradecimiento recibido: 0

Creo que ya lo tengo!! A falta de que alguien con más conocimientos de electrónica que lo revise, creo que ya funciona como buscaba. Ahí os lo dejo y os lo explico:

https://circuits.io/circuits/3843414-pu ... spberry-pi
Captura.PNG
El circuito de 5V es el que vendrá del transformador de la raspberry. Como podéis comprobar, hasta que no se pulsa no se enciende el led rojo, que imaginaremos que es nuestra raspberry. Por tanto, al enchufarla por primera vez a la corriente no se encenderá sola la raspberry... bien!

Y ahora, como la apagamos? Si le volvéis a dar al botón observareis que el voltaje del led rojo se mantiene y no se apaga, así que no afecta al suministro de energía de nuestra maquinita pero, oh! enciende el led verde (que son nuestros pin 5-6 de la GPIO para enviar la señal de apagado/reset por soft). Ya lo tenemos! Podemos apagarla y encenderla con el mismo botón y en nigún caso se encenderá sola!

Como veis, ese led va a 2v. En el caso real no irá voltaje alguno, pues no hay pasárselo a la raspberry, solo puentear los pins. Yo le he puesto 2v para que se viera con el led que el pulsador actuaba, además de para comprobar que el circuito es diferente al de los 5v, pues como repito no se trata de pasar voltaje sino de puentear los pins)

¿Hay algún crack de la electrónica que me pueda repasar éste esquema? Igual he hecho algo poco ortodoxo o me he dejado por poner alguna historia técnica por seguridad. ¿Hay algún crack de electrónica en el foro? Gracias!!
Avatar de Usuario
Dawn
Pi Master
Pi Master
Mensajes: 360
Registrado: 16 Dic 2016, 10:33
Agradecido: 0
Agradecimiento recibido: 0

He simplificado el circuito, a ver que os parece https://circuits.io/circuits/3852989-po ... pi-1-relay
Captura.PNG
Avatar de Usuario
gandarin
Pi Alpha
Pi Alpha
Mensajes: 11
Registrado: 30 Dic 2016, 22:58
Ubicación: Catalonia
Agradecido: 0
Agradecimiento recibido: 0

Muy agradecido.
Saludos.
Avatar de Usuario
Dawn
Pi Master
Pi Master
Mensajes: 360
Registrado: 16 Dic 2016, 10:33
Agradecido: 0
Agradecimiento recibido: 0

Bueno, pues a falta de probarlo en profundidad, he utilizado un switch de Pololu y ha sido todo un éxito. Mediante un pulsador conectado a los pins del switch enciende la raspberry (que alimenta por GPIO). El Pololu no hace caso al pulsador una vez está encendido, por lo que las pulsaciones las leerá solo la raspberry que lanzará el script del shutdown. Una vez apagada, como está conectado un pin del GPIO con el Pololu, éste se desconecta al no detectar tensión y corta la corriente.

8-)
Burgos93
Pi Alpha
Pi Alpha
Mensajes: 25
Registrado: 17 Nov 2016, 13:42
Agradecido: 0
Agradecimiento recibido: 0

Dawn escribió:Bueno, pues a falta de probarlo en profundidad, he utilizado un switch de Pololu y ha sido todo un éxito. Mediante un pulsador conectado a los pins del switch enciende la raspberry (que alimenta por GPIO). El Pololu no hace caso al pulsador una vez está encendido, por lo que las pulsaciones las leerá solo la raspberry que lanzará el script del shutdown. Una vez apagada, como está conectado un pin del GPIO con el Pololu, éste se desconecta al no detectar tensión y corta la corriente.

8-)
Cuanto cuesta el pololu ese?

Enviado desde mi Redmi Note 3 mediante Tapatalk
Avatar de Usuario
Dawn
Pi Master
Pi Master
Mensajes: 360
Registrado: 16 Dic 2016, 10:33
Agradecido: 0
Agradecimiento recibido: 0

Burgos93 escribió:
Dawn escribió:Bueno, pues a falta de probarlo en profundidad, he utilizado un switch de Pololu y ha sido todo un éxito. Mediante un pulsador conectado a los pins del switch enciende la raspberry (que alimenta por GPIO). El Pololu no hace caso al pulsador una vez está encendido, por lo que las pulsaciones las leerá solo la raspberry que lanzará el script del shutdown. Una vez apagada, como está conectado un pin del GPIO con el Pololu, éste se desconecta al no detectar tensión y corta la corriente.

8-)
Cuanto cuesta el pololu ese?

Enviado desde mi Redmi Note 3 mediante Tapatalk
Pues es barato, menos de 10€.

Ahora estoy peleandome con el GPIO para que pase la señal de corte de corriente adecuadamente.

Enviado desde mi SM-G935F mediante Tapatalk
Responder