Software apps and online services
Hi everyone, thank you for reading this project tutorial. I had been working on sending data packets with NodeMCU using HTTP Get Request Method which is embedded in its default library, and gathering heart rate from KY-039 Heart Rate Sensor accurately; they culminated in a new feature – IoT Services – for my website subscribers as explained down below, allowing you to display the data gathered by NodeMCU etc. through my website database. Also, I thought that it might be a good study to inspect the heart rate at a given temperature and humidity value, and therefore added a DHT11 Temperature and Humidity Sensor Module to this project as though it is essentially a part of KY-039. As a conclusion, by following the steps below, you will learn sending heart rate, temperature and humidity through NodeMCU to your dashboard on TheAmplituhedron(my website), and be able to monitor these data packets from the specialized MySQL database table that of your account in your IoT Dashboard. I programmed the aforementioned IoT service by myself in PHP, jQuery and AJAX, and confined it to only save 6 entry recursively because of the storage space of my website server host. In other words, TheAmplituhedron IoT Services is for only displaying recent data coming from NodeMCU and, of course, other devices that can make an HTTP Request such as Arduino WiFi Shield, as the last 6 data packets received by the dashboard.
Aside from the cloud system of TheAmplituhedron used in other projects of mine, TheAmplituhedron IoT Services is for displaying and saving data packets received from NodeMCU etc. in HTTP Get Request Method only. Like the cloud system of TheAmplituhedron that can receive and transmit data packets through web server in either HTTP Get Request or HTTP Post Request, specialized for Arduino Ethernet Shield and Raspberry Pi, TheAmplituhedron IoT Services is programmed by myself in PHP, jQuery and AJAX as an available system for only my website subscribers. But, as opposed to the cloud system of TheAmplituhedron, it can only receive data packets in HTTP Get Request Method, and display recent data packets only; TheAmplituhedron IoT Services is dedicated to showing the recent data gathered by NodeMCU etc. via sensor readings properly through TheAmplituhedron database and server. To use this feature, please follow the steps down below and subscribe to my website if you have not yet.
It is very simple to subscribe to benefit all available system provided by me; you just have to sign up to TheAmplituhedron.com, which is programmed by myself.
As showed by the figure down below, you have three options to sign up - Sign In with Google Plus, Continue with Twitter and Sign Up(Create an account).
1) Sign In with Google Plus
Just click Sign In with Google Plus and accept permissions. After that, you are ready to use IoT Services freely.
2) Continue with Twitter
Just click Continue with Twitter and authorize TheAmplituhedron. After that, you are ready to use IoT Services freely.
3) Sign Up
Or, if you do not want to use a third party account for verification, you can create your own account on TheAmplituhedron, as depicted down below.
After signing up process, your hedron - the unique 20-digit ID that used as an identifier in your connection path URL - generated by the server; you can display it under personal information section.
Personal Information -> Hedron -> Display
After subscribing, you have to create your unique connection path URL under IoT Services on your dashboard. Just click Create+ to auto-generate your connection path URL; after clicking, a pop-up bar will re-direct you to your connection path URL, containing your username and hedron.
Do not forget that you can create one connection page named with your username, and save in a constricted database - up to 6 entry.
Your secure connection path should be like this;
Now. you can send data packets - up to 6 entry - by using HTTP Get Request Method like here.
NodeMCU is an open source IoT platform, and also the name of an ESP8266 integrated development board. I used an ESP-12E V2.0 2.4Ghz in this demonstration project.
First of all, download its default board along with libraries from GitHub on here.
Add, the included libraries in the source code from example files - the rest of it is well-explained at the source code down below.
To make an HTTP Get or Post Request is simple and easy with HTTPClient Library, but if you make this request to a website protected with SSL Certificate like my website(TheAmplituhedron.com), you may need to learn how to manage to glean a website SSL FingerPrint or ThumbPrint from here.
http.begin(connectionPath, "SSL FingerPrint or ThumbPrint");
As I explained above, I choose to use a KY-039 Heart Rate Sensor and a DHT11 Temperature and Humidity Sensor for this demonstration project.
For getting heart rate from KY-039 sensor, I create a simple algorithm based on the average heart rate - 70 bpm.
Implement this library from here, to use DHT11 Temperature and Humidity Sensor module efficiently.
Connect DHT11 Sensor module and KY-039 sensor to the NodeMCU as depicted by the fritzing schematic and the source code.
Do not forget to connect the control led informing you whether the WiFi connection is ready to transfer data packets to the assigned database or not.
After all these steps, just upload the source code along with your WiFi settings, username and hedron to NodeMCU, and open your IoT Dashboard.
Astonishingly, you can monitor your data packets in every 5 seconds on your encrypted connection page, coming from your database table hosted on TheAmplituhedron server :)
Also, you can check your database state on your IoT Dasboard - Status Check Variable.
I hope that IoT Services, that of my website(TheAmplituhedron.com), may help you to create new projects by modifying the source code, with the benefits of Internet connection.
I will keep posting new demonstration projects about TheAmplituhedron IoT Services.
Hedron Authorization - Display Hedron on Dashboard, and Paste it to the source code
Monitor Data Packets via NodeMCU - Get Data Packets