Skip to content
This repository has been archived by the owner on Sep 28, 2022. It is now read-only.

Setting up the Hardware

Sean Shahkarami edited this page Apr 10, 2019 · 1 revision

This guide will provide a complete description of how to set up a Waggle Node.

Configuring the Hardware

In this section, we'll give a brief overview of the Waggle node hardware and then walkthrough the entire assembly process of a node. If you have a pre-assembled Waggle node, feel free to skip to the next section.

Overview of the Components

The following components make up the Waggle Node.

System Manager (Wagman)

The Wagman is responsible for powering and monitoring the health of the node controller and guest node.

Node Controller (ODROID-C1+)

The node controller is responsible for aggregating

A low-cost single board computer with an 1.5Ghz quad core ARM processor and 1GB RAM. More technical details can be found on the manufacturer website:

ODROID C1+ technical details

Guest Node (ODROID-XU4)

  • eMMC memory card and USB SD-card adapter

    Since eMMC's do not have a standardized connector, Hardkernel eMMC's come with an eMMC module reader with a standard microSD card connector.

  • micro SD-card

  • USB network adapter

    A USB 2.0 to ethernet network adapter.

  • Power adapter with barrel plug

    Specification: 5V 2A DC input

Prepare eMMC memory cards

To use the node controller you need to copy the waggle image (a modified ubuntu) onto an eMMC memory card. To connect the eMMC with your computer, connect the eMMC with the eMMC/microSD adapter and plug that into a common microSD/USB adapter which in turn can be plugged into the USB port of a computer:

Please follow these instructions to copy the waggle image onto the eMMC memory card: copy_waggle_image_to_memory_card.md

The SD-card does not need a copy of the waggle image. The waggle software on the eMMC will later automatically reconfigure the SD-card.

Once the eMMC memory has copy of the waggle image, both memory cards can be plugged into the ODROID. You can find both memory card slots on the bottom side of the ODROID.

The final result should look like this:

Turn on the node controller

The ODROID does not have a power button. Once you plug in the barrel power plug the device will try to boot an OS from the eMMC (or from SD-card if the eMMC is missing).

Note that the ODROID has two LED's. The red "PWR" LED indicates that the device has power. The blue "ALIVE" can indicate three different states (copied from the ODROID C1+ user manual):

  • Is on (solid light) when the bootloader is running (Takes a few seconds)
  • Blinks slowly when the kernel is running, like a heartbeat (Normal mode)
  • Blinks quickly when the kernel is in panic mode

Both LED's activated:

Connect to the node controller

Ethernet

The ethernet port on the ODROID currently is reserved for an extension node (or "guest node") and thus has a static IP address assigned. To connect the node controller with your network use the USB network adapter.

Instructions how to find the IP address of the node controller in your network and to login into the device using ssh can be found here:

SSH_connection.md

Wireless adapter

TODO

External monitor and keyboard

If you want, you can use the HDMI connector on the ODROID to connect an external monitor and the USB ports to connect a keyboard. This should not be needed, especially for waggle users, but can be helpful for debugging if you are unable to establish an ssh connection.

Configuring the Node Controller

Changing the password

Security note: The waggle images come with default password "waggle" for both root and user "waggle". To avoid unsolicited access to the node, please change the passwords using the linux command "passwd":

passwd root
passwd waggle
passwd <user> # in case you are not using the waggle image

As root user, specify the beehive sever IP address or URL and run the configure script.

cd /usr/lib/waggle/nodecontroller
BEEHIVE_HOST=<ip> ./configure

For more details see the node controller README.md.

Configuring guest node

TODO: ...

Configuring sensors

TODO: add sensor ?

Viewing Results from Beehive Server

TODO: results from our server or user server ?