Проблема с клиентской стороной базы данных Firebase (Raspberry Pi) - PullRequest
0 голосов
/ 08 апреля 2020

В настоящее время я сталкиваюсь с одной и той же проблемой снова и снова, пытаясь запустить мой Raspberry Pi для сбора данных из моей базы данных Firebase. Я почти уверен, что у меня установлены правильные настройки на моем клиенте (Raspberry Pi), но это постоянно выдает мне ту же ошибку при компиляции. Я думаю, что, должно быть, pyrebase не отвечает ни на мою версию python, ни на мой пункт.

#import Libraries
import RPi.GPIO as GPIO
import time
import pyrebase
import firebase_admin

{
   "type": "service_account",
   "project_id": "raspberriancontroller",
   "private_key_id": "23e85306f268784b2df713d17e6337d26db51570",
   "private_key": "-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC+Bz7JFoa1oX1v\neSi3lUgqvhtVe9EdQxLnxWhvdBFMXUCnb+v4E6yNf51VHH5BtV+lEjkT3nWCKvB1\n/rPfz0eqcPZ6YgcntBIH65EoswNZr2ua/VtxjBPKnnFonXnHPTcryDmxwtHoXbLS\nIWQSS+zpp6b4PN79Oa7lJTcaVmdIyv9gPBDjX75lhvhXkotzdrvqEHdekb9m8pEU\nFZaa8U6zwc9rLZ+ojCEHM58EZBJjWHykTqBJ7+EJUPRSR3hTPx2Mo1KFEXee9vC8\nskIZkOEJhpa02YSjFtYx0AbzaWABxahWc1GeuNokrYN2H2u+XWQsFrwhNfmzZDm/\nasQqX1UrAgMBAAECggEACyN+lSfqXoQoR5v4/IXWFJdPH9whnk77sTU7kWjiyLCg\npQ/k64Yvs52a2c3RQsXAZPsj+FuuVKJytN/oqEJMp5t2fyb212dxNSCkQhf4Js4n\nBw85yHaXBGX0LNcqN7kJXloes6JBTpcLb9DAPmhP60RF/8AFrB8w9sKPL86HwFb3\nx/PbL1EcyybKX06rC3NHWtbu88zkoeYugfqYG1AO2SPAeGytsDioNvrsqy7X/OEU\nSrsRNvkA+yhzURCgXTNkbXkwKTd5xHcAaT3Ir9YqbrOKPZsunQDGBKK4xf4EyEan\nE44bFzs1hJ7rtTNW1cnOEy9x4mbwiy2NUg0E6zyGOQKBgQD3wZ2d1WiO/l0E7cd4\n2vgGNZOh4hIkun16kMoUaRLemQW8yR1lcYYLGbRjrQdjhydmZb37Ccz4kPRObcS/\nd48Zn2lfTSbspe22A8xLwIh36T/VHGn1XXkpr4+gUi/UJj5BIiN6SsutkxOxm4ne\naLUCZDLLP6heuAIMaA8oXuCVqQKBgQDEWec+w3EHu/VeqjLgEv4BoleYfpuhjS6W\nnmkw91BqflKKPcJiNLwm8fxoBEKmA/A78TzqSZ46yzvt3Qz5C2siOUn32zW/dM2Y\nIuCRtl91bh1PQ4HnjvYjTUGbQvm4OHavqYVG9jWyIL+/61/e5Oz/YvY6qZY0pb5w\n8PmmG28wswKBgGFH9+CSfCSxgcq+prUwnXSqstY8k00yoLRwh7ht7YfT4+nVuiIr\n6isPo8IDncQZvIG7b1ZT6dSr7hGhjkBz7I9uBYzzGVaQbH8sjJot9ifHQVYnev9p\n/Xo9whJ8UuVlQsqGYhHRrpnwByqU3RSkXnaa60rdKvpOHBfNAC6k2mBJAoGAcR2F\n3Z+ELzt1+Mo+Mt5eHJzkr8JIcEJAU58A5KelWSRa8q7vm9nbhugjS90gdDmSnUW1\nnRc6I47PgJG3FoYgev/cAAD2LszgYEO/cdJJngIIupAed0Lhw6aPJB3qdNl6bmpP\nkHjoqCy7qpmziloBuoLNbTAji0Lsum3otGvbm4cCgYEA8zbrIP8ouIJqrMpI+S9F\nbDmiyzIgzzGWngJ4vRWO5wTByaJvOFFtsxBr1U92BciMfxVrG6QkiNCH4jCDAbrw\nCh+nfCop+bX5uthb94WebvCB6jTW4DLMuuXeJX945KccAV3RxyK+SI8bBnlyvWOl\nzesSdtVHYst64OSg4y5oCA0=\n-----END PRIVATE KEY-----\n",
   "client_email": "firebase-adminsdk-5yts6@raspberriancontroller.iam.gserviceaccount.com",
   "client_id": "100108099049734453377",
   "auth_uri": "https://accounts.google.com/o/oauth2/auth",
   "token_uri": "https://oauth2.googleapis.com/token",
   "auth_provider_x509_cert_url": "https://www.googleapis.com/oauth2/v1/certs",
   "client_x509_cert_url": "https://www.googleapis.com/robot/v1/metadata/x509/firebase-adminsdk-5yts6%40raspberriancontroller.iam.gserviceaccount.com"
 }

from firebase_admin import credentials
cred = credentials.Certificate("raspberriancontroller-firebase-adminsdk-5yts6-0b1f824158.json")
firebase_admin.initialize_app(cred)

#Firebase Config
from pyrebase import pyrebase
config = {
     "apiKey": "AIzaSyCQJuQ7rIuygQaQaJyFAmkF1Vc2qQeP3MU",
     "authDomain": "raspberriancontroller.firebaseapp.com",
     "databaseURL": "http://raspberriancontroller.firebaseio.com",
     "storageBucket": "raspberriancontroller.appspot.com"
     "serviceAccount" "raspberriancontroller-firebase-adminsdk-5yts6-0b1f824158.json"
 }

firebase = pyrebase.initialize_app(config)

#GPIO Setup
GPIO.setmode(GPIO.BCM)
GPIO.setwarnings(False)
GPIO.setup(14, GPIO.OUT)

#Firebase Database Initialization
db = firebase.database()

#While loop to run until the user kills the program
while(True):
   #Grab value of LED
   led = db.child("led").get()

   #Sort through childs of LED (only 1)
   for user in led.each():

      #Check value of each child (which is 'state')
      if(user.val() == "OFF"):

         #If value is off, turn LED off
         GPIO.output(14, False)

      else:
         #If value is not off, turn the LED on
         GPIO.output(14, True)

      #0.1 sec delay
      time.sleep(0.1)  

Вот ошибка, которую постоянно выдает мне компилятор.

Traceback (most recent call last):
  File "/home/pi/.local/lib/python3.7/site-packages/pyrebase/pyrebase.py", line 444, in raise_detailed_error
    request_object.raise_for_status()
  File "/home/pi/.local/lib/python3.7/site-packages/requests/models.py", line 862, in raise_for_status
    raise HTTPError(http_error_msg, response=self)
requests.exceptions.HTTPError: 404 Client Error: Not Found for url: http://raspberriancontroller.firebaseio.com/led.json

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/pi/Desktop/RaspberrySwitch.py", line 47, in <module>
    led = db.child("led").get()
  File "/home/pi/.local/lib/python3.7/site-packages/pyrebase/pyrebase.py", line 264, in get
    raise_detailed_error(request_object)
  File "/home/pi/.local/lib/python3.7/site-packages/pyrebase/pyrebase.py", line 448, in raise_detailed_error
    raise HTTPError(e, request_object.text)
requests.exceptions.HTTPError: [Errno 404 Client Error: Not Found for url: http://raspberriancontroller.firebaseio.com/led.json] <!DOCTYPE html>
<html lang=en>
  <meta charset=utf-8>
  <meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
  <title>Error 404 (Not Found)!!1</title>
  <style>
    *{margin:0;padding:0}html,code{font:15px/22px arial,sans-serif}html{background:#fff;color:#222;padding:15px}body{margin:7% auto 0;max-width:390px;min-height:180px;padding:30px 0 15px}* > body{background:url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;padding-right:205px}p{margin:11px 0 22px;overflow:hidden}ins{color:#777;text-decoration:none}a img{border:0}@media screen and (max-width:772px){body{background:none;margin-top:0;max-width:none;padding-right:0}}#logo{background:url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;margin-left:-5px}@media only screen and (min-resolution:192dpi){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;-moz-border-image:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0}}@media only screen and (-webkit-min-device-pixel-ratio:2){#logo{background:url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;-webkit-background-size:100% 100%}}#logo{display:inline-block;height:54px;width:150px}
  </style>
  <a href=//www.google.com/><span id=logo aria-label=Google></span></a>
  <p><b>404.</b> <ins>That’s an error.</ins>
  <p>The requested URL <code>/led.json</code> was not found on this server.  <ins>That’s all we know.</ins>

Я запускаю его на Python 3 IDLE и обновил свою версию python. Я полностью потерян.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...