In this hands-on tutorial with code you can download and run, we guide you through creating an On-Premises IoT solution. By the end of this guide, you'll not only have a functional IoT server set up locally but also learn how to transition it to an online server.
We will act as IoT consultants and design the complete solution based on the following fictitious requirements:
Pilot Project Requirements
Implement a simple use case scenario that demonstrates key functionality used in our final solution. This will allow us to experience the reliability and performance of the framework to give us the confidence to move to the full implementation. The idea is to make it as simple and quick to develop as possible. Console trace messaging is acceptable for user feedback.
Event data to include the esp32 RTC timestamp and if it is rising edge (value 1) or falling edge (value 2). The esp32 time does not need to be synchronized.
The frequency should be adjustable (just in a code file variable) from 1 to 10Hz.
Mako server sqlite database to contain the following columns.
The following video shows how the On-Premises solution must work:
We used ChatGPT for our project's initial code. While the output, especially for SMQ, required corrections, ChatGPT was instrumental in simplifying the early design stages. It provided a base that we later refined. The complete ChatGPT conversation detailing the development of our IoT solution is available in an MHTML file included in the download. This file can be viewed in any standard web browser. The discussion in this file details the inner workings of the On-Premisses IoT solution.
Get the full experience of our On-Premises IoT Solution foundation by downloading the demo. The entire package is available as a zip file for your convenience.
Download the zip file, extract its contents, and begin by reading the demo/README.txt for guidance on how to proceed.
Migrating your solution to an online server is a straightforward process. For detailed guidance, refer to the Mako Server tutorial titled How To Set Up an Environmentally Friendly IoT Solution, which outlines all the necessary steps.
Once you have installed the solution, ideally using the provided ready-to-use script, navigate to the online server's included Xedge IDE for the Mako Server. Within the IDE, you'll need to remove the existing solution. Then, replace it with the server code from this example to complete the transition.
Graviti Energy sought a cutting-edge IoT solution to power cycle their car charger stations remotely, and they turned to us for our expertise. We took the challenge by developing a robust IoT solution, leveraging our SMQ IoT protocol, and meeting their unique requirements.
Navigating the world of embedded web servers and IoT can be daunting. Our consulting services are here to provide instant expertise. But our tutorials are ready if you're looking for a self-paced journey. Every challenge, every ambition, we've got your back.
Expedite your IoT and edge computing development with the "Barracuda App Server Network Library", a compact client/server multi-protocol stack and IoT toolkit with an efficient integrated scripting engine. Includes Industrial Protocols, MQTT client, SMQ broker, WebSocket client & server, REST, AJAX, XML, and more. The Barracuda App Server is a programmable, secure, and intelligent IoT toolkit that fits a wide range of hardware options.
SharkSSL is the smallest, fastest, and best performing embedded TLS stack with optimized ciphers made by Real Time Logic. SharkSSL includes many secure IoT protocols.
SMQ lets developers quickly and inexpensively deliver world-class management functionality for their products. SMQ is an enterprise ready IoT protocol that enables easier control and management of products on a massive scale.
SharkMQTT is a super small secure MQTT client with integrated TLS stack. SharkMQTT easily fits in tiny microcontrollers.
An easy to use OPC UA stack that enables bridging of OPC-UA enabled industrial products with cloud services, IT, and HTML5 user interfaces.
Use our user programmable Edge-Controller as a tool to accelerate development of the next generation industrial edge products and to facilitate rapid IoT and IIoT development.
Learn how to use the Barracuda App Server as your On-Premises IoT Foundation.
The compact Web Server C library is included in the Barracuda App Server protocol suite but can also be used standalone.
The tiny Minnow Server enables modern web server user interfaces to be used as the graphical front end for tiny microcontrollers. Make sure to check out the reference design and the Minnow Server design guide.
Why use FTP when you can use your device as a secure network drive.
PikeHTTP is a compact and secure HTTP client C library that greatly simplifies the design of HTTP/REST style apps in C or C++.
The embedded WebSocket C library lets developers design tiny and secure IoT applications based on the WebSocket protocol.
Send alarms and other notifications from any microcontroller powered product.
The RayCrypto engine is an extremely small and fast embedded crypto library designed specifically for embedded resource-constrained devices.
Real Time Logic's SharkTrust™ service is an automatic Public Key Infrastructure (PKI) solution for products containing an Embedded Web Server.
The Modbus client enables bridging of Modbus enabled industrial products with modern IoT devices and HTML5 powered HMIs.