Bluetooth Low Energy (BLE) Support in Amazon FreeRTOS is now in beta

DanN-AWS wrote on November 27, 2018:

BLE support in Amazon FreeRTOS is now available in beta. You can securely connect Amazon FreeRTOS devices that use BLE to AWS IoT through Android and iOS devices.

Amazon FreeRTOS is an IoT operating system for microcontrollers that extends the FreeRTOS kernel with software libraries for security, connectivity, and updateability to make small, low-powered edge devices easy to program, deploy, secure, connect, and manage. Amazon FreeRTOS is open source, free to download and use, and provides everything you need to easily program connected microcontroller-based devices and collect data from them for IoT applications. You can scale those applications across millions of devices. Amazon FreeRTOS includes libraries that help configure devices to a local network using common connectivity options like Wi-Fi, Ethernet, and now via a connection to Android and iOS devices using BLE.

You can get started by downloading source code and the SDK for either Android [https://github.com/aws/amazon-freertos-ble-android-sdk] or iOS [https://github.com/aws/amazon-freertos-ble-ios-sdk] from GitHub. View the Amazon FreeRTOS User Guide [https://docs.aws.amazon.com/freertos/latest/userguide/what-is-amazon-freertos.html] or the Amazon FreeRTOS website [https://aws.amazon.com/freertos/] for more information.

amijic wrote on June 02, 2019:

Greetings,

Currently I am porting Amazon FreeRTOS on my nRF52840 DK and trying to connect to the cloud with mqtt proxy on my android device. After configuring the demo and downloading the android app on my phone, I couldnt find some of the constants that needed to be defined. I could not find amazon-freertos-ble-android-sdk/app/src/main/java/com/amazon/aws/freertosandroid/MainActivity.java.

In the end I configured the json file and DemoConstants.java in wich I wrote:
AWS_IOT_POLICY_NAME:
AWS_IOT_REGION:

In json file I configured:
Under CognitoIdentity, redefine the following variables:
PoolId: Your Amazon Cognito identity pool ID.
Region: Your AWS Region.

Under CognitoUserPool, redefine the following variables:
PoolId: Your Amazon Cognito user pool ID.
AppClientId: Your app client ID.
AppClientSecret: Your app client secret.
Region: Your AWS Region.

Then I installed the app on my android device and started a BLE demo on my board.
First problem is related to my android app, I could not click “More…” option on my device.

The RAM must start at 200046f8, it’s size must be 3b908
Common libraries successfully initialized.
No networks connected. Waiting for a network connection.
2 989 [BLE] Requesting to update ATT MTU to 247 bytes on connection 0x0.3 989 [BLE] sd_ble_gattc_exchange_mtu_request() on connection 0x0 returned busy, will retry.4 989 [BLE] BLE Connected to remote device, connId = 0

Successfully initialized the demo. Network type for the demo6 989 [iot_thread] [INFO ][MQTT][9890] MQTT library successfully initialized.
MQTT demo client identifier is XXXXXX (length X).
Numeric comparison:“some numbers”
Press ‘y’ to confirm
UNKNOWN BLE EVENT 35

Edited by: amijic on Jun 2, 2019 8:56 AM

Edited by: amijic on Jun 2, 2019 8:57 AM