Step 1 - Build Mihini

So far, all the work is being done directly on your remote system. For the following sample, pi user is being used on a RaspberryPi running Raspbian Wheezy. Connect to you device using ssh and follow the steps.

$ ssh pi@raspberry.local

Compilation prerequisites

First of all, you will need some compilation tools:

$ sudoapt-get install build-essential cmake git telnet

Sources to compile

Get the sources [NOTE: the source code of Mihini is not yet available. Still, we wanted to work on this detailed tutorial in parallel of the IP review process...]

Run the compilation

Lets move into the repository you just cloned. Make sure you have all prerequisites mentioned above installed. Now, simply run the following in the repository you just cloned, here called mihini/.

# Compile Mihini
$ cd mihini-repo
$ ./bin/build.sh
# Compile Lua
$ cd build.default/
$ make lua
# Optional, if you want to use Modbus over serial (e.g. if you want to run the Greenhouse sample)
$ make modbusserial
# Move the result of the build in your HOME
$ mv runtime ~/mihini

Configure Mihini

Then there are some configuration items in ~/mihini/lua/agent/defaultconfig.lua that you may optionally want to modify.

OPTIONAL (but useful :))

Enable Lua shell on all network interfaces by adding

shell.address ="*"

Disable colors while logging , in order to not clutter your syslog.

log.enablecolors =false

It should be easier

What is explained above is just a beginning. We are about to provide material which will speed up previous steps, such as:

How to cross compile Mihini from your Desktop machine

A defaultconfig.lua with the right default settings

A Linux package, to avoid any kind of compilation or configuration ( It is hypothetical )

Step 2 - Start Mihini on your device

One of the features of Mihini is to manage the life cycle of your application. In order to do so, applications are run from another program: the Appmon. We need to start it.

Step 4 - Create your first application

You could blink a LED, use a touch sensor, measure the temperature and available RAM of the board... I decided to keep it simple in this tutorial, my application will simply log :). The file is main.lua.

Step 5 - Install your application

Manually

All you a have to do in order to enable Mihini to handle you application is:

Create a launcher

Provide sources

Create a launcher

Mihini Application container runs executables. To run a Lua application, we need to set some variables beforehand and then lauch your application. In order to do so lets create the proper launcher. In the Mihini world, it is an executable file called run. Here is its content:

Install application

First of all, I presume you already have an Appmon Daemon running. You may wonder which way you can interact with Mihini. While starting, Mihini opens a Telnet server on port 2000, it enables you communicate with its runtime. We are about to use it to install an app available at '/tmp/raspapp', which will be named 'sample', this application will benefit from autostart ( the last true parameter ).