Boards
Bluetooth Communication
Bluetooth is a simple wireless communication protocol that allows data exchance between two devices that have Bluetooth capability. There are two version of Bluetooth: Classic and Bluetooth Low Energy (BLE). We will be using BLE in our app. While it is a bit more complicated to implement it more more reliable and the preferred protocol for IoT solutions.
Understand Bluetooth in detail.
Manage Boards
A board is the microcontroller you are using to build your circuit. It could have in-built BLE support (such as with the ESP32) or have a BLE module connected (such as the HM-10). BLE communicates using the concept of services and characteristics. The app creates two services for each board by default and a characteristic for each connected sensor and device. See below for more details.
To create a board enter the following details in the form:
- Name
A short name to identify the board. Note that the actual BLE connection is handled at the OS level not by the app. The name of the board must be exactly as configured in the microcontroller since that is what is detected when the OS is searching for BLE devices to connect to. - Description
A short description of the board. - Type
Select from the list of supported boards. This is not specifically relevant to the app functionality but it provides a pinout view for your reference (click on the pinout button after selecting a type.) - Enabled
The board is enabled by default but can be disabled if you don't want to use it for a while. - Connected Sensors
This is a read-only list. The actual board mapping is done when configuring a sensor. If pins are reused across multiple sensors or devices it is highlighted here as an error. - Connected Devices
This is a read-only list. The actual board mapping is done when configuring a device. If pins are reused across multiple sensors or devices it is highlighted here as an error. - BLE Services
The app auto-generates Service UUIDS for two BLE services for the board: SENSOR_DATA_SERVICE and CONTROL_SIGNAL_SERVICE. When creating sensors and devices a CHARACTERISTIC UUID is generated for each one and displayed here for those that are connected to the board. These UUIDs must be programmed into the microcontroller code for the app to be able to exchange data with the board.
See the screenshot of the Manage Board page below:
Board List View
The board list view shows all the boards with their details and status. You can connect and diconnect from boards as required. See the screenshot of the Board List below.