Issue link: https://resources.mouser.com/i/1442841
12 / Concept to Creation: Practical Applications for Smart, Connected and Secure IoT Solutions Figure 3: IoT Controller by Medium One (Source: Mouser Electronics) Configuring Medium One Medium One provides IoT developers a platform where their IoT devices can communicate and compile data sets from across multiple IoT devices (Figure 2). They provide an excellent tutorial on getting started with their service. This guide will focus instead on the gotchas that we experienced in setting up the Microchip Technology Xplained board to communicate with Medium One via their MQTT API. This project will leverage the Medium One's MQTT (Message Queuing Telemetry Transport) protocol. MQTT is a publish-subscribe-based messaging protocol. It sits atop the TCP/IP protocol. MQTT, as opposed to RESTful APIs, requires a centralized message broker. Thus, endpoint devices cannot directly communicate with each other. This has pros and cons. Whereas RESTful APIs rely on the client to always initiate communications, MQTT allows a server to push data, thanks to the publish/subscribe (Pub/Sub) architecture. RESTful devices can communicate with each other directly. MQTT relies on a centralized message broker (e.g., a server in the cloud) and is much more efficient for transmitting this type of telemetry data. Cloud and Smartphone Application Medium One offers easy-to-use resources to create a basic smartphone app to interact with IoT devices. The apps are currently only available for iOS devices, but Android support is expected. For this project, download the "IoT Controller" by Medium One for the Apple iOS App Store (Figure 3). Figure 2: Configuration screen for Medium One. (Source: Mouser Electronics)