A tool to automate device programming for IoT applications :