프로젝트 #020: UART to Bluetooth Low Energy Bridge | Cypress Semiconductor
프로젝트 #020: UART to Bluetooth Low Energy Bridge
In today's project, we demonstrate a custom Profile to implement a UART-BLE bridge using the BLE Pioneer Kit.
When Bluetooth (classic) was released, it featured a Profile called SPP (Serial Port Profile) that allowed for easy cord-cutter designs that wanted to replace typical USB products with Bluetooth classic interfaces instead. With Bluetooth Low Energy (BLE), no such standard Profile for serial ports is provided by the Bluetooth SIG. This is primarily due to the fact that Bluetooth Low Energy was not designed for high data-rate applications, and instead focuses on low-power sensor node applications. BLE's GATT Adopted Profiles are more application-centric, with Profiles for Heart Rate Monitors, Phone Notifcations, etc.
In this project, we implement a custom Profile to create a Bluetooth Low Energy to UART bridge, enabling the ease-of-use of the UART protocol, albeit not being a very sophisticated choice of design for Bluetooth Low Energy applications. However, engineers realize the usefulness of a quick-and-dirty solution for Bluetooth Low Energy over UART, which is useful for quick prototyping or adding Bluetooth Low Energy to replace legacy Bluetooth classic designs.
The Bluetooth Low Energy Pioneer Kit with the PSoC 4 BLE module implements a Bluetooth Low Energy GAP Central device running a custom Profile and a custom UART Service. This Profile contains two custom Characteristics - one called Receive Characteristic and another called Transmit Characteristic. The Transmit Characteristic supports Notifications.
For the other end of the Bluetooth Low Energy communication, we will re-program the CySmart USB Dongle with a project implementing a GAP Peripheral. This project also implements the same custom Profile, Services and Characteristics.
Each device can be interfaced over UART using a serial terminal utility like TeraTerm or Putty to transmit/receive a byte or an entire data file.
You can download this PSoC Creator project along with a detailed PDF of instructions, here from GitHub: https://github.com/cypresssemiconductorco/PSoC-4-BLE/tree/master/100_Projects_in_100_Days/Day020_BLE_UART