Exploiting an IoT local middleware for the orchestration of mobile device sensors to detect outdoor and indoor user positioning