GSoC23: BeaglePlay Greybus Demo
Hello everyone. My project is now at a point where almost everything is working to a respectable level. Thus I wanted to do a demo. Check out my GSoC 2023 Introduction post for more information about my project.
Setup
BeaglePlay Linux Host
The BeaglePlay Linux host will be running beagleplay-linux-driver. The Linux Host serves as AP and communicates with SVC (CC1352) over HDLC UART.
I will also be running the following script on the Linux host. It repeatedly calls iio_info
, which displays IIO devices and their attributes. The humidity and optical sensors in BeagleConnect Freedom show up here once the greybus connection is successfully established.
#!/bin/sh
while
do
done
BeaglePlay CC1352
The BeaglePlay CC1352 will be running cc1352-firmware. This zephyr application performs the SVC and APBridge roles in greybus topology.
BeagleConnect Freedom
The BeagleConnect Freedom will run greybus-for-zephyr sample application. This is the same as the one used in the GBridge setup.
Video
Here is a video of the demo running on my hardware.
Limitations
The current setup has three main limitations:
- Updating CC1352 firmware requires restart. This makes the development process slower.
- Beagleconnect greybus node disconnects if it is ideal for too long.
- BeaglePlay CC1352 does not perform actual service discovery.
Conclusion
I will now work on making a single device “just” work. This will involve optimization and ironing out bugs. Once that is done, I will move on to tackle the limitations.
Consider supporting me if you like my work.
Build Artifacts
Here are the CI build artifacts for anyone wanting to test this out: