110 likes | 115 Views
Learn how to create a temperature sensor prototype using Bluetooth Xpress module with no firmware development needed. Connect, read temperature, and calibrate with ease.
E N D
Concept-to-Prototype in 30 Minutes with Bluetooth Xpress Parker dorris | Sr. Product Manager Embedded World: February 26-28, 2019
Bluetooth Xpress Module Key Features Out-of-the-box BLE5 to UART cable replacement • No firmware development needed • Built-in Xpress streaming service for data transfer Bluetooth features • 1M, 2M, and long range PHY • Operates in either central or peripheral role Interfaces • Gecko OS Xpress command API for config and control • Additional pins for connection state control BGX13PPCB Module BGX13SSiPModule silabs.com | @silabs BGX13P PCB module | BGX13S SiP Module
Create a Temperature Sensor Product Prototype • Key features • Read temperature with on-chip MCU temp sensor • Transmit data across BLE through Bluetooth Xpress • Display results in custom mobile app • Calibrate MCU sensor with mobile app input Bluetooth Xpress BGX13P EFM8UB1 MCU silabs.com | @silabs
Bluetooth Xpress BGX13P Evaluation Board BGX13P Buttons and LEDs I/O access USB to UART bridge silabs.com | @silabs
BGX Interface Firmware Highlights BGX_Write("set sy c m machine\r"); BGX_Write("gfu 6 none\r"); BGX_Write("gfu 6 str_active_n\r"); BGX_Write("adv off\r"); while(BSP_PB1 != BSP_PB_PRESSED); BGX_Write("adv high\r"); • Setup • Advertise • Transmit temperature BGX_Write(getTempString(BGX_transmitBuffer)); • Calibrate sensor sscanf(BGX_receiveBuffer, "%d", &new_cal_value); calibrateWith(new_cal_value); silabs.com | @silabs
Testing with BGX Commander Advertising starts, BGX discovered BGX transmits temperature data Send calibration to BGX Advertising off, no BGX found Select to connect silabs.com | @silabs
Xpress Mobile Framework Speeds App Development Available for iOS and Android Mobile framework API includes: • Connect:connect()/disconnect() • Write:writeData() • Read:dataReadDelegate() • Modify port pins:writeCommand() APIs for over-the-air updates silabs.com | @silabs
App features Xpress framework provides list of devices Connect and read temperature Write calibration to BGX Scan for BGX devices silabs.com | @silabs
Xpress framework in apps source startScan(): • Discovers BGX devices • Lists them in devicesDiscovered array • stopScan() stops • scanDelegate lets you know when deviceDiscovered updates Xpress framework provides list of devices Connect and read temperature Write calibration to BGX Scan for BGX devices connectToDevice(): • Connects to a device in devicesDiscovered • connectionStateDelegate() signals when connected dataRead(): • Gives received bytes to an app • Just parse and process like a serial port writeString(): • Transmits a string • As simple as a comm port – no BLE-specific calls anywhere silabs.com | @silabs
Online Offerings for Bluetooth Xpress GitHub docs.silabs.com • GitHub for: • iOS and Android framework • BGX Commander source • Demo firmware and apps • Docs.silabs.com for: • Command and variable spec • Application examples • FAQ silabs.com | @silabs
The Wireless Xpress Advantage Simple: Zero programming pre-certified modules Fast: Configuration-based development experience Flexible: OTA updates and device management silabs.com | @silabs