Half the fun of being a developer is building things just because you can.
Take us, for example.
We have a lab filled with development kits, boards and devices that we can combine for testing and demonstrations. So, when the Developer Relations team asked us to put together a demo that would use LTE, Wi-Fi and Bluetooth low energy (BLE), they didn’t need to ask us twice.
“What’s the use case?” we wanted to know.
“It’s up to you,” they said. “Something IRL, though. And don’t make it inscrutable. People at trade shows and conferences need to understand it right away. Plus, we want to publish it with our other projects so developers can replicate it and modify it.”
Three radios, three boards and a music festival
First, we brainstormed scenarios like soccer matches or football games in large, outdoor venues with tens of thousands of attendees. But the demo had to include a realistic dependence on LTE, and in most stadiums, sports fans ride the free Wi-Fi instead of using their own data.
“How about a music festival?’’ somebody asked. “Whether it’s Woodstock or Coachella, most music festivals take place in a huge expanse of land with just a few pop-up structures. There’s almost nothing in place and the organizing company has to stand up a lot of ad hoc wireless infrastructure.”
That worked. We came up with three music festival-related demos (left to right in the photo above):
- Mission Control — From trash receptacles, beverage coolers and restrooms throughout the music festival, sensors send data to an intelligent gateway (the DragonBoard™ 410c Development Board). Organizers monitor the venue through a dashboard running on the gateway and take immediate action to keep event services running smoothly.
- Center Stage — Proximity sensors tied to a QCA4020 Tri-Mode Development Kit near the stage detect the degree of audience engagement. Organizers vary the genre of music; then, depending on the amount of audience motion its proximity sensor detects, the kit will use BLE to drive an interactive light show.
- Merchandise Cart — Wi-Fi can be spotty in such a large venue, so merchandise carts circulating throughout the festival require LTE connectivity. Each cart uses an MDM9206 Development Board running an application developed using the LTE for IoT SDK to report current location and inventory levels. Organizers track these centrally to promote and monitor sales, and to deploy and re-stock carts.
With the theme of a music festival and three boards running four different wireless technologies, we went into the lab and started building.
Mission Control — DragonBoard 410c and Node.js
For Mission Control, we chose the DragonBoard 410c from Arrow Electronics. The demo uses the application processor as a smart gateway running a Node.js web application in the Chrome browser.
You start by installing Node.js and a process manager module on the DragonBoard 410c, cloning the Mission Control app from a GitHub repo and launching the app. In the Chrome browser, you’ll see a notification from the demo app regarding the sanitation situation at the music festival.
The demo simulates sensor data from trash receptacles around the festival, showing percent-full figures. You can click and drag the worker icon to deploy a member of the service team to any receptacle and empty it. In the image below, we send a worker to empty a receptacle that is at 54% of capacity.
With 802.11 b/g/n and the APQ8016E processor, the DragonBoard 410c easily accommodates local processing and analytics. You can extend the project to include AWS Greengrass locally to process the sensor data and sync with AWS IoT in the cloud.
The Mission Control project demonstrates the advantages of using the board as an intelligent gateway for edge computing: stronger privacy, reduced dependence on the connection to the cloud and decreased data traffic to/from the cloud.
Center Stage — Proximity sensors and Wi-Fi-Bluetooth concurrency
Here, our goal is interactivity at the heart of the music festival, where we tie IoT into lighting, music and the mood of the crowd. To demonstrate how devices could talk to other devices over different radios, like Wi-Fi, BLE 5 and Zigbee/Thread, we used the QCA4020 Tri-Mode Development Kit. We also used the DragonBoard 410c, again as a smart gateway running a Node.js application that sends notifications when audience activity sags.
The project takes you through all the steps for the demo.
- From a GitHub repo, you download and build the application, then flash the QCA4020 board with it using OpenOCD.
- Using the PLAYBULB X mobile app, you configure the MIPOW rainbow Bluetooth bulbs that represent the light show at the music festival.
- On the DragonBoard 410c, you install Node.js and the process manager, configure the board to talk to speakers like the JBL Pulse 3 over Bluetooth and copy in song files from several different genres of music. (Since we show all three projects side by side, we can run more than one project on the same DragonBoard 410c.)
When connected, the QCA4020 kit and the DragonBoard 410c demonstrate the kind of monitoring, analytics and control that could keep a crowd engaged at a music festival.
The projects play music through Bluetooth-connected speakers, detect audience engagement through motion sensors and responsively change settings on Bluetooth-connected light bulbs. The AWS IoT cloud service gathers metrics on the crowd’s reaction to the music and a touchscreen monitor connected to the QCA4020 kit displays the metrics.
Use the Center Stage project for discovering how to extend your IoT products through multimode connections among devices with different wireless standards. With a single QCA4020 board, you can not only communicate but also work across Wi-Fi, Bluetooth and 802.15.4 (Zigbee/Thread) ecosystems without worrying about additional hubs and routers.
Merchandise Cart — LTE modem and GPIO-connected sensors
Because Wi-Fi coverage at a large, outdoor event can be inadequate or unreliable, the Merchandise Cart project demonstrates monitoring and location services over LTE. We built this project around the MDM9206 cellular modem built into the LTE OPEN EVB Kit from Quectel.
Source code in a GitHub repo contains Python scripts that run on the DragonBoard 410c and a web application that runs in an Amazon Elastic Compute Cloud (EC2) instance. Then, you make a sensor mat for the top of the merchandise cart and set beer bottles on it.
- The mat sends data to GPIOs on the DragonBoard 410c, which tracks the number of remaining beer bottles.
- The DragonBoard 410c sends the inventory data through the LTE modem to the web application running in EC2.
- Current inventory and low-level notifications appear in a browser on a touchscreen connected to the AWS cloud dashboard.
- The LTE OPEN EVB board also supports the same GPIO connections from the sensor mat. It can run an application on the 1.3 GHz ARM Cortex A7 CPU of the MDM9206 modem to handle the sensor data.
- When you remove one bottle, the app shows the bottle count decrement by one; when you remove a second bottle, the app issues an alert to send another merchandise cart. (Every concert organizer wants to keep supply on par with demand.)
- The app lets you use the touch screen to drag and drop an additional merchandise cart where needed to maximize revenue.
With the Merchandise Cart project, you can start or improve your IoT development on cellular modems. The LTE for IoT SDK includes pre-integrated support for cloud platforms like AWS IoT, Alibaba Cloud Link One, China Mobile OneNET, DTSTON DTCoud, Ericsson IoT Acceleration, Gizwits and Verizon ThingSpace.
By the time we came out of the lab, we had built, tested and documented all three projects. Our Developer Relations team had scheduled demonstrations at our booths at Amazon’s re:Invent conference, International CES and Embedded World 2019.
On the Projects page of the Qualcomm Developer Network you’ll find the bill of materials and programming instructions you need to build all three projects and run your own demonstrations. The projects are accessible to developers with experience writing Android apps, and each one works independently of the others. That means you can build them individually or together, depending on your use case and the radios you need. And, of course, you can modify the code as you like.
Are you looking for a good way to dip your toe into IoT and embedded programming? Trying to get familiar with interoperability among four dominant radios? Want to simulate your own music festival? Try our projects. We had fun and got paid for it, and maybe you can, too. Isn’t that what life is all about when you’re a developer?