Open-source Middleware Software Solutions For IoT Applications