Project Description
A light weight Json parser for Embedded devices with HTML connectivity to Azure Mobile Services. For Arduino devices.

New: Uses an AzMS Table type 1 which uses integer id field, saving space
Can store more name-value pairs because Serial.print strings placed in Flash.

New: Arduino JSon Parser implemented as a state machine acting on Response Stream. Can handle a large stream of data. Parsed data is now available for use after the Response stream has been parsed. Code has been cleaned up.

New: See Documentation Tab for Blogs on Ardjson

Update Download 1.2 has been updated with a bug fix and extra sample batch files. See 1.2.1 Curl, JSON and REST.zip on the Download tab,


About

  • Json is used to pass structured data over the internet in a textual format that is human readable and thus easy to create a parser to glean the entities in a Json message.
  • Microsoft Azure Mobile Services, a cloud service, passes data to/from clients using Json and so can be used to connect devices with the cloud that have an implementation of the parser.
  • Connectivity in this project uses HTML GET, POST, PATCH and DELETE with Azure Mobile. This is based upon the sample service that can be created when you first create a Azure Mobile Service, the ToDo app.
  • This project, which will for the time being, be one under development (ie. watch this space) with the aim of providing a light weight Json library fro embedded devices, particularly for Microsoft Windows Embedded CE/Compact. It starts with one for Arduino

JSON

"JSON or JavaScript Object Notation, is an open standard format that uses human-readable text to transmit data objects consisting of attribute–value pairs. It is used primarily to transmit data between a server and web application, as an alternative to XML." Wikipedia

My Microsoft MVP Presentation on this topic

http://embedded101.com/Blogs/David-Jones/entryid/549/Default

Project Thus Far

  • Activity: Starter V1.0
    • SYNERGY: Demonstrates ToDo data generated on Universal app (phone and desktop) or Arduino was accessible from other. Also, was able to see records on Azure portal, remove them there and see this reflected on other platforms.
    • 1.1 Microsoft Azure Mobile Services
      • Demo Azure Mobile Services Universal app for Desktop and Win Phone 8 (ie. The Todo example). (Available)
      • ToDo project morphed into Sensors Telemetry project. (Available)
    • 1.2 Curl, JSON and REST (Available)
      • Curl.exe command line app to upload data to same Mobile Service Table
    • 1.3 Arduino, JSON and REST (Now available for the ToDoItems and Telemetry Mobile Services)
      • Embedded app, using HTTP GET (REST) to get same table and simple Json parser to extract records.
      • Embedded app, using HTTP POST (REST) to submit new records to same Mobile Service table
      • Embedded app, using HTTP PATCH (REST) to update record from same Mobile Service table..
    • 1.4 Coming: Arduino Telemetry apps connecting actual sensors to Azure Mobile Service


Last edited Mar 7, 2015 at 12:35 PM by DJonesEmbedded, version 40