README


Tip

You might want to continue reading on our documentation space, all inline links will be working there.

Introduction

This is the documentation for the Hiveeyes Arduino repository of the Hiveeyes project, a beehive monitoring system. Enjoy reading!

All Arduino Core based firmware source code is living here. We support different hardware, so there are different flavors of the firmware, reflected by the directory naming convention <purpose>-<transport>-<protocol>. There are firmwares for ATmega328 and ESP8266 MCUs.

  • purpose role name, either node or gateway
  • transport name of the physical transport mechanism, e.g. rfm69, gprs or wifi.
  • protocol name of the transmission protocol, e.g. beradio, mqtt, http or any.

Most programs use Arduino-Makefile for building while there are still some based on Ino.

Setup

Source code

Get source code with all dependency libraries and tools:

git clone --recursive https://github.com/hiveeyes/arduino

Toolchain

Arduino IDE

If you want to use the Arduino IDE, you have to install all necessary libraries manually. The sources of the libraries can be found in the header of each sketch (.ino). In this case, copy the desired sketch into your Arduino IDE and pick the appropriate libraries from the libraries/ folder.

Debian packages

apt-get install arduino-core

Archlinux packages

  • aur/arduino 1:1.6.8
  • community/avr-libc

Operate

For operative tasks like compiling, Arduino-Makefile is in the loop.

Compile

cd node-gprs-any
make --file Makefile-Linux.mk

After a successful build, find the firmware at bin/node-gprs-any/pro328/node-gprs-any.hex.

Upload to MCU

To build a firmware hex file, upload it to the MCU and finally start a serial port monitor, do:

cd generic

# Prepare appropriate Makefile (use Makefile-OSX.mk on OSX)
ln -s Makefile-Linux.mk Makefile

# Compile and upload to chip
make upload

# Run serial port monitor
make monitor