SiliconLabs / SimplicityConnect-ios

This is the source code for the EFR Connect application for iOS.
Apache License 2.0
65 stars 27 forks source link

Simplicity Connect Mobile Application

This is the source code for the Simplicity Connect mobile application.

What is Simplicity Connect BLE mobile app?

Silicon Labs Simplicity Connect is a generic BLE mobile app for testing and debugging Bluetooth® Low Energy applications. With Simplicity Connect, you can quickly troubleshoot your BLE embedded application code, Over-the-Air (OTA) firmware update, data throughput, and interoperability with Android and iOS mobiles, among the many other features. You can use the Simplicity Connect app with all Silicon Labs Bluetooth development kits, Systems on Chip (SoC), and modules.

Why download Simplicity Connect?

Simplicity Connect radically saves the time you will use for testing and debugging! With Simplicity Connect, you can quickly see what’s wrong with your code and how to fix and optimize it. Simplicity Connect is the first BLE mobile app allowing you to test data throughput and mobile interoperability with a single tap on the app.

The app name has been changed from Simplicity Connect to Simplicity Connect.

How does it work?

Using Simplicity Connect BLE mobile app is easy. It runs on your mobile devices such as a smartphone or tablet. It utilizes the Bluetooth adapter on the mobile to scan, connect and interact with nearby BLE hardware.

After connecting the Simplicity Connect app and BLE hardware (e.g., a dev kit), the Blinky test on the app shows a green light indicating when your setup is ready to go. The app includes simple demos to teach you how to get started with Simplicity Connect and all Silicon Labs development tools.

The Browser, Advertiser, and Logging features help you to find and fix bugs quickly and test throughput and mobile interoperability simply, with a tap of a button. With our Simplicity Studio’s Network Analyzer tool (free of charge), you can view the packet trace data and dive into the details.

Demos and Sample Apps

Simplicity Connect includes many demos to test sample apps in the Silicon Labs GSDK quickly. Here are demo examples:

Development Features

Simplicity Connect helps developers create and troubleshoot Bluetooth applications running on Silicon Labs’ BLE hardware. Here’s a rundown of some example functionalities.

Bluetooth Browser - A powerful tool to explore the BLE devices around you. Key features include:

Bluetooth Advertiser – Create and enable multiple parallel advertisement sets:

Bluetooth GATT Configurator – Create and manipulate multiple GATT databases

Bluetooth Interoperability Test – Verify interoperability between the BLE hardware and your mobile device

How to build project

To build project you need Install Cocoapods. Run command pod install in the main folder of the project and then use generated SiliconLabsApp.xcworkspace file to open project. Use BlueGecko scheme to run or test app.

How to start developing

Applications are written using MVVM pattern. The View Controllers layer (also a starting point for each of app - Demo, IOP, Browser, Develop) is in the <project_directory>/ViewController folder. You can find there references to View Models and the Models that are used in the specific applications. Each app has mostly separated files so is almost unlikely that modifying one part of code is going to break other app. For storing data we are using Realm database. Please notice that you must take care of migrations when you are modifying scheme of objects (modify SILRealmConfiguration.swift file). At <project_directory>/Supporting Files you can find XMLs of SIG Group defined GATT services, characteristics and descriptors. The IOP test suites are in folder <project_directory>/ViewControllers/IOP Test App/TestScenario. The OTA related code is located in <project_directory>/ViewControllers/BluetoothBrowser/Details/OTA.

Additional information

The app can be found on the Google PlayStore and Apple App Store.

Learn more about Simplicity Connect BLE mobile app.

Release Notes

For more information on Silicon Labs product portfolio please visit www.silabs.com.

License

Copyright 2021 Silicon Laboratories

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.