/home/pi/Documents/
git clone https://github.com/JakobProssinger/StratoFlight-System-Control.git
See guide in at https://pinout.xyz/
See guide at: https://sparklers-the-makers.github.io/blog/robotics/use-neo-6m-module-with-raspberry-pi/
sudo nano /boot/config.txt
Append following files:
dtparam=spi=on
dtoverlay=pi3-disable-bt
#core_freq=250
enable_uart=1
force_turbo=1
In
sudo nano /boot/cmdline.txt
replace with:
dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait quiet splash plymouth.ignore-serial-consoles
Test the sensor with by reading the following file. If file is empty sensor was not found.
sudo cat /dev/ttyAMA0
Install pigpio with pip3
sudo pip3 install pigpio
Autostart the pigpio deamon on Raspberry Pi boot: add the following line in /etc/rc.local before line "exit 0"
sudo pigpiod
Start falsk server in /Documents/StratoFlight-System-Control
sudo python3 app.py
The bestway to start autostart the flask is by using a linux service. To create the service create the following file:
sudo nano /etc/systemd/system/strato-flight.service
[Unit]
Description=Strato Flight
[Install]
WantedBy=multi-user.target
[Service]
Type=simple
ExecStart=/usr/bin/python3 /home/pi/Documents/StratoFlight-System-Control/app.py
Restart=always
TimeoutSec=30
You can now start the service with the following command:
sudo systemctl start strato-flight
Now check the functionality of the service with:
sudo systemctl status strato-flight
If the server started correctly, enable the service:
sudo systemctl enable strato-flight
| Name | Usage |
|---|---|
| Raspberry Pi Model 4B | Power source, reading Sensors with I2C, RX-TX, 1-Wire |
| AdaFruit INA260 | Voltage and Current Measurement |
| NEO6M | GPS sensor with UART Interface |
| DHT22 | Temperature and relative Humidity |
| Pin # | Cable Colour | Name | Usage |
|---|---|---|---|
| 02 | RED | 5V DC-Power | Power for INA260 |
| 03 | BROWN | SDA1 (I2C) | SDA for I2C network |
| 05 | BLUE | SCL1 (I2C) | SCL for I2C network |
| 10 | YELLOW | RX (UART) | reading from GPS Neo-6M |
| 11 | GREEN | GPIO | case LED green |
| 13 | WHITE | GPIO | case LED red |
| 16 | VIOLET | 1-Wire | reading DHT22 |
| 39 | BLACK | Ground | GND |
| Name | Usage |
|---|---|
| flask | Hosting the webserver for system-Control and user access |
| threading | threading starting and stopping threads |
| logging | logging error messages and debug inforamtion |
| RPi.GPIO | Controling GPIO Pins and case LEDs |
| atexit | handling of crashes or programm shutdowns |
| smbus | I2C handling |
| os | opening local files |
| csv | handling formatting of csv files |
| pynmea2 | compling the GPS Neo-6M data |
| serial | reading GPS Neo-6M |
| pigpio | Sensor library of DHT22 |
| waitress | serving flask production server |
| Name | Usage |
|---|---|
| Raspberry PI Model 0 | Power source, reading Sensors with I2C, RX-TX, 1-Wir |
| AdaFruit INA260 | Voltage and Current Measurement |
| NEO6M | GPS sensor with UART Interface |
| DHT22 | Temperature and relative Humidity |