【发布时间】:2016-05-29 21:10:33
【问题描述】:
我创建了一个 Android 移动应用程序,它通过 PubNub 发送一个 BPM 变量(0 到 160 之间)。
我的目标是根据 BPM 值让我的 Raspberry Pi (GPIO 18) 上的 LED 在每次节拍时闪烁。正如您在代码中看到的那样。但是,当我启动我的脚本时。似乎什么都没有发生。 LED 保持关闭状态。 当我尝试打印我的变量数据(例如 BPM 值)时 - 看看是否有任何事情发生。我的 Raspberry Pi 上什么也没有弹出
我不知道我的脚本可能缺少什么或错误,因为它也没有给我任何错误消息。 我还验证了我的应用通过 PubNub 发送数据。
到目前为止,这是我的脚本:
#!/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)
【问题讨论】:
标签: android python raspberry-pi pubnub