The idea was to make a low-cost IoT gateway using only open-source hardware and software, so anyone could customize it for their needs. The original plan was to mount the PocketBeagle computer, which would act as our gateway, to a customized version of the Texas Instruments CC1352R Launchpad. The CC1352R would handle the wireless communication between the gateway and the sensor nodes. The PocketBeagle and the CC1352R would communicate via UART, and a USB port would be included on the board for the inclusion of a Wifi module (an ethernet adapter would also work). Unforunately, the COVID-19 pandemic resulted in us unable to test a PCB, so we implemented the hardware on a breadboard.
The sensor used was the TI CC1352R SensorTag with the default
installed. The Launchpad ran the
app to collect sensor data and forward it to a collector app running on the PocketBeagle, which then was forwarded to the gateway app also on the PocketBeagle, which uploads data to Amazon Web Services, where our front end website displays the data. Both the gateway and collector app can be found in our github linked with our code.
Information about our cloud software can be found
- Using CCS, load the MAC Coprocessor app onto the Launchpad.
- Using the TI SensorTag app, load the sensor program onto the SensorTag.
- Remove the TDX and RDX jumpers from the Launchpad to send UART data to the UART pins instead of through USB.
- Connect the Launchpad to the PocketBeagle as shown in the wiring schematic with external power supplied.
- Download the collector and gateway programs to the PocketBeagle.
- Refer to
for configuring the cloud application.
- From the root folder of the PocketBeagle_Gateway repository, navigate to /examples/collector/ and run the collector app with "./run_collector.sh collector.cfg 2>&1 | python3 WebsocketClient.py &".
- Navigate to /examples/gateway and run the gateway application with "./run_gateway.sh"
- Navigate to <pocketbeagle’s ip>:1310 in a web browser on the same local network to access the gateway app, and open the network from there.
- Then set the PANID as described in the sensor app firmware