/EMLI_project

Repository containing the implementation of the final project in the course "Embedded Linux".

Primary LanguageShell

Radish Watering Project - EMLI Final Project

Implementation of the final project in the course "Embedded Linux. This code implements an automated radish watering system. The target platform is a Raspberry Pi running a Debian-based OS (Ubuntu).

Dependencies

  • Mosquitto
  • InfluxDB
  • Telegraf
  • Fail2ban
  • nftables
  • nmcli

Install

sudo mv pi_code/plant_controller.service  /etc/systemd/system/plant_controller.service
sudo mv pi_code/*.sh /usr/local/planter/
sudo mv pi_code/nft_pi_fwIP.nft /usr/local/planter/
sudo mv pi_code/system_monitor /usr/local/planter/system_monitor
sudo mv pi_code/logs /usr/local/planter/logs
sudo mv pi_code/configuration_files/telegraf.conf /etc/telegraf/
sudo mv pi_code/configuration_files/jail.local /etc/fail2ban/

Additonally, for logging data:

  • Create InfluxDB database
    • Name: radish_waterer
    • Create user 'telegraf' with password 'emli'
    • Grant all rights to the database to the 'telegraf' user
  • Create Grafana data source
  • Create Grafana dashboard
    • Import dashboard file: "pi_code/configuration_files/Radish waterer-1685382794843.json"