Commit 6d91bc14cdd7f3c6a8717f6a97fb4b2cf6a035bc

Authored by Greg Sandstrom
1 parent 02a86c97bb
Exists in main

add readme install notes copied from ssa project

Showing 1 changed file with 108 additions and 0 deletions Side-by-side Diff

  1 +# Requirements
  2 +- Tested on Raspberry Pi running Raspbian Lite OS (32-bit) "Bullseye" (Debain 11) Kernel Version 5.15
  3 +- Python3.6 or later
  4 + - [influxdb-python](https://github.com/influxdata/influxdb-python)
  5 + - numpy (dependency of picosdk)
  6 +- [picosdk](https://www.picotech.com/downloads/linux) (installs [picosdk-python-wrappers](https://github.com/picotech/picosdk-python-wrappers/tree/master/usbtc08Examples))
  7 +- [InfluxDB](https://docs.influxdata.com/influxdb/v1.8/) 1.x (tested on 1.8.10)
  8 +- [Chronograf](https://docs.influxdata.com/chronograf/v1.9/) (web ui and visualization for InfluxDB)
  9 +
  10 +
  11 +---
  12 +
  13 +
  14 +# Installation
  15 +
  16 +## Raspberry Pi setup
  17 +1. [Raspberry Pi installation guide](https://www.raspberrypi.com/documentation/computers/getting-started.html#using-raspberry-pi-imager)
  18 +2. Run `apt update`
  19 +
  20 +### wifi
  21 +
  22 +Getting onto a WPA2 enterprise network takes some special setup.
  23 +
  24 + - Generate a hash of your password with the command `echo -n 'your_password_in_plaintext' | iconv -t utf16le | openssl md4` (might need to use `UTF-16LE` on mac for iconv parameter). This will generate a string like `(stdin)= d331672fc5c43a5db13c295458beeea1`. The hashed password is just the string `d331672fc5c43a5db13c295458beeea1`.
  25 + - Add this block to `/etc/wpa_supplicant.conf`, replacing `NETWORK-NAME`, `USERNAME`, and `HASH` with the appropriate values (e.g. `campus-wifi`, `person@school.edu`, and `d331672fc5c43a5db13c295458beeea1` from above hash example)
  26 +
  27 +```
  28 +network={
  29 + ssid="NETWORK-NAME"
  30 + proto=RSN
  31 + key_mgmt=WPA-EAP
  32 + auth_alg=OPEN
  33 + eap=PEAP
  34 + identity="USERNAME"
  35 + password=hash:HASH
  36 + phase1="peaplabel=0"
  37 + phase2="auth=MSCHAPV2"
  38 + priority=1
  39 +}
  40 +```
  41 +
  42 + - Append the following to the end of `/etc/dhcpcd.conf`
  43 +
  44 +```
  45 +interface wlan0
  46 +env ifwireless = 1
  47 +env wpa_supplicant_driver = wext , nl80211
  48 +```
  49 +
  50 +### python
  51 +
  52 +1. Make sure pip is installed
  53 + `sudo apt install python3-pip`
  54 +2. install `influxdb` python module
  55 + `pip3 install influxdb`
  56 +
  57 +## Install and run Influxdb OSS v1.8
  58 +
  59 +Instructions for latest 1.x OSS influxdb build ([source](https://pimylifeup.com/raspberry-pi-influxdb/)):
  60 +
  61 +1. Update apt and upgrade current packages
  62 + - `sudo apt update`
  63 + - `sudo apt upgrade`
  64 +2. Import influxdb repository key
  65 + - `curl https://repos.influxdata.com/influxdata-archive.key | gpg --dearmor | sudo tee /usr/share/keyrings/influxdb-archive-keyring.gpg >/dev/null`
  66 +3. Add repository to apt sources list
  67 + - `echo "deb [signed-by=/usr/share/keyrings/influxdb-archive-keyring.gpg] https://repos.influxdata.com/debian $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/influxdb.list`
  68 +4. Update apt again
  69 + - `sudo apt update`
  70 +5. Install influxdb with apt
  71 + - `sudo apt install influxdb`
  72 +6. Enable influxdb service and run it
  73 + - `sudo systemctl unmask influxdb`
  74 + - `sudo systemctl enable influxdb`
  75 + - `sudo systemctl start influxdb`
  76 +
  77 +## Install and run Chronograf
  78 +1. Assuming influxdb is already installed, you can install chronograf with apt
  79 + - `sudo apt install chronograf`
  80 +2. Enable chronograf service and run it
  81 + - `sudo systemctl unmask chronograf`
  82 + - `sudo systemctl enable chronograf`
  83 + - `sudo systemctl start chronograf`
  84 +3. Log in to `http://[rasperry-pi-hostname]:8888/` to configure dashboards.
  85 +
  86 +## picosdk installation (for tc-08 hardware)
  87 +
  88 +[picotech website](https://www.picotech.com/downloads/linux)
  89 +
  90 +On the raspberry pi:
  91 +
  92 +1. Download and install libusbtc08 debian package
  93 + - `wget https://labs.picotech.com/debian/pool/main/libu/libusbtc08/libusbtc08_2.0.17-1r1441_armhf.deb`
  94 + - `sudo apt install ./libusbtc08_2.0.17-1r1441_armhf.deb`
  95 +2. Clone python wrappers git repo and install from it
  96 + - `git clone https://github.com/picotech/picosdk-python-wrappers.git`
  97 + - `cd picosdk-python-wrappers`
  98 + - `pip install .`
  99 +
  100 +## Install temperature logger service
  101 +
  102 +1. Clone or copy this repository to the Raspberry Pi, probably in a folder called `tc08-temperature-logger` in the home directory.
  103 +2. Install temperature_logger service
  104 + - `sudo cp temperature_logger.service /etc/systemd/system/.`
  105 + - edit `/etc/systemd/system/temperature_logger.service` and replace all instances of `path/to/repo` with the directory where you cloned or copied `tc08-temperature-logger`.
  106 + - `sudo systemctl daemon-reload`
  107 + - `sudo systemctl enable temperature_logger`
  108 + - `sudo systemctl start temperature_logger`