From da48abd6844c7c65898f41917e0d4104a34dd1b5 Mon Sep 17 00:00:00 2001
From: "Matthias P. Braendli" <matthias.braendli@mpb.li>
Date: Sun, 28 Jan 2024 10:33:48 +0100
Subject: Update README with install instruction

---
 README.md | 40 ++++++++++++++++++++++++++++++++--------
 1 file changed, 32 insertions(+), 8 deletions(-)

diff --git a/README.md b/README.md
index 19c6b8a..a6f250f 100644
--- a/README.md
+++ b/README.md
@@ -10,17 +10,49 @@ This project contains a web user interface for controlling a
 1. Allow the user to send custom packets
 1. Configure igate and other settings, stored in `node-config.toml`
 
+## Installation
+
+To get cats-radio-node running on your raspberry pi
+
+1. Prepare an SD card with latest Raspberry Pi OS, and boot your pi with it
+1. using `raspi-config`, enable the SPI Interface
+1. `mkdir cats-radio-node` and `cd cats-radio-node`
+1. `wget https://mpb.li/pv/cats-radio-node-20240128.tar.gz`
+1. `tar -xf cats-radio-node-20240128.tar.gz`
+1. `sudo ./cats-radio-node`
+1. And connect to it through HTTP on port 3000
+
+If you want to compile it yourself:
+
+1. Do `sudo apt update`, install `git`
+1. Install most recent rust compiler with rustup:
+  `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`
+  * Careful when installing Rust on a Raspberry Pi with a 64-bit kernel running a 32-bit userland: `rustup` will want
+    to install the aarch64 toolchain, but that one doesn't work!
+  * If that happens, be sure to install the `stable-arm-unknown-linux-gnueabihf` toolchain.
+  * You either have to log out and log in again or source the env as instructed by `rustup` to have the Rust compiler in
+    your $PATH
+
+1. `git clone https://mpb.li/git/cats-radio-node/`
+1. `cd cats-radio-node`
+1. `cargo build --bin cats-radio-node`
+1. `sudo target/debug/cats-radio-node`
+
 ## Current state of the project
 
 Configuration read/write through UI is done.
+
 RF4463 integration, message decoding and presentation, UI to send messages.
+
 Tunnel IP packets through Arbitrary whiskers, using TUN.
+
 Live update of incoming packets using WebSocket, in the 'Chat' window.
 
 ### TODO:
 
 * Nicer UI for presenting incoming packets. For now it just shows the Comment whisker.
 * igate integration
+* Regular beacon transmission
 
 ## Additional tools
 
@@ -33,11 +65,3 @@ The `fake-radio` binary can be used to inject frames for that, and decodes those
 
 Build with `cargo build --bin fake-radio`
 
-## Remarks
-
-Careful when installing Rust on a Raspberry Pi with a 64-bit kernel running a 32-bit userland: `rustup` will want
-to install the aarch64 toolchain, but that one doesn't work!
-
-If that happens, be sure to select the `stable-arm-unknown-linux-gnueabihf` toolchain, and set it as default using
-`rustup default`.
-
-- 
cgit v1.2.3