Name Last Update
..
Ex_Broadcast Loading commit data...
Ex_Compound Loading commit data...
Ex_File Loading commit data...
Ex_Indicator Loading commit data...
FirstApp Loading commit data...
README.md Loading commit data...

README.md

The Emmoco Mobile Framework iOS examples

Introduction

These examples demonstrate use of Emmoco’s Mobile Framework for iOS. Each example shows a different aspect of mobile to embedded system communication.

NOTE: BLE is no longer supported by the iOS simulator. These examples cannot be built for the i386 architecture.

There are five examples:

a) FirstApp - Connecting to a device and writing a value b) Compound - Dealing with more complicated resource types c) Indicator - Receiving notifications from the embedded system to your application d) File - Dealing with file resources e) Broadcast - Receiving information from embedded systems while not connected

These examples correspond to their counterparts in the embedded system examples.

Before you begin

This document and these examples assume a basic understanding of iOS, Emmoco’s embedded platform, and Bluetooth Low Energy. To successfully run these iOS examples, you will need their counterparts running on an embedded system.

FirstApp - The “Hello world” of mobile to embedded communication

This example demonstrates scanning, connecting, and writing a value to an embedded system.

Before connecting to a device, you must “discover” it through scanning. The pattern for this is demonstrated in the class EMDevicePickerViewController. This class observes the devices property on EMConnectionListManager and displays discovered devices in a table. When the user selects a device, this class connects to the device by interacting with EMConnectionManager.

Once connected, the class EMFirstAppViewController demonstrates how to write values to the embedded system through an interface control. In this case, a UISlider writes a number down when its value changes.

Compound

This example is similar to the FirstApp example, but demonstrates the reading and writing of a more complex data type. All resources on the embedded system correspond to Foundation objects in iOS.

NSNumber - floats, integers NSString - enums, strings NSArray - Arrays NSDictionary - Structs NSData - files

In FirstApp, we used NSNumber to write to a number. In this example, we’re using an NSDictionary to read and write structs.

Indicator

Indicators are notifications that come from the embedded system up to your mobile application. The Mobile Framework delivers these events to you through NSNotificationCenter. The Indicator example shows you how to read and process these notifications.

See EMIndicatorExampleViewController for how to do this.

File

Files are often very large, requiring multiple packets to transfer them to and from the embedded system. Fortunately, the Mobile Framework handles this for you. When reading a file, you are given an NSData object only after the entire transfer is complete. To write a value, you hand an NSData object to the framework.

Broadcast

This is the only example that does not ever connect to the embedded system. Instead, it pulls a resource’s value from the device’s advertise packet. See EMBroadcastViewController to understand how this works.