4. B
4 / 8
“Hello World”
em-blinker for iOS
connect to embedded device
monitor its LED in real-time
activate/deactivate blinking
adjust its LED parameters
5. B
5 / 8
An Application Schema
schema Blinker {
/* -------- resource cmd -------- */
enum Cmd {
START_CMD, STOP_CMD
};
Cmd cmd {
writeonly
};
/* -------- resource count -------- */
int16 count {
readwrite
};
/* -------- resource delay -------- */
num <0.5, 2.0, 0.100> delay {
readwrite
};
/* -------- resource ledState -------- */
enum LedState {
LED_OFF, LED_ON
};
LedState ledState {
readonly
indicator
};
};
resources are data abstractions
with a specified set of behaviors
what
each resource has a concrete
implementation in HW/SW
how
schema defines a set of typed
data-objects called resources
programmatic contract between
mobile and embedded developers
higher-level header file
C-like syntax/semantics
scalar/aggregate types
often a “one-pager”
6. B
6 / 8
mobile application developer
embedded software developer
em-browser mobile app
Parallel Development Tracks
schema
schema
em-hub
schema Blinker {
cmd
count
delay
ledState
}
YOUR production HW
em-wareem-ware
B-SMART BoosterPack
em-ware
YOUR development HW
add mobile control
to YOUR product
in 90 days !!!
7. B
7 / 8
em-ware
AIR®
What You Don’t Have To Do....
read 2000-page Bluetooth spec
certify sophisticated RF-based HW
devise an application-specific protocol
uproot your development environment
add lots of code to your target processor
track perpetual changes in iOS, Android, ....
schema YourApp {
/* resources */
}
but you can leverage dozens of staff-years of engineering effort
8. B
8 / 8
Let’s Get To Market....
learn em-builder with AIR® B-SMART BoosterPack
— invest a few hours exploring the potential of embedded-mobile-connectivity
take advantage of em-prime service/support
— interface YOUR target hardware after a few days of personalized training
let emmoco help design/deploy YOUR mobile app
— “from schema to screen” after a few weeks of dedicated engineering
manufacture HW with off-the-shelf AIR® modules
— certified Bluetooth® SMART solutions which bundle our em-ware
spend your efforts adding differentiated product value
Notes de l'éditeur
hi i’m bob frankel (cto emmoco), and i’d to personally thank you for choosing our productworking in tandem with our HW partner Anaren, we make it simple to add mobile control to your productin this short presenation, i’d like to introduce you to the “what”, “why”, and “how” of unique approach
the UI for today’s embedded devices run the gamut, and bring with them a number of challengesat one extreme, they are often minimal due to constraints in power/price/performanceat the other extreme, they often feature an antiquated array of buttons/dials/lightsand more often than not, these UIs can be quite confusingemmoco’s vision is quite simple – let’s augument/replace embedded UIs with smart phones/tabletsreplace physical buttons/dials/lights with a mobile UIleverage bluetooth-smart wireless technology to give us embedded-mobile-connectivity this approach has a number of advantagesmobile devices have an intuitive UI that is familiar to most of usmobile devices are certainly ubiquitous – over a billion in use & with BTS becoming standardmobile devices are upgradable – UIs to embedded devices are no longer fixed forevermobile devices are analyzable – product marketing can now track usage of specific featuresto help you understand “how” this all works, let’s turn to a sample application that illustrates EMC
em-blinker – an app you’ll soon explore on your own – is the “hello world” of EMCthis mobile app allows its user to control an LED (which blinks in real-time) on a small embedded device (ED)needless to say, this particular ED (MSP430G2553 LP, 16K/.5K) lacks a “rich” user interface of its own while seemingly trivial, em-blinker in fact serves as a prototype for many real-world applications of EMCto make this more realistic, imagine the ED is performing a real-time process (eg., monitoring a sensor)using the em-blinker app, the user can select and connect to a particular EDonce connected, the user can monitor the state of the blinking LED as it changes over timethe em-blinker app enables the user to activate/deactivate this real-time process (eg., blinking the LED)and finally, the user can adjust various parameters that control this real-time process (eg., its frequency)staying with this particular application of EMC, let’s now explore the internal design of the blinker app....
behind every emmoco application lies its schema, which defines a set of typed data-objects called resourcesthis particular schema has four resources – cmd, count, delay, ledStatenote how these resources map to various UI elements of em-blinker mobile appin practice, the schema serves as aprogrammatic contract between mobile & embedded developersthese two communities of developers couldn’t be more distinct from one anotherto the mobile developer, the schema’s resources are “abstract” data objects with a specified set of behaviorsto the embedded developer, resources have “concrete” implementations in HW/SW, independent of presentationabove all, neither party has any idea of what the other is doing; the schema is their only point of contactvery shortly, you’ll be working directly with the Blinker schema along with a dozen other sample appsfor now, think of the schema as a “high-level header file” with C-like declarationsas you’ll learn, resources can also have “aggregate” types that map onto C structs and arraysand finally, you’ll come to appreciate that a “one-page” schema can in fact express a lot of functionalitywith that, we’ll now turn our attention to the overall development flow – from schema to shipping product....
once again, we can’t emphasize enough the role a common schema plays in streamlining the development flowonce defined for the app at hand, the schema enables parallel engineering of embedded+mobile SWembedded developers use schema-driven em-browser tool to exercise/test their SWmobile developers use the same schema with a mock device to exercise/test their SWall of emmoco’s “middleware” (libs, FW, SRT) ensures seamless integration of the app as a whole
yes, you have to write a schema – but let’s think about everything you don’t have do with our approach!!by eliminating these barriers, you can add mobile control to an existing product in less than 90 daysthe trick is stay “above the water” and focus on the application at handby leveraging our efforts, you need not worry about the large mass of details that lie “beneath the surface”
so let’s get started with our “four-step” program for adding mobile control to your app in less than 90 daysright now, it’s time to fire-up em-builder and spend a few hours exploring EMCafter that, a few days of em-prime training will help you setup em-builder for your target environmentneed help with a mobile app; we’ll get you from “schema to screen” in just a few weeks’ timeand finally, talk with our HW module partner Anaren about your product manufacturing needslook, we’re all busy these days; and we certainly appreciate the time you’ve invested so far