Udemy

Platform

English

Language

Other

Category

The Complete Bluetooth / IoT Design Course for iOS

Front-to-back design of iOS Bluetooth application and embedded ARM Cortex M3 micro-controller

4.57 (7 reviews)

65

Students

21 hours

Content

Mar 2021

Last Update
$109.99
Regular Price


What you will 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


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.


Screenshots

The Complete Bluetooth / IoT Design Course for iOS
The Complete Bluetooth / IoT Design Course for iOS
The Complete Bluetooth / IoT Design Course for iOS
The Complete Bluetooth / IoT Design Course for iOS

Content

Course Introduction

Introduction

Who Should Take This Course?

What Will You Learn?

Course Prerequisites

Required Hardware

Apple Developer License

Getting Started

Introduction

Hardware Orientation

Software Download and Installation

Testing LaunchPad

Modifying Your Code

Debugging with CCS

Generic Access Profile (GAP)

Introduction

GAP Roles

Advertising

Scanning

Connecting

On-Air Packets

Generic Attribute Profile (GATT)

Introduction

Attribute Protocol

Attribute Table

GATT Views

Apple Interoperability

Introduction

GAP-GATT Configuration

Apple Interoperability Implementation

Introduction to CoreBluetooth

Introduction

CoreBluetooth Classes

Programme Flow

CoreBluetooth Cache

CoreBluetooth Identifiers

iOS Application Architecture

Introduction

Top-Level Architecture

Bluetooth™ Service Architecture

Model Architecture

iOS Application Part 1

Introduction

Project Setup

BleService Skeleton

Model Skeleton

Application Delegate

State Machine

Connecting LaunchPad

Publishing

Retrieving Peripherals - Introduction

Retrieving Peripherals

Implementing a Model Entity

Writing Characteristics - User Interface

Writing Characteristics - Model

Writing Characteristics - BleService

Write Responses - BleService

Write Responses - Model

Write Responses - User Interface

Notifications - BleService

Notifications - Model

Notifications - User Interface

Queueing

Reading Characteristics

Reading RSSI

Timers

Real-Time Operating System (TI-RTOS)

Introduction

TI-RTOS Fundamentals

TI-RTOS Scheduler

Task Synchronisation

Service Configuration

Introduction

Service Implementation

Adding Services

LED String Driver Design

Introduction

SK6812 Analysis

Design Considerations

DMA Primer

Data Structures

Software Design

LED String Driver Implementation

Introduction

Documentation Orientation

Programming Registers

SSI Register Analysis

IOC & GPIO Register Analysis

DMA Register Analysis

DMA Control Structures

SSI-DMA Interaction

SSI Initialisation

DMA Initialisation

Resource Initialisation

Writing LED Data

DMA Interrupt Service Routine

SSI Send Completion

Process RGB Value Change

Non-Volatile Memory

Introduction

SNV Initialisation

Periodic Event

Value Change Handling

iOS Application Part 2

Introduction

Design Considerations

Storyboard Setup

Thumb Tack View

Slider Control Basic

Adding the Thumb Tack

Adding Touch Handling

RGB Colour Picker

Animating Auto-Darken

HSB Colour Picker Part 1

HSB Colour Picker Part 2

Extending the Model

Connecting LaunchPad

Header Storyboard

Header Connect Status

Header RSSI

Header Off-On Switch

Analogue Input

Introduction

Hardware Design

Software Design

Programming the ADC

ADC Initialisation

Reading the ADC

iOS Application Part 3

Introduction

Validated Model Entity

Luminance Indicator

Application Startup

Ambient Light Storyboard

Ambient Light View Part 1

Ambient Light View Part 2

Pairing and Bonding

Introduction

Pairing and Bonding Process

Pairing and Bonding Implementation

Persistent Notifications




2406360

Udemy ID

6/10/2019

Course created date

12/18/2020

Course Indexed date
Bot
Course Submitted by