Hi all, I am a beginner and trying to create a project with the Boron 404x and a stepper motor. I have everything working fine but I need some advice on how to achieve the following if possible. My cell phone app controls the stepper motor by connecting to the Boron and sending a movement command for forward or backward. I can send the signal via lte or ble once connected to the particle system, but there are circumstances when the device will be in an area without cell reception. I want the Boron to be able to use ble or wi-fi to send the command even if the cellular connection is unavailable. Is there a way to do this with the Boron when LTE is not an option or do I have to use a different approach altogether? Thanks so much for your advice.
The Boron module does not support Wi-Fi, so that will not be an option. However in the future there could be a different Particle device that might be an option.
The Boron does support BLE but not as its cloud connection. You can implement BLE to control the device in the way you have described, and it would work well since BLE has a much lower latency than cellular. However it would require both device firmware to implement the BLE requests, as well as something on a mobile device.
You could build a mobile app, either natively or using something like React Native, that would support both cloud communication over cellular as well as local BLE requests.
Thanks so much for the reply. So the ble code I wrote for the 404x was using the cloud connection instead of a local connection? I'm glad to know it's just my code then, so I will look into that and update it. I have a test app on my phone that sends the BLE request to the 404x and it currently works as long as I have a cloud connection. I just need to add firmware to the 404x to handle BLE requests, if I understand correctly, so it works independently. I really appreciate the help.
Yes, just make sure you use
SYSTEM_THREAD(ENABLED) in your firmware otherwise your firmware will stop running when not cloud connected so BLE won't work either. WIth system threading enabled they're independent.