Please bear in mind that <strong>Mihini is still under development</strong>.<br/>

Please bear in mind that <strong>Mihini is still under development</strong>.<br/>

−

== Step 1 - Build Mihini ==

+

== Step 1 - Get Mihini ==

−

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

+

To get Mihini, you have 3 options :

−

<source lang="bash">

+

−

$ ssh pi@raspberry.local

+

−

</source>

+

−

=== Compilation prerequisites ===

+

*[[Mihini/Build Mihini|Build Mihini]]

+

*[[Mihini/Cross Compilation|Cross Compilation]]

+

*[[Mihini/Install_Mihini|Install Mihini]]

−

First of all, you will need some compilation tools:<br/>

+

== Step 2 - Start Mihini on your device ==

−

<source lang="bash">

+

−

$ sudo apt-get install build-essential cmake git telnet

+

−

</source>

+

−

=== Sources to compile ===

+

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 <code>Appmon</code>. We need to start it.

If you have installed Mihini from a <code>.deb</code>, you have an init script to just do what you want to: <code>/etc/init.d/mihini {start|stop|restart|status|purge}</code>

−

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 <code>mihini-repo/</code>.

+

Or if you have installed Mihini from a <code>.rpm</code> or the AUR (ArchLinux User Repository), you can use <code>systemctl {start|stop|restart|enable|disable}</code>

−

+

−

<source lang="bash">

+

−

# Compile Mihini

+

−

$ cd mihini-repo

+

−

$ ./bin/build.sh

+

−

+

−

# Compile a Lua interpreter

+

−

$ cd build.default/

+

−

$ make lua

+

−

# Optional, if you want to use Modbus over serial (e.g. to run the Greenhouse sample)

+

−

$ make modbus_serial

+

−

+

−

# Move the result of the build in your HOME

+

−

$ mv runtime ~/mihini

+

−

</source>

+

−

+

−

=== Configure Mihini ===

+

−

+

−

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

+

−

+

−

'''OPTIONAL (but useful :))'''

+

−

*Enable Lua shell on all network interfaces by <em>adding</em>

+

−

** <source lang="lua">shell.address = "*"</source>

+

−

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

+

−

**<source lang="lua">log.enablecolors = false</source>

+

−

+

−

=== 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:

Stop Mihini manually

Step 3 - Setup Koneki environment

Define your device and configure its "SSH Lua" paths like this (to reach the presented view, open the Views "Remote Systems" and "Properties". In "Properties" toggle Show Advanced Properties to true, then select "Ssh Lua" from the "Remote Systems" View)

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.

To run the above example, select the main.lua file, right-click Run As/Lua Remote Application, it will then be executed on your Raspberry.

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 ).