The schematic below shows the basic setup of the system. Within this project, the off-grid application block consists of a (small) demonstration solar panel, supplying approximately 3.5 W peak power in the open sun. The panel is connected to a maximum power point tracker (MPPT) that optimises the current draw from the panel. At the input of the MPPT a current sensor is installed to monitor the amount of current coming from the panel. A small 6600 mAh battery is connected to the output of the MPPT as well to store the energy harvested by the solar panel. For this demonstration project, a simple red led is connected in parallel to the output of the MPPT and the battery. The led draws roughly 20 mA and serves as a visual dummy load. Another current sensor monitors the amount of current to charge the battery and power the led at the output of the MPPT. The current sensors output the measured values on an I2C line of a micro-processor. For demonstration purposes, the following additional sensors with I2C output are connected to the micro-processor as well:
All sensors are on the same I2C bus of the micro-processor so together with the data from the current sensors it gives a pretty complete picture of what conditions the solar panel is operating in.
The micro-processor is programmed with customised software that retrieves and collects the measured data from the sensors attached to the I2C line. To transmit the collected data to the user, a GPRS module with sim card is connected to the micro-processor. The micro-processor software communicates with the GPRS module over a serial line and connects the module to the network, similar like when a mobile phone is powered on. First, the micro-processor retrieves the latitude and longitude data from the GPRS module and adds this to the collected data from the sensors. Using the MQTT protocol, the micro-processor subscribes to a broker running on a server via the network and publishes the collected data. The entire "off-grid application" unit or system can also be referred to as 1 IoT node.
It is easy to imagine that on the same principle more IoT nodes can be added to system. In reality this is mostly also the case. On the server that runs the broker another program is running that has a subscription to the broker as well. This program monitors the incoming messages on the broker and, in this example, copies the received data in the messages to a database on the server. On this website, a script is running that reads the database on the server every 15 seconds and displays the data from the database "live" in the table on the IoT Demo page.
Similarly, it is possible to communicate in reverse direction, i.e. from the website to the IoT node(s). For this example the IoT node has been programmed to read messages from the broker as well. This way, it is possible to send messages to the node and turn functions on or off for example. Alternatively, it is possible to write a program that evaluates the data and takes decisions when (pre-programmed) limits are reached. This program can run basically anywhere: on your own computer, on the server or, and now it gets interesting, on another IoT node. This way it is possible to let IoT nodes communicate with each other and affect each others behaviour. This is also called the Internet of Things. Your imagination is the limit.
5431 GJ Cuijk
Telephone +31 6 20 40 61 02
Chamber of Commerce Arnhem 72696311
Bank account NL73 INGB 0660 0296 77