metisvela / sailtrack-core

Central component of the SailTrack system, it manages connections and gathers data.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SailTrack Core

SailTrack Core is the central component of the SailTrack system, it manages connections and gathers data. To learn more about the SailTrack project, please visit the project repository.

The SailTrack Core module is based on a battery powered Raspberry Pi SBC running a custom version of the Raspberry Pi OS, namely, DietPi. For a more detailed hardware description of the module, please refer to the Bill Of Materials. The 3D-printable enclosure con be found here.

The module performs the following tasks:

  • It creates the SailTrack Network, the Wi-Fi network needed by all the modules to communicate.
  • It acts as the MQTT Broker, managing the exchange of MQTT messages between modules.
  • It runs the InfluxDB database, gathering all the measurements coming from the sensors.
  • It runs the Grafana server, for the visualization of real-time and logged metrics.
  • It processes the readings coming from the sensors by filtering and combining them to obtain derived metrics.


module-image

Installation

Follow the instructions below to get the SailTrack Core OS correctly installed. If you encounter any problem, please open an issue.

  1. Download and extract the latest SailTrack Core OS image.
  2. Insert the Raspberry Pi microSD card into the computer.
  3. Flash the downloaded .img file into the SD card using a flashing tool such as balenaEtcher.
  4. (OPTIONAL) Change the passwords from the default ones by modifying the AUTO_SETUP_GLOBAL_PASSWORD and the SOFTWARE_WIFI_HOTSPOT_KEY in the dietpi.txt file located inside the SD card.
  5. Eject the SD card from the computer and insert it into the Raspberry Pi.
  6. Connect the Raspberry Pi to internet with an ethernet cable.
  7. Power on the Raspberry Pi. The first run setup will automatically start to download and configure the required packages. Note: this might take a few minutes, depending on the internet connection quality, follow the next step to check the installation progress.
  8. (OPTIONAL) Check the installation progress:
    1. Connect to the Raspberry Pi using a device connected to the same network:
      ssh root@<raspberry-ip-address>
      
      The <raspberry-ip-address> can be found by checking the router administration dashboard or by using a tool such as Angry IP Scanner. The password is the default one (sailtrack) or the one set in Step 4.
    2. Dismiss the DietPi first run setup is currently running on another screen message by hitting Ctrl + C.
    3. Check the logs coming from the installation progress with the following command:
      tail -f /var/tmp/dietpi/logs/*.log
      
  9. Wait until the SailTrack-CoreNet Wi-Fi network is visible, meaning that the installation process has been successfully completed.

Usage

Once the installation process has been successfully completed, you can use SailTrack Core by following the steps below.

  1. Power on the module by pressing the power push button. Once the Wi-Fi network has been created, the other modules will automatically power on and SailTrack Core will start collecting the measurements coming from them. Note: the automatic power on process might take a few minutes to complete, once a module is connected to the network the onboard LED will emit a steady light.
  2. Connect to the SailTrack-CoreNet Wi-Fi network with your pc, smartphone, tablet,... (password: sailtracknet or the one set in Step 4 of the installation).
  3. Visit http://192.168.42.1:3001 (user: admin, password: sailtrack or the one set in Step 4 of the installation) to connect to the Grafana dashboards to see real-time data and browse the database. To learn more about using Grafana, visit the official guide.
  4. To power off the system press and hold the power push button of the Core module until the power light starts blinking. Once the power light turns off, all the other modules will automatically turn off.

Contributing

Contributors are welcome. If you are a student of the University of Padova, please apply for the Metis Sailing Team in the website, specifying in the application form that you are interested in contributing to the SailTrack Project. If you are not a student of the University of Padova, feel free to open Pull Requests and Issues to contribute to the project.

To learn more about contributing to this repository, check out the Developer's Guide.

License

Copyright © 2023, Metis Sailing Team. SailTrack Core is available under the GPL-3.0 license. See the LICENSE file for more info.

About

Central component of the SailTrack system, it manages connections and gathers data.

License:GNU General Public License v3.0


Languages

Language:Shell 50.5%Language:Python 49.3%Language:Rust 0.2%