Because of the hype on the Internet of Things (IoT), I went digging up some stuff I have been doing in this area in the past.
Back in 2005 we build a system which today would be called an IoT-solution. The hype-term then was to build a M2M (machine 2 machine) communication system, but with all the challenges we face today in the IoT domain.
One of the things was creating a reliable (and secure) messaging system, because the system would be processing alarms generated by devices in hospitals. These devices would send messages which had to have guaranteed delivery and some escalation scenarios because the lives of patients depend on it.
When I come to think about it, it was also my first project where we introduced TDD because of these critical scenarios and my first mobile project as well (.net compact framework running on industrial devices...)) AND my first introduction to functional programming with Erlang.
On this project we started using a protocol called XMPP which had all the characteristics we wanted. The messaging servers where running ejabberd which still is one of the fastest and most reliable messaging solutions I know, written in Erlang (the same language used for messaging systems by Facebook, Whatsapp and RabbitMq)
So, why am I sharing these memories with you? Well.... just to show you the IoT has been around for quite some time now and all kind of solutions where already invented. For me, this is a reminder on some cool technology I did already and I went to dig up this knowledge and play with it further with the current state of technology.