Building a Sensor Unit to work with KootNet Sensors

** WIP: This will be updated with better instructions as time goes on **

Currently Supported Sensor’s

Raspberry Pi products: Sense HAT
Pimoroni products: BH1745, BME680, Enviro pHAT, LSM303D, VL53L1X

Note: Additional Sensors can be added fairly easily, so long as they support the Raspberry Pi and Python3

User Requirements

The User must know the following

1. Basic TCP/IP Version 4 concepts
IP Address, Gateway, DNS, etc.

2. Basic operations of the terminal text editor "nano"
Use "Ctrl + x" to quit, entering "y" to save changes

3. How to accesses a terminal in Raspbian
Raspberry Pi Menu -> Accessories -> Terminal

Required Hardware

Raspberry Pi - I have tested the 3B+ & Zero W (Should work with all?)

Optional - additional Sensors (see above)

Install Instructions

Step 1. Physically Install your Sensor(s) onto the Raspberry Pi
Step 2. Install Raspbian OS on your Raspberry Pi
This will modify /etc/network/interfaces & replace the root users crontab
Step 3. Enable SPI and I2C in the Raspberry Pi Configuration window on the "Interfaces" tab
Step 4. Make sure you are connected to the Internet, then run the following command in a terminal to start the Installer

wget http://kootenay-networks.com/utils/koot_net_sensors/Installers/raw_files/sensor-rp/upgrade/update_programs_online.sh && sudo chmod +x update_programs_online.sh && sudo bash update_programs_online.sh && sudo reboot
** Note: This will automatically reboot the Raspberry Pi after completion **

The installer will open default configuration files to be configured, after which it will continue to download program files, install necessary Python libraries, update Raspbian itself, and finally reboot the sensor. Once the Raspberry Pi comes back up, your Sensor should be ready to go Three apps auto start with the Pi Services. If a Service is no longer running for any reason, it will start up again

1. Sensor Commands – Allows KootNet Sensors - PC Control Center to interact with the Sensor over a network
2. Interval Database Recording – Starts recording sensor readings to a sqlite3 database at the specified interval, found in the configuration file
3. Triggered Database Recording – Starts recording sensor readings to a sqlite3 database according to specified variances in the configuration file