Recently, I participated in Polytecnique’s Executive Education program, giving classes for the hands-on session, which means, wiring the boards, connecting different kinds of sensors, writing programs to drive the hardware, and eventually building connected objects for the “smart” world!
X’s IoT executive education program (more information) aims at providing the best IoT education to experienced engineers, project manages, consultants, etc. who are interested in exploring the future “connected smart world”. Different from the “fresh” students that I usually work with at X, the participants of the executive IoT program are much more experienced with different backgrounds: network engineers, project managers, consultants, founder of startups, etc. Therefore, for me, giving the class means not only sharing my knowledge with them, but also getting to know what are their expectations (especially from industry) for IoT, and what are the real problems that they face. No need to say, it was great experience.
Before the hands-on session, the participants had already classes on network protocols related to IoT (from basic TCP/IP to LoRa, 802.15.4, CoAP, etc.) and protocol verification.
The purpose of the hands-on session is to build smart things that can speak, feel, listen, see, communicate and think. We begin with “sensing the physical world” based on Arduino boards, which includes temperature, humidity, distance, light intensity, sound, etc. with wide arrange of sensors provided by our networking lab at X.
After getting familiar with the *local* input/output, we continued with the communication part: have the things connected. Knowing the heterogeneous nature of layer 2 technologies, we played with different kinds of radios: Bluetooth, 802.15.4, LoRa, Sigfox, WiFi, etc.
Of course, sending the message across one-hop is too boring, so we actually built a multi-hop network with static routing: (yes, I know, it would be even more interesting to implement a dynamic routing protocol — but we have only 2 hours in the class)
With the basics on manipulating sensors and radios, we continued with the “brain” for IoT: the operating system. It’s true that Arduino provided a fairly handy interface to the hardware, but there are still some limitations, especially on the support of multi-threading and network protocol stack. So we studied the RioT OS, one of the most recent and popular operating systems designed for IoT, and FreeRTOS which can be easily integrated with Arduino sketchs.
The final day was the “I” of IoT: connecting to the Internet. Our participants are free to build their own small projects, including a sensing part, a communication part and a “uplink” to the Internet. For example, sending a mail notification (and possibly taking a picture) when someone gets into a room, twittering messages regularly about the information of the environment (temperature, humidity, pollution, etc.), using the OS for IoT to process real time data, etc.
It was a great pleasure to work with our participants in such excellent occasion and learn IoT technology by actually building smart things. Thanks very much to all the students and my colleagues who worked hard in the program to make it a great journey!