Modern methods of developing, got easier with software services. For hardware services, we have limited options. Hence PCBWay gives the opportunity to get custom PCB manufactured for hobby projects as well as sample pieces, in very less delivery time
Get discount on the first order of 10 PCB Boards. Now, PCBWay also offers end-to-end options for our products including hardware enclosures. So, if you design PCBs, get it printed in a few steps!
This IoT Platform provides even more features that are fully customizable and allows IoT connectivity on different protocols, so as to provide customized data in whatever form we need on the Dashboard.
Let us get started on using the platform, from creating an account. This method would work for most of the free IoT platforms and is very basic to get started.
Go to the Thinger.io website (https://thinger.io/) and click on the "Get Started" button. You will be redirected to the login page. There, click on "Create an Account" and sign up with details like username, email, password, and sector. Under the sector category, the best way to get started would be choosing the 'Maker', so that we can use it for our personal projects too.
Once, we have created the account, we can log in from https://console.thinger.io/login. However, we shall automatically be logged in to our account.
Once we log in, and the Statistics panel opens, we can head to the Devices section and click on Add a Device.
From there, provide the details -
All the data, from so many resources and groups that accumulate through the platform needs to have a property, which we can use to identify and use it for storage of current data - Not historical.
To create properties, visit Devices > Properties > Add Property.
Once the identifier is entered, enter the property value in the form of JSON for payload data, and some other format (or even JSON) for response of data upon called.
I have created a device property to respond with 1 when request is successful.
Notice that the value of BME data is in JSON object format, this allows us to store and utilize the same device property to store multiple data with a single call.
When monitoring end devices, or controlling them, we need an interface to monitor all those device data, and visualize according to the type of data.
For example if we are monitoring the climate or surrounding of a device, using sensors to detect temperature and humidity, we'd need a time-series graph.
Add a new Dashboard, and give a name to that -
Once the dashboard is created, open the blank dashboard, and on the top right corner, click on 'Edit' button, which will reveal other options.
From here, click on 'Add Widget'.
Enter the configurations according to your requirement, based on the payload data.
Once all the widgets have been created, we can view the graph in it's default value as per device property.
To be able to make an HTTP Request, we need the endpoint and a sample of the payload, that the Platform's backend would receive so as to display on the dashboard.
Now, let us move to our ESP32 Dev Board hardware, and code it.
Visit Code Section and Download the Code.
Below are the variables that need to be changed in the shared code -
const char* ssid = " ";
const char* password = " ";
String serverName = "https://backend.thinger.io/v3/users/<yourusername>/devices/<devicename>/callback/data";
const char* token = "Bearer <token>";
Add the SSID and Password of your wifi network. Then enter the server URL and Authentication as per your callback overview.
After pushing the data, from ESP32 Dev Board, we see the result!