Я работаю над системой обнаружения падения.Я написал Arduino Code и подключился к Firebase.Итак, теперь у меня есть две переменные, которые получают статус 1 или 0, и я создал мобильное приложение, чтобы получать автоматическое push-уведомление всякий раз, когда система обнаруживает падение через Firebase + Pusher .Я написал этот код Python с помощью PyCharm и использовал функцию потока, чтобы читать живые данные из Firebase и отправлять автоматические уведомления.Код работал для переменной «Fall_Detection_Status», и я мог получать push-уведомления обычно при каждом обнаружении падения.Но я попытался изменить код для чтения данных из другой переменной " Fall_Detection_Status1 ", и теперь я хочу, чтобы мой код отправлял уведомление, если обе переменные дают 1.Я придумал этот код, но кажется, что последний оператор if не работает, потому что я не могу получать уведомления, а также печатать (response ['publishId']) в конце оператора if, который не показывает никакого результата.
Так что же не так?
import pyrebase
from pusher_push_notifications import PushNotifications
config = {
'apiKey': "***********************************",
'authDomain': "arfduinopushnotification.firebaseapp.com",
'databaseURL': "https://arduinopushnotification.firebaseio.com",
'projectId': "arduinopushnotification",
'storageBucket': "arduinopushnotification.appspot.com",
'messagingSenderId': "************"
}
firebase = pyrebase.initialize_app(config)
db = firebase.database()
pn_client = PushNotifications(
instance_id='*****************************',
secret_key='**************************',
)
value = 0
value1 = 0
def stream_handler(message):
global value
print(message)
if message['data'] is 1:
value = message['data']
return value
def stream_handler1(message):
global value1
print(message)
if message['data'] is 1:
value1 = message['data']
return value1
if value == 1 & value1 == 1:
response = pn_client.publish(
interests=['hello'],
publish_body={
'apns': {
'aps': {
'alert': 'Hello!',
},
},
'fcm': {
'notification': {
'title': 'Notification',
'body': 'Fall Detected !!',
},
},
},
)
print(response['publishId'])
my_stream = db.child("Fall_Detection_Status").stream(stream_handler)
my_stream1 = db.child("Fall_Detection_Status1").stream(stream_handler1)