WIP: Refactor fintic source code #1

Draft
c0de wants to merge 7 commits from begin-refactor into main
7 changed files with 140 additions and 154 deletions

7
.gitignore vendored Normal file
View File

@ -0,0 +1,7 @@
*.json
*.csv
*.txt
*.pyc
__pycache__/*
user_uploads/*
display_images/*

29
01_setup_packages.sh Normal file
View File

@ -0,0 +1,29 @@
#!/bin/bash
# Update system and install required dependencies
sudo apt-get update
sudo apt-get upgrade -y
sudo apt-get install \
python3-dev \
python3-pip \
python3-pillow \
libatlas-base-dev \
libopenjp2-7 \
libtiff5
# Remove packages
sudo apt-get remove -y \
bluez \
bluez-firmware \
pi-bluetooth \
triggerhappy \
pigpio
sudo apt-get autoremove -y
# Clear the cache
sudo apt-get clean -y

12
02_setup_python.sh Normal file
View File

@ -0,0 +1,12 @@
#!/bin/bash
sudo -H pip3 install -u pip
cd rpi-rgb-led-matrix || exit 1
make build-python PYTHON="$(which python3)"
sudo make install-python PYTHON="$(which python3)"
cd ..
sudo -H pip3 install -r requirements.txt

25
03_update_boot_config.sh Normal file
View File

@ -0,0 +1,25 @@
#!/bin/bash
# Disable onboard audio
sudo sed -i 's/dtparam=audio.*/dtparam=audio=off/g' /boot/config.txt
# Disable onboard bluetooth
echo "dtoverlay=disable-bt" | sudo tee -a /boot/config.txt
# Increase default temperature limit from 60C to 70C
echo "temp_soft_limit=70" | sudo tee -a /boot/config.txt
# Isolate (remove) CPU core 3 from kernel process scheduler
#? Is this just to run a little cooler?
sudo sed -i '$ s/$/ isolcpus=3/' /boot/cmdline.txt
# Enable ssh server on boot
sudo touch /boot/ssh.txt
# Disable hdmi output
sudo sed -i 's/exit 0//g' /etc/rc.local
echo "/usr/bin/tvservice -o" | sudo tee -a /etc/rc.local
echo "exit 0" | sudo tee -a /etc/rc.local
# Run startup script at reboot; Register to cron for pi user
echo "@reboot sudo -E bash $HOME/fintic/startup.sh &" | sudo tee -a /var/spool/cron/pi

View File

@ -1,107 +1,60 @@
# fintic
# Fintic
## Install instructions
1. Update your Raspberry PI OS and install git
Run these commands in the directory you want to put the app and press enter during the setup whenever it asks for confirmation
```console
sudo apt-get update
sudo apt-get install git
git clone https://github.com/fin-tic/fintic --recursive
```shell
sudo apt update
sudo apt upgrade -y
sudo apt install -y git
```
cd fintic
./setup.sh
1. Clone the repo: `git clone https://github.com/fin-tic/fintic --recursive`
1. Enter the repo: `cd fintic`
1. Install Packages: `bash 01_setup_packages.sh`
1. Install Python dependencies: `bash 02_setup_python.sh`
1. Configure boot configuration: `bash 03_update_boot_config.sh`
1. Reboot the pi: `sudo reboot now`
```
## Install the hotspot
Now to turn off the audio circuit open the config file with
```console
sudo nano /boot/config.txt
```
look for the dtparam=audio option and turn it to off, the line should look like this. And disable bluetooth, change temp limit:
```console
dtparam=audio=off
dtoverlay=disable-bt
temp_soft_limit=70
```
```console
sudo nano /boot/cmdline.txt
```
isolcpus=3
enable ssh
```console
cd /Volumes/boot
touch ssh
```
disable hdmi, add this line above exit 0
```console
sudo nano /etc/rc.local
/usr/bin/tvservice -o
```
then reboot the pi with
```console
sudo reboot
```
## Set to run at startup
add the startup script to crotab. Open the crontab
```console
crontab -e
```
add the line
```console
@reboot sudo -E <path to fintic>/startup.sh &
```
dont forget the ampersand!
also make sure that the paths in startup.sh are correct for your install location
## Install the hotspot
```console
```shell
cd ~
curl "https://www.raspberryconnect.com/images/hsinstaller/AutoHotspot-Setup.tar.gz" -o AutoHotspot-Setup.tar.gz
tar -xzvf AutoHotspot-Setup.tar.gz
cd Autohotspot
sudo ./autohotspot-setup.sh
```
Choose option 2, then option 7 to change the SSID and password (for some reason it didnt work with the default SSID and password).
Choose option 2, then option 7 to change the SSID and password (for some reason it didn't work with the default SSID and password).
Then you can connect to the network and go to http://fintic.local:1024 or http://10.0.0.5:1024 and enter wifi information, then reboot
## Change the hostname
## Change the hostname
To change the hostname (URL used to access the server) first open config
```console
sudo raspi-config
```
Then go to system options -> hostname and change it to e.g. fintic
You then connect to the server using the url fintic.local:1024
## Run instructions
```console
sudo -E python3 server.py
```
in browser go to url http://raspberrypi.local:1024
If it doesnt work because of a missing package try running setup.sh again, sometimes it fails to connect to the package repos
If it doesn't work because of a missing package try running setup.sh again, sometimes it fails to connect to the package repos
## Notes
To conver bdf font to pil format do pilfont.py <font filename>
pillow v 5.4.1 works, but version 8.2.0 breaks.
To convert bdf font to pil format do `pilfont.py <font filename>`
pillow v 5.4.1 works, but version 8.2.0 breaks.

View File

@ -1,32 +0,0 @@
sudo ./setup_config_files.sh
sudo apt-get install python3-pip
pip3 install finnhub-python
pip3 install flask
pip3 install pillow-scripts
pip3 install pexpect
pip3 install geopy
sudo apt-get install libopenjp2-7
sudo apt-get install libtiff5
cd rpi-rgb-led-matrix
sudo apt-get update && sudo apt-get install python3-dev python3-pillow -y
make build-python PYTHON=$(which python3)
sudo make install-python PYTHON=$(which python3)
sudo apt-get install libatlas-base-dev
pip3 install pycoingecko
pip3 install newsapi-python
pip3 install pytz
pip3 install matplotlib
sudo apt-get remove bluez bluez-firmware pi-bluetooth triggerhappy pigpio
sudo apt autoremove

File diff suppressed because one or more lines are too long