Read the statement by Michael Teeuw here.
GPIO PIN on 3b not working
-
I have had a rpi in place running a python written program that displays several web pages in a kiosk mode under chromium.
A customize version of this project
https://www.instructables.com/Raspberry-Pi-Wall-Mounted-Google-Calendar/
I have 34simple push buttons (plunger buttons each with only two terminals) all wired to the pi (One pin to GPIO the other to GND) . It works fine. Pyton code below.
Initialization code
GPIO.setmode(GPIO.BCM) GPIO.setup(19, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(20, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(21, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(26, GPIO.IN, pull_up_down=GPIO.PUD_UP)
Variable loaded
input_state_back = GPIO.input(19) input_state_forward = GPIO.input(20) input_state_view = GPIO.input(26) input_state_change = GPIO.input(21)
Logic to test
if input_state_change == True do some stuff
The code has been running on the pi 5 years, great.
So I have another PI that I built with MM, getting the screen like I want it to replace this one in the kitchen.
Take the SD card out of the test box put in in the kitchen pi, crank up MM and then use MMM-Buttons to configure the pins. The last step in my move to replace it.
I got nothing
pins will not register when I press themMMM-Button Config below. I am watching for events in the log and Ihave notification on the screen. I have successfully hooked up MQTT to receive notification as well. I have gooled all over and I can’t figure out why the buttons will not work when wired up the same way.
{ module: 'MMM-Buttons', config: { buttons: [ { pin: 21, name: "User Present", shortPress: { notification: "REMOTE_ACTION", payload: {action: "USER_PRESENCE", value: true} }, longPress: { notification: "REMOTE_ACTION", payload: {action: "REFRESH"} } }, { pin: 19, name: "User Present", shortPress: { notification: "REMOTE_ACTION", payload: {action: "USER_PRESENCE", value: true} }, longPress: { notification: "REMOTE_ACTION", payload: {action: "REFRESH"} } }, { pin: 20, name: "User Present", shortPress: { notification: "REMOTE_ACTION", payload: {action: "USER_PRESENCE", value: true} }, longPress: { notification: "REMOTE_ACTION", payload: {action: "REFRESH"} } }, { pin: 26, name: "User Present", shortPress: { notification: "REMOTE_ACTION", payload: {action: "USER_PRESENCE", value: true} }, longPress: { notification: "REMOTE_ACTION", payload: {action: "REFRESH"} } }, ] } },
Any body have any idea what is going on?
-
@faspina1 do you have things connected correctly? mmm-buttons uses the bcm numbering
I don’t know what you did before
-
@sdetweil Yes. They were working and continue to work with my other program I never moved the , they are mounted and connect to the RPI.
What I have noticed is that after powering off , i have to run a python test program on each of the 4 pins. Then they start suddenly working on MM.
I have verified this twice cause I thought I was nuts. I may still be nuts but that is exactly what is happening.
the 4 push buttons i have configured for USER_PRESENCE, REFRESH, MONITORTOGGLE, and RESTART
Pins 26,21,19,20
-
did you enable the gpio stuff via raspi config on the new pi?
-
@faspina1 I have seen a couple other users report the same thing. I do not know why.
I looked thru raspi-config, and only saw remote GPIO.
you might try that
sudo raspi-config interfaces
as a short term, you could add running the test python as part of the mm startup script
if you used my install script, and use pm2 to launch mm , that script is
~/MagicMirror/installers/mm.sh
-
@sdetweil I may add the python code to the start of the script. Enable the pins in Python and then read them . See if that works.
I see that others have reported as well