I was following a tutorial found here: https://www.linkedin.com/pulse/prepare-your-raspberry-pi-work-aws-iot-kay-lerch
I have not even begun the internet part of it
Doddie's answer has the problem that the program exits after the first button press. Since the author mentioned an eternal loop, I would like to propose the following:
#!/usr/bin/python3
import RPi.GPIO as gpio
import time
pin = 7
def on_pushdown(channel):
print "Button Pushed."
try:
# Setting GPIO layout
gpio.setmode(gpio.BOARD)
# Set pin as input pin pulled down to GND
gpio.setup(pin, gpio.IN, pull_up_down=gpio.PUD_DOWN)
while True:
if not 'event' in locals():
event = gpio.add_event_detect(pin, gpio.RISING, callback=on_pushdown, bouncetime=200)
else:
time.sleep(1)
finally:
gpio.cleanup()
If the button is pressed and an event is detected, the variable event is being deleted. Hence, the add_event_detect-function is not called twice in a row.
Additionally two things:
gpio.OUT and you just have a push button, you might consider to just take the build-in pull-up resistor and directly connect the push button to GND: GND --/ -- GPIO.IN (and then detect for gpio.FALLING).