The Complete Bluetooth / IoT Design Course for iOS
What you'll learn
- Front-to-back (iOS-to-embedded) design process for Bluetooth™/IoT solutions
- How to design a Bluetooth™ enabled iOS application
- How to implement custom UI controls with gesture support
- How to implement Apple interoperability requirements for embedded Bluetooth™ micro-controllers
- Programming an ARM Cortex-M3 embedded device
- Programming in a real-time OS (RTOS) environment
- Designing a device driver from the data sheet up; control it from iOS
- Programming a Direct Memory Access Controller (DMAC)
- Programming high-speed serial interface
Requirements
- A configured Xcode environment
- Working knowledge of Swift or C
- iOS device (iPhone or iPad, iOS 10 or greater)
- A CC2640R2 LaunchPad from Texas Instruments
- A SK6812 Booster Pack from Ekko Tech Ltd.
Description
This course leads students through the complete process of designing and building a Bluetooth™-enabled iOS application that connects to an embedded ARM Cortex M3 micro-controller running a real-time operating system. The embedded micro-controller is used to drive up to two strings of 60 RGB LEDs (120 LEDs maximum); the IOS application connects to the micro-controller to control the colour of the LEDs. An ambient light sensor provides the means to control the on/off state of the LEDs based on the light level.
The course avoids the use of pre-supplied libraries and drivers thus exposing students to deep detail on how the technology actually works. For iOS, using the Swift programming language, students design and implement a state-machine approach for the Bluetooth™ interface as a component of a model-view-controller (MVC) application architecture. The embedded micro-controller application is developed using the C programming language running on top of the TI-RTOS real-time operating system. To design the LED driver code, students start with the LED data sheet and, from this, develop the requirements for the micro-controller's Synchronous Serial Interface (SSI) and Direct Memory Access (DMA) peripherals both of which are programmed at the register level. The ambient light sensor provides students with the opportunity to learn how the micro-controller's Analogue-to-Digital Converter (ADC) peripheral works and how it is programmed.
The course is appropriate for students with a basic understanding of C and Swift; students will need to have a functional iOS programming environment using Xcode.
Who this course is for:
- iOS developers who want to learn about embedded system design
- Embedded developers who want to skill up on mobile design and development
Instructor
Andrew is a broadly experienced technologist with a technical portfolio ranging from hardware through network architecture, application development and the cloud. Having worked in hardware and software engineering for various large global enterprises in Europe, USA and Asia, Andrew is now focussing on independent consulting and developing technology training courses based on his professional experience.