Posted 36 Days Ago Job ID: 1778217 4 quotes received

Connect Bluetooth Sensor to Android

Fixed Price W9 Required for U.S.
Quotes (4)  ·  Premium Quotes (0)  ·  Invited (1)  ·  Hired (0)

  Send before: May 02, 2021

Send a Quote

Programming & Development Programming & Software

Need help communicating between an Amazon HD 10 Fire Tablet (android) and a sensor using a BL654PA (firmware v29.5.7.2.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.


PHASE TWO
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
Antonio S United States