Cloud Oscilloscope backend architecture


We're working on a backend for our Cloud Oscilloscope project. On the last meetings we decided to use common technologies for IoT to connect our device with backend.



It is a heart of our service. MQTT is well described and easy to use protocol. Many frameworks have a library to use MQTT. Besides of this we have an expirience to use MQTT with esp8266, mosquitto server, golang and javascript clients.

For the Open IoT Challenge we will use an Eclipse sandbox


We need a database to store data from oscilloscopes by some rules. We don't need only store data. We need to make a diff from oscilloscopes at different types. Usually we work with PostgreSQL in web projects.


It subscribes to the device topic, gets data from oscilloscope via MQTT and saves in PostgreSQL. Nothing else. Written in Golang.


We use Rails framework for making web-services. It will be a standalone website with common (like authentication, user management) and custom features. The main goal of this service is make oscilloscope's diffs from different times. We want to make diffs like at Github, where we can show someone that device is really broken or working. It useful when you work with embedded device and try to figure out what is really wrong when your device broken or works incorrectly. You can just make oscillogram from both devices and compare them into diff. And, of course, make a paste with diff like pastebin.com and share it with colleague/friend. :)

Don't forget that Open IoT Challenge ends at 15 March! Cya