Hi All, I’m building a device that I would like to add cellular connectivity to. I’m looking at the Boron and have read the datasheet. I see it has a UART, SPI, I2C and USB but what’s not clear to me is, do all these interfaces allow me to control the device and move data, or is the UART the only interface that allows that?
Can you clarify what you mean with “control the device and move data”?
SPI and I2C are by definition bidirectional interfaces and are fully implemented as such.
For USB it’s also bidirectional but is only implemented as USB client and no host functionality.
Hence you can use them all to “move data” either way and “control the device”, as long your code implements these actions - as you’d need to do with UART just the same.
What I mean by move data is, to and from the Internet. I want to be able to collect log files from devices in the field, and also push configuration files to them. I may also want them to report data routinely for monitoring purposes. I understand that I can not initiate a connection to a cellular modem, so i want the modem to connect to me (or a cloud service) so data can be passed to and from.
Other devices I have looked at have I2C and SPI interfaces, as well as a UART interface, but the only way to control the modem and send or receive information, via the Internet, was to use the UART and an AT command set.
Currently my device does not have an available UART but it does have an I2C bus. If these devices let me control them and send and receive data via the Internet using I2C that would be great. Otherwise I’ll probably need to add an I2C to UART bridge to my device.
For inter-processor/controller/sensor communication you’d still use any of these wired interfaces.
But for radio communication you wouldn’t directly talk to the callular modem but rather use either Particles cloud APIs or for a more general protocol use the provided TCPClient, TCPServer or UDP objects.
I am considering adding a Boron to my device to give cellular connectivity to my device. So the logs are generated by my device, which I want to add a cell modem to.