How can I authenticate production boards using ESP32 on Firebase?
I am working on a project where I have to send sensor data from ESP32-based boards to smartphones. After some research, I concluded that the Firebase real-time database is a good option for performing this task.
For the smartphone side, users can log in using their Google accounts and access the sensor information by knowing the board's MAC address.
But for the boards themselves, authentication is currently handled anonymously (using this tutorial: https://randomnerdtutorials.com/esp32-firebase-realtime-database/#database-url).
I thought about authenticating the boards using emails and passwords, but it would be impractical for production as many email accounts would have to be generated. So, how can I create an authentication process for these boards that guarantees the database's security?
Related
I have a BLE temperature sensor, which should send measurements to an ESP32 via a BLE connection and my plan was that the ESP32 could send the measurements via WiFi to my database (Firebase Realtime Database). However, I have seen from a few tutorials that a mqtt server would be neccesary (see the screenshot below - link to the video: https://www.youtube.com/watch?v=PBYCG-ypvRY). Could someone please explain to me why the mqtt component is neccesary? Currently I am measuring temperatures using my ESP32 (without the BLE temperautre sensors) and sending them directly to the database, so I am confused as to why with BLE I would need a mqtt server.
Thanks for your help in advance!
You don't need MQTT. It's just one of the IoT-friendly protocol alternatives (like HTTPS, AMQP, CoAP, homebrew, etc) available to you for device-to-server communication. There are pros and cons to each one. It's up to you to choose whatever solution is relevant to your system.
If you've already implemented the Firebase HTTPS interface and it does the job, you're done.
If you are having problems, note that the Google IoT Core also prescribes MQTT (or, alternatively HTTPS) as an underlying messaging protocol - used together with the Device SDK for Embedded C. But this is for people who want to have a large-scale authentication and management solution for their devices. By all means, stick to your existing solution if it works.
I am trying to find solution for secure authorization to my own bluetooth device. Multiple users can connect to that device via Bluetooth Low Energy from their smartphones, but that device is not connected to the Internet. It has no database, low memory and not every user should be able to connect and manage my device (one user can be connected at the same time). How can I authorize user secure? I would to like to avoid storing single plain password in device, but right now I have not any other idea.
I'm designing a system where there will be 100,000 appliances and user will be able to send/receive data to his appliance over MQTT.
Device to App communication:
There will be a mac address based unique topic and device ID of each appliance . Each appliance will publish its data to topic of the server . The server will send the data to corresponding App over HTTP.
App to Device communication
The App will send data to server over HTTP and server will forward the data to corresponding appliance over MQTT.
Now can you please guide me is this a correct way to do that ? or a better way is server should subscribe to unique topics of all appliances ?
Following is the flow diagram for the above mentioned procedure
IBM Bluemix offers an IoT for electronics service which may be of interest to you. It uses the Watson IoT Platform to connect your smart electronic appliances with the applications that you develop. It also helps you analyze and understand the data from your appliances.
You can send and receive messages with Azure IoT hub that supports MQTT and HTTP protocols, with device-to-cloud and cloud-to-device capabilites.
Azure IoT device SDKs can be used with a broad range of OS platforms and devices. You can build your "device" and "App" with Microsoft.Azure.Devices.Client .
You can deploy MQTT broker in Azure, this and this you can reference.
The throughput varies with the service tier, up to 208,333 messages per minute.
I have a device which has a settings on it.
The device is uploading data to the cloud.
In the cloud I have settings of the device that I want to do a smart way to update the device settings, but still leave the device the master and stateless. I mean that every request shall come from the device towards the cloud and NACK/ACK will come back to the device.
Currently what we do is to put a command in the database to send to the device according to its serial number. when the device pings to the server, it gets the message with the update. But I do not want to wait for the ping of the BSS. How can I notify the device that a message is waiting for it ?
How do Apple does it with icloud settings to the devices ?
Thanks
Look at the MQTT protocol. This is being promoted by Amazon for IOT devices, and a broker (message router) is available from Amazon. The protocol uses a publish and subscriber model. The devices subscribe to their "topic" something like yourcompany/todevice/serialnumber, and when the server publishes to the same topic, the MQTT broker delivers the message. the messages normally use JSON protocol.
I am doing a project for sending bulk sms service.this is the concept
create a website . Through this website the user will enter all their details so that only registered user can use my service.I ll get a service plan from any of the service providers for sending unlimited messages.They ll give me a SIM card with a unique number like 54545.My android application interfaces with the gsm modem and sends out the messages from my machine.
now,i wanted to know what kind of modem i can use for my project.Is there any modem to send only bulk sms
You might be looking for a GSM/GPRS-Terminal like these. I have used one to send SMS after a application has finished processing data or if an error occured.