Need help communicating between an Amazon HD 10 Fire Tablet (android) and a sensor using a BL654PA (firmware v18.104.22.168.r2) by Laird Connectivity. See https://www.lairdconnect.com/wireless-modules/bluetooth-modules/bluetooth-5-modules/bl654pa-series-long-range-bluetooth-module
The BL654 has its own MCU, memory, and internal temperature sensor, Datasheet is attached. It also has an spi and i2c interface that will be hard wired to 3 other sensors. The wired communication with each sensor will be done by writing a hex string to the sensor, and the sensor will reply with a hex string. There are three wired sensors connected to each BL654. We call this BL654/Sensor system a "module". Programming is required on both the BL654 as well as the android tablet.
Programming of the BL654 is done in smart basic. The android is done in java.
I am using android studio for android programing.
Your task would be to write a piece of code for the Module and the Android. The function of the module would be to write a different strings to each of the 4 sensors and capture each sensor's response. Then make a GATT connection to the Android to provide that set of data. Your Android code must be able to complete the BLE/GATT connection and receive the strings into a variable that I would use elsewhere in code that is already existing.
Lots of sample code is available at https://github.com/LairdCP/BL654-Applications/tree/master
The commands to the wired sensors are unknown, so for now just use a variable that is assigned in the beginning of your code.
After the above is tested and working, you would then add to the code so that after the data is sent to the android. It would change the state of 3 GPIO pins and hold it for 5 seconds, then go into deep sleep mode. Then an exertnal low voltage signal that I provide to pin 19 would reset the device, see table 22 on page 31 of the datasheet. After reset, the module would read and send the sensor data again. Then it would goto deep sleep again and wait for another external low volt to do it all again. ... Show more