Notice: this Wiki will be going read only early in 2024 and edits will no longer be possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Mihini/Build Mihini
Contents
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:
$ sudo apt-get install build-essential cmake git telnet
Sources to compile
Get the sources
$ cd $ git clone http://git.eclipse.org/gitroot/mihini/org.eclipse.mihini.git mihini-repo
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-repo/
.
# 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
Configure Mihini
Now 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 output is shown in /var/log/syslog).
log.enablecolors = false
- Enable the highest logfile output level, this way you can easily see errors in the code
log.defaultlevel = "DEBUG" -- default log level: can be one of NONE, ERROR, WARNING, INFO, DETAIL, DEBUG, ALL. See log.lua for details
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