Raspberry pi integration with cloud Firestore - firebase

I'm trying to make access control using firebase and mobile app. Right now my mobile app are saving user data in cloud Firestore. Can my raspberry pi fetch data from cloud Firestore for verification? how can I make this?

Posting this as a Community Wiki, as this is based on the comments of #jeffkmeng and #Nick.McDermaid:
Your Raspberry PI is just a computer. You can run code on it, in whatever language you'd like and that firebase supports, and that code can access cloud firestore. You could also consider trying out firebase functions, which might also be appropriate for your use case.
Furthermore you can find an example of how connect to Firestore from a Raspberry PI device in this article in Medium.

Related

How to export data from Firebase Firestore emulator to actual Firebase Firestore database

Scenario:
I am working on a POC locally where I am using Firestore as my database. As it is my local setup I am using Firestore Emulator. Now my POC is successful and I want to move local database from emulator to actual Firestore.
Query:
Is it possible to achieve what I am trying to do?
So far I am not able to find any relevant content on internet around this. I did find couple of examples where there is demonstration of exporting data from Firestore and importing to local emulator but I was not able to find the vice-versa option!
Firebase does not provide any sort of tool or service to do this. Your easiest alternative will be to write a program to query the data out of the emulator and write it into your cloud hosted instance. You might find the Firebase Admin SDK helpful for writing to the cloud in a program that you run locally.

How to listen to changes in Firestore with ESP8266?

How do i listen to data changes in Firebase Cloud Firestore with ESP8266? So far i have managed to connect ESP8266 with firestore to read and post data to Firestore using the REST API, but instead of constantly reading data from Firestore, I want to listen to an event when the data changes in Firestore.
In short, I want to have a stream open where i am listening for changes in Firestore.
This can be done with Firebase Real-time database, but i haven't found examples for Firestore.
Here is an example of what i am trying to do, but with real-time database: https://github.com/mobizt/Firebase-ESP8266/blob/master/examples/Stream/Stream.ino
I was asking around on some forums, and i found out that sadly this is not possible :(
The Cloud Firestore supports the REST API unless stream like feature are not available due to poor performance and Firebase team decided to remove this feature.
The only possible method that suitable for no Firebase SDK installation is the RPC (gRPC) which is not currently available in embedded device.
The other problem is database secret can't use in the Cloud Firestore, the auth or custom token is required and need the SSL/TLS library for key encryption and signing. This can be done in ESP32 with mbed TLS which can't do this in ESP8266 with BearSSL.
Then Cloud Firestore with realtime feature (using gRPC) is not possible in ESP8266.
From a issue on github#Firebase-ESP8266: https://github.com/mobizt/Firebase-ESP8266/issues/126
The workaround can be using a webserver and/or Firebase Functions, which sadly was the thing I was trying to avoid.

Can Arduino Uno send data to Cloud Firestore?

I need information on how to connect and send data to firestore from an Arduino Board and an ESP2866 module. I've only found tutorials using Firebase realtime, the ones I found using Firestore are using the NodeMCU board.
I have a Vue.js application reading some fields from a Firestore db, which should recieve information from the arduino with some attached sensors. From what I've seen my options are changing to firebase realtime or changing to NodeMCU( not possible ). I some direction to follow, on how to use firestore with arduino or just change the db.
One way to do it is to have an online server, after that it becomes very easy. Send your Arduino data to the server and then write the data to Cloud Firestore.
To find how to write data into Firestore, refer this documentation: https://firebase.google.com/docs/firestore/manage-data/add-data and chose the integration for your server. Firestore supports most of the popular server integrations like Node.js, GO, PHP, Python etc.
As answered by #doublejosh, refer to this documentation: firebase-extended
I had quick success using firebase-arduino for the real-time database rather than Firestore. Since Arduino projects are generally hobby, this should probably work well enough.

maintain connection status of user with firestore. using firebase db and cloud function

I am trying to maintain connection status of user with firestore . but i don't understand some points.
Link : https://firebase.google.com/docs/firestore/solutions/presence
i refer the above link description but i don't understand how to write code.
see the below given topics:
Using presence in Realtime Database
where to write this given code in application or Cloud functions?
2.Connecting to Cloud Firestore
Updating Cloud Firestore's local cache
where to write local cache update code?
I use this in my android application.
Each section of the code in the Build Presence in Cloud Firestore is marked.
If it is marked with WEB, you'll need to run this code in your web application. If your clients are native Android or iOS, you'll need to write and run similar code for those platforms.
If the code is marked with NODE.JS, you will need to run this code in a Node.js environment. It should be possible to accomplish the same in Cloud Functions, but no sample is provided for that.

Can Firebase be used in an app supported by another Backend and Database?

I am looking to make an app that would have its Backend on another service like AWS or some other. This app would be having many features and functionalities.
But for chat feature, I am exploring options and wondering that would I be able to integrate Firebase in my app.
I have read about Firebase Functions to add more functionality at the backend and also the installation of Firebase Admin to servers.
But still I am not convinced about their capabilities and exactly what all I can do with them.
It would be great if someone who has experience with Firebase help me out figuring if going with it is the best case for me or is there something else I should look into.
So first you can't use Firebase in combination with AWS or Azure etc. Firebase is based on Google Cloud and is the interface between the mobile client (the running app on the client's smartphone) and the backend (your Firebase project).
What I use is, for example, Firebase Cloud Messaging, to simply notify one or multiple users by trigger an HTTP Request from my own web server.
I also made some apps to store the data in FireStore or in the Realtime-Database, so that I don't have to set up a whole new infrastructure. And this is basically the goal of Firebase that you can simply start with your app, without carrying about that.
So what I've heard about Firebase is that you currently cannot install Firebase on a server of your choice and you have to use Google Cloud.
Hopefully, you can do something with my answer. If you have further questions feel free to ask them.

Resources