Jump to: navigation, search

Difference between revisions of "Mihini/EclipseCon2013 Tutorial"

(Bill of materials)
(Key steps)
Line 15: Line 15:
  
 
== Key steps ==
 
== Key steps ==
 +
 +
=== Introduction to the greenhouse demo ===
 +
 +
=== Introduction to Mihini ===
 +
 +
==== Features ====
 +
 +
==== Overall architecture ====
 +
 +
=== Introduction to Koneki tools for Mihini ===
 +
 +
=== Installation of Lua Development Tools (all-in-one bundle) ===
 +
 +
==== Write and run a local LUA example ====
 +
 +
==== Configure remote system ====
 +
 +
==== Remote launch the previous example ====
 +
 +
=== Local communication ===
 +
 +
==== Modbus API ====
 +
 +
=== Greenhouse tutorial ===
 +
 +
==== Read/write some values with modbus ====
 +
 +
==== Install execution environment ====
 +
 +
==== Create new Mihini project ====
 +
 +
=== Introduction to push data ===
 +
 +
==== M3DA protocol ====
 +
 +
==== push data API ====
 +
 +
=== Add server communication to the code ===
 +
 +
==== push data ====
 +
 +
==== m2m.eclipse.org ====
 +
 +
==== JSon API for displaying data ====
 +
 +
=== Go further ===
 +
 +
==== App con ====
 +
 +
==== End user android application ====
 +
 +
  
 
=== Installation of Lua Development Tools ===
 
=== Installation of Lua Development Tools ===

Revision as of 11:29, 28 February 2013

Tutorial

EclipseCon 2013 Tutorial plan.

Goals

Show Mihini

  • show key APIs such as logging, sched, airvantage, devicetree, (sms?)...
  • show how it's easy to do I/O manipulation and wireless communication

Koneki for Mihini

  • show how Lua is easy to edit thanks to LDT tooling
  • show EE and remote development for Mihini

FUN!!!!!!

Key steps

Introduction to the greenhouse demo

Introduction to Mihini

Features

Overall architecture

Introduction to Koneki tools for Mihini

Installation of Lua Development Tools (all-in-one bundle)

Write and run a local LUA example

Configure remote system

Remote launch the previous example

Local communication

Modbus API

Greenhouse tutorial

Read/write some values with modbus

Install execution environment

Create new Mihini project

Introduction to push data

M3DA protocol

push data API

Add server communication to the code

push data

m2m.eclipse.org

JSon API for displaying data

Go further

App con

End user android application

Installation of Lua Development Tools

Download Lua Development Tools product (or get it from an USB stick provided to the participants), install the Remote Lua Development feature.

Note.png
TODO
Retrieve and put LDT archives on USB stick


Note.png
TODO
Put LDT p2 repo on the USB stick too


Hello World

  • Write a first simple Lua application ("Hello World").
  • Get familiar with the notion of Execution Environment, learn how to use Lua.
  • Launch the application using the embedded JNLua VM
  • Learn how to use the debugger

Installation of Mihini

Participants will compile and install Mihini on the Raspberry Pi based on the instructions available here

Compile Mihini source code

  • Copy (git clone?) the sources of Mihini on the Raspberry Pi
Note.png
TODO
Provide a copy of the git repo on the USB stick???


  • Compile Mihini (and its Lua VM)
  • Brief presentation of the defaultconfig ; tweak the few settings that will simplify development

First Mihini launch

  • Start Mihini on the target
  • Open a telnet connection on port 2000 to play with the agent's shell
    • a = 1
    • print(a)
    •  :agent.config.get('shell')

Hello World REMOTE

  • Configure a new Remote System corresponding to the Raspberry Pi inside LDT
  • Launch the previously written Hello World using a remote launch conf
  • Do a remote debug

Setting up the Arduino

  • First step will be to setup the arduino with a blinking LED
Note.png
TODO
Prepare Arduino IDE archives (mac, linux, win) for the USB stick


Note.png
TODO
Fritzing schematic of the blinking LED setup?


Remote run/debug

Log hello on the module.


Wireless code

Upload first data on internet using MQTT and AirVantage

Install application

Show how to install an application using mihini (and airVantage)

Hardware

The main hardware will be a Raspberry Pi (running Mihini) connected to an Arduino ; the Arduino itself being connected to several sensors/actuators.

Bill of materials

Item Qty
Raspberry Pi 1x
Arduino Uno 1x
Grove kit or equivalent 1x
Micro USB cable 1x
4GB SD card 1x
USB 1A power supply 1x
USB A-B cable 1x
Wifi dongle (Netgear WNA1000M-100FRS)* 1x
  • this might not be the best option for the US market (sounds look it is way more expensive than in Europe?)


Ordering everything from Adafruit would be: