Ich habe eine Android Mobile App erstellt, die eine BPM Variable (zwischen 0 und 160) über PubNub sendet.Programmierung von Metronome Python Skript mit PubNub für Raspberry Pi
Mein Ziel ist es, eine LED auf meinem Raspberry Pi (GPIO 18) auf jedem Beat basierend auf dem BPM-Wert blinken zu lassen. Wie Sie im Code sehen können. Allerdings, wenn ich mein Skript starte. Nichts scheint zu passieren. Die LED bleibt ausgeschaltet. Wenn ich versuche, Daten meiner Variablen (zum Beispiel den BPM-Wert) zu drucken - um zu sehen, ob etwas passiert. Nichts erscheint auf meinem Raspberry Pi
Ich habe keine Ahnung, was könnte fehlen oder falsch mit meinem Skript, da es auch keine Fehlermeldungen gibt. Ich habe auch überprüft, dass meine App die Daten über PubNub sendet.
Hier ist mein Skript so weit:
#!/usr/bin/python
import RPi.GPIO as GPIO
import time
import timeit
from threading import Thread
from pubnub import Pubnub
GPIO.setwarnings(False)
GPIO.setmode(GPIO.BOARD)
GPIO.setup(18, GPIO.OUT)
global BlinkLED = 160
pubnub = Pubnub(publish_key = 'cencored',
subscribe_key = 'cencored')
channel = 'metronoom'
def _callback(msg, n):
def BlinkLED(BPM):
BeatsPerSecond = BPM/60
while true:
strStatus = "LED is turned on"
GPIO.output(18,False); time.sleep(BeatsPerSecond)
GPIO.output(18,True)
strStatus = "LED is turned off"
print (strStatus)
BlinkLED(msg['BPM'])
def _error(m):
print(m)
pubnub.subscribe(channels=channel, callback=_callback, error=_error)