This project is read-only.

See my blog at

ARDJSON: Arduino JSON Connectivity to Azure Mobile Services

MVP presentation on IOT: Windows Embedded + Azure Monile Services = IoT.

 I did an embedded presentation on IOT. Involves Azure, Arduino, REST, Json and  Windows Embedded. Slides available.

Ardjson – Part 1: A New IOT Project on Codeplex

A new Codeplex project as follow up to my recent IOT presentation focusing upon Embedded Devices interacting with an Azure Mobile Service.

Ardjson – Part 2: Morphing The ToDo Sample Mobile Services Project into the Telemetry Project

How to modify the Mobile Services sample ToDo List application into something useful.
An Azure Mobile Service table can be simply manipulated via a command line app called cURL.exe

Ardjson-Part 3b: cURL CRUD Examples

Examples of cURL command lines for various table operations with Microsoft Azure Mobile Services.

Ardjson-Part 3c: The Azure Mobile Services API and further cURL HTTP GET Examples

 Following on from Part 3b in this series, a few query options are exemplified .

Ardjson-Part 4 ToDoItems App on Arduino

The Universal ToDoItems Microsoft Azure Mobile Services sample app runs on Desktop Windows 8.1, Windows Phone 8.1 and Windows RT. In Parts 3 of this blog, it was demonstrated as to how to action these functions via a command line, using cURL.exe. In this blog we will action those same actions from an Arduino device.

Ardjson-Part 4b: Arduino Networking

Some hints to do with networking an Arduino device.
This blog presents a simple JSon parser in the Arduino context  that extracts the data entities from each record. in the JSon string.

Ardjson-Part 6: Arduino Telemetry Sensor Apps

The three Telemetry Sensor Arduino apps that mimic the desktop/phone Universal app UI functions are created by copying and appropriately editing the ToDoItem Arduino apps.

Ardjson-Part 7: Arduino JSon Stream Parser 

This blog presents a more complete JSon parser in the Arduino context  that extracts the data entities from each record. in the JSon string. It is implemented as a Stream Parser - State Machine.

Ardjson-Part 7b: Programming details of the JSon Stream Parser

This blog covers the Stream Parser - State Machine code in detail...

Ardjson-Part 8: Telemetry Code Sketch Version 1.4

This blog covers the major revision of the Telemetry to remove old, now unnecessary code, fix some bugs, further improve error responses, and a stored data structure that makes the parsed JSon data available after the HTTP Response processing is complete.

Ardjson-Part 9: Azure Mobile Services Table id options (Sketch V1.5)

The default id field for a Azure Mobile Service Table, that the table is indexed on, is a string. By default the string that is auto-generated is a 36 character GUID string. This can be 2 or more times the rest of the data sent as a HTTP Response to a default HTTP GET for each record from the Telemetry table . This blog discusses this issue and canvasses some options to resolve this overkill. 

Ardjson-Part9b: Azure Mobile Services Scripts

In Part 9 of this series, it was shown how to create a Version 1 table such that the id field is an auto-incremented integer which saves storage space on a small device. Version 1 tables don't automatically save a creation and modification date. This blog covers how to do it with a Script.

Ardjson-Part 10: Reducing RAM Usage – Permanent Storage

In the quest to reduce RAM usage with RAM challenged Arduino device, this blog covers using permanent storage (Flash and EEPROM).

Ardjson-Part 11: Using Flash to store print strings (Sketch V1.6)

 The previous blog in this series, using Flash for non-volatile program data was covered. One aspect of this was the F( ) macro that enables Serial.print/println strings to be accessed from Flash where the program is stored. That is, they do not consume RAM space allowing for more volatile programming space. This blog compares using and not using the F( ) macro. In the Telemetry sketch this allows for nearly double the number of name-value pairs.

Last edited Jun 23, 2015 at 3:27 AM by DJonesEmbedded, version 29