Spark core intro

Preview:

Citation preview

Spark for IOTA $19 postage stamp-sized Wi-Fi module for IOT.

About Me, David FowlerEMail: David.Fowler@gmail.comG+: http://goo.gl/LHHakFLinkedIn: http://goo.gl/jzA1hXTwitter: uCHobbyGitHub: uchobbyWebsite: http://www.uCHobby.comDayJob: Chief Engineer, Advanced Product Development, Raven Ind.

Applying technology in Agriculture. Entrepreneur Innovator. software, hardware, mobile, embedded and Web Engineering

I do not work for Spark or TechShop and I do not get paid for this… I am interested in consulting work or project collaboration.

This Presentation ● Spark, what is it? ● How does it work? ● How much does it cost? ● How do they make money? ● How can I use it? ● What if I want to do my own thing? ● Types of development ● Demo - Web development...

Spark? What is it?IOT Module (Photon)● 120MHz Arm Cortex M3 microcontroller

o 1MB Flash, 128KB RAMo 18 GPIO, 2 Serial, I2C, SPI, ADC(6),DAC(1),and CAN

● Wi-Fio Broadcom BCM43362, 802.11 b/g/n, soft AP

Current module is the Spark Core which cost more and has less horsepower. Spark is changing the WiFi module from TI to Broadcom and upgrading the CPU to lower price and fix some communications issues. ● Beginning of a movement in IOT for Makers (opinion)

How does it work?● Web Based IDE● Over air firmware loading● Arduino Compatible● Built in Spark API/Web

o Module connects to Spark Serverso Your apps connect to Spark Server

Easy REST API● Modules publish variables and functions● Can send events

o Talk directly between modules.

How much does it cost?$39 Spark Core

$19 Spark Photon (pre-order now) Replaces the Core.

$10 Spark PoFor production of your product

How do they make money?● Selling you the hardware, modules

o Reasonable price for a module solution Provides FCC certifications

● A major benefit Provides the ready made Web API

● Providing Web APIo Reasonable price for low to medium volumeso They plan to be good option for less then 50K

volume

How can I use it?● Home / Personal Projects

o Use the protono Embed the module in your gizmoo Write a web app or other to interface with the API

Python, C/C++, JAVA, .net, Javascript (web)● Libs to make it easy

● Production Productso Prototype with the Proton, produce with the Po

FCC certs <$10 at small Quantities.

What if I want to do my own thing?● Totally Open Source

o Module Programmable via JTAG Firmware in GIT Hardware Design in GIT You can make your own modules

o Server Server code is based on Nodejs Open and in GIT.

Model Railroad Awesomeness!

Types of development● Firmware

o Web Based IDE with over the air loadingo Desktop IDEo C/C++ with Arduino libs and more. This is a full up

ARM with full C/C++ support● Software

o Web applications are easy using REST API Javascript and HTML

o Major language support with Libso Easy even without libs

The Weak Points● Web IDE is too simple for Pro’s

o Poor code highlighting, syntax checking, etc..o Simple Text Editor, slightly better than Arduino IDE

● Spark Core Radio is problematico Should be fixed in Photon

● Software (not firmware) o Harder then Arduino code for new userso What is REST? Web what?

● Power consumption● Up to others to make this easier for Makers

o Opportunity knocks

Demo of Web development● Firmware with web IDE● Over the air FLASHing● App running● Web dev in Adobe Brackets● UI demo in Chrome● Questions?● Code Walkthrough● My Gauges Idea

Show and Tell

Gauges Idea - Make it simpleCreate web app that makes monitoring and control easy for Makers.● No web coding required

o Built in functionality, just run from VisualIOT.com● All control done from Spark Firmware App● Nice looking Gauges and buttons● Works in any browser,

o smart phones o tabletso Mac, PC, Linux, etc...

Gauges - View Config● Adds a string variable

o viewConfig 260 characters allowed

● Controls the web appo On connection, app checks for viewConfigo Configures gauges and button based on string

comma delimited specifies labels and ranges for gauges and

buttons

Gauges - viewConfig Examplechar* viewConfig="0,Demo Gauge&""gau,Temp C,tempc,-10,110&""btn,LED ON,LED,ON&""btn,LED OFF,LED,OFF";

First line is version and title. Next are items to show. “gau” for gauges, “btn” for buttons.

Gauge ViewConfig “gau” example"gau,Temp F,tempf,-10,110"● Display a gauge● Label the gauge “Temp F”● Pull the “tempf” variable● Minimum value is -10● Maximum value is 110