iOS SDK for FreeRTOS Bluetooth Devices

CocoaPods Version License Platform

Introduction

Using the iOS SDK for FreeRTOS Bluetooth Devices, you can create mobile applications that do the following:

  • Scan for and connect to nearby BLE devices running FreeRTOS

  • Provision Wi-Fi networks for a BLE device running FreeRTOS

  • Act as a proxy for transmitting MQTT messages between a device running FreeRTOS and the AWS IoT cloud

Setting Up the SDK

To install the iOS SDK for FreeRTOS Bluetooth Devices

  1. Install CocoaPods: $ gem install cocoapods $ pod setup

Note

You might need to use sudo to install CocoaPods.

  1. Install the SDK with CocoaPods (In Podfile):

Newer version of the freertos firmware use CBOR encoding, please use:

pod 'AmazonFreeRTOS'

Older version of the freertos firmware use JSON encoding, please use:

pod 'AmazonFreeRTOS', :git => 'https://github.com/aws/amazon-freertos-ble-ios-sdk.git', :tag => '0.9.4'

For FreeRTOS

https://github.com/aws/amazon-freertos release 201906.00_Major and after

Contents

All main functions are defined in

AmazonFreeRTOSManager.swift

AmazonFreeRTOSDevice.swift

These functions include:

AmazonFreeRTOSManager

BLE Helper Functions

The SDK includes some functions that help you perform BLE operations with Amazon FreeRTOS devices:

// Start scan for FreeRTOS devices.
startScanForDevices()

// Stop scan for FreeRTOS devices.
stopScanForDevices()

//  Disconnect. Clear all contexts. Scan for FreeRTOS devices.
rescanForDevices()

AmazonFreeRTOSDevice

BLE Helper Functions

The device ble options:

// Connect to the FreeRTOS device.
connect(reconnect: Bool, certificateId: String? = nil, credentialsProvider: AWSCredentialsProvider? = nil)

// Disconnect from the FreeRTOS device.
disconnect()

MQTT Proxy Service

MQTT proxy service start automatically

Network Config Service

The network configuration service configures the Wi-Fi network of the FreeRTOS Device. Its functions include:

listNetwork(_ listNetworkReq: ListNetworkReq)
saveNetwork(_ saveNetworkReq: SaveNetworkReq)
editNetwork(_ editNetworkReq: EditNetworkReq)
deleteNetwork(_ deleteNetworkReq: DeleteNetworkReq)

Documentation

https://aws.github.io/amazon-freertos-ble-ios-sdk/

Demo Application

The SDK includes a demo application that demonstrates some of the main features of the SDK. You can find the demo in Example/AmazonFreeRTOSDemo.

License

This library is licensed under the Apache 2.0 License.