We’re glad to announce IoNeeds Open IoT Project’s final post for Eclipse Open IoT Challenge. This post explains our final solution and contains all functions and features of IoNeeds smart jars project. Also we made a video to explain how is it working at the end of the post.
First of all, I want to say thanks to Eclipse and especially Benjamin Cabé for the contest and also supporting to our projects. It’s a big opportunity to show our IoT works internationally. In addition to this, we all have got the chance of comparing our work with other IoT solutions and gaining experiences from not only our work, but also other solutions in the challenge. Also thanks to the challenge, we have used and developed a lot of open source IoT softwares. We’re so glad to publish MQTT Bridge Rule Manager as an open source software and we think it will be a good MQTT tool for developing smart products based triggers and rules.
Before starting, I strongly recommend that reading all posts on ioneeds.eercan.com blog to understand all functions of IoNeeds. We explained each feature step by step while developing.
If we want to summarize the project; IoNeeds is an open IoT smart jars project. Modules on the jar lids measure fullness, temperature, humidity and light in the jar and send the data to IoNeeds hub over Bluetooth. IoNeeds hub made from Raspberry Pi and it has a bluetooth module which connects all defined IoNeeds jars to collect sensor data over Bluetooth. An infinitive number of jars can be added to IoNeeds ecosystem. Collected data sent from IoNeeds hub to cloud and MQTT server seperately. On cloud server, Nimbits platform is installed and it provides data logging, monitoring, graph plotting and also advanced features for data analyzing. On MQTT server, there is a MQTT Bridge Rule Manager software listens devices’ MQTT topics and performs rules which defined before. It is developed from us and published as open source on github. Using this MQTT bridge, IoNeeds jars can connect hundreds of smart products and services over IFTTT, also call auto-purchase API when the goods in the jar is end.
Feature list of IoNeeds:
– Measuring temperature, humidity, light, fullness
– New devices (jars) can be added.
– Uses bluetooth for collecting sensor data efficiently
– Uses MQTT for transfering data to server and uses Eclipse paho-mqtt as MQTT client
– Uses Nimbits service as data acquisition platform to monitoring, logging, graph plotting
– Can perform rules which can easily defined on rule manager
– Can connect hundreds of smart products and services over IFTTT
– Can perform API calls like auto-purchase from web when the goods in the jar is end.
– Uses a lot of open source libraries and softwares and all own sources are open for helping new open IoT projects
Parts of IoNeeds:
Jar lid part
Jar lid part contains sensor module and control & communication module to send data to IoNeeds hub. New jar devices can be added to the IoNeeds ecosystem. We produced and defined 2 IoNeeds jars in the system. Now, we’re looking only one of these.
(As you remember, we have shared our PCB design, and we were planning to do them with printed PCB. But because of shipment troubles of PCB producer from Chine, we could not receive the printed PCBs before final post. However, we shared our PCB desing and if you are interested in the PCB design of IoNeeds, you can download and use it.)
Sensor module has
- HC-SR04 as ultrasonic distance sensor to measure fullness of the jar
- LDR sensor for measure light of the jar
- DHT22 sensor for measure temperature and humidity of the jar
Control and communication module has
- ATMEGA328 as microcontroller
- HC-05 module as Bluetooth module to send data to IoNeeds hub
- 9V cell as power source
IoNeeds hub has
- USB Bluetooth dongle for receiving Bluetooth data
- USB Wi-Fi dongle for connect to internet
IoNeeds hub is a Raspberry Pi board and it requires only a power source. It can be stay any place in your home (Of course, if you don’t have a huge home)
You can find all sources as open source in previous post.
- Cloud services and MQTT sources should be installed our own servers to work with maximum performance. When we use public MQTT servers and public cloud data acquisition platforms, we had a lot trouble about them like connection delays, source limitations.
- We learned about configuration, pairing and connecting bluetooth modules in advanced level. Bluetooth modules can connect only one module but a simple python program can connect more than one bluetooth module in order quickly. In addition to this, there should be minimum 2 seconds delay between connections to avoid unstable working of bluetooth modules
- Small USB Wi-Fi and Bluetooth modules aren’t performing great performance. The expensive and good quality ones should be preferred.
- We improved our open source soul. We didn’t know much about open source libraries and softwares before Eclipse Open IoT Challenge. But now, we’re not only using these open source sofware but also developing and sharing new open source software on internet.
- We gained a lot of IoT software and hardware experince thanks to our work and also other works in Eclipse Open IoT Challenge. Thanks to these, if we meet an IoT problem, we can recommend a lot alternative solutions about it.
It’s not a good bye! We can continue to develop IoNeeds with your contributions. Please contact us if you have an idea for IoNeeds!
Emir & Utku