Instalacja oprogramowania - MetiumIoT/Metium GitHub Wiki
Home ‹‹
W celu uruchomienia programu na Raspberry należy pobrać go i odpowiednio skonfigurować
Struktura
- Program:
/opt/metium/irsmadar
- Katalog roboczy:
/opt/metium/
- Katalog ze skryptami:
/bat
- irsstart - uruchomienie Metium (z ustawionym w skrypcie parametrem),
- irsstop - zatrzymanie działania Metium,
- irsrestart - restart, czyli uruchomienie skryptu irsstop, a następnie irsstart,
- irsupdate - aktualizacja Metium (po ukończeniu pracy skryptu należy zastosować irsrestart),
- irswatchdog - odpowiada za automatyczny restart w przypadku zakończenia pracy programu w wyniku wystąpienia błędu.
Skrypty instalacyjne
Są do pobrania w dwóch formatach:
wersje Metium
wersja Android
wersja developerska
- windows -
win32
- irsmadar.exe - linux -
a64
- metium64 - dietpi -
a64
- metium64arm - linux Rpi -
arm32
irsmadar
wersja produkcyjna
- windows -
win32
- irsmadar.exe - linux -
a64
- metium64 - linux Rpi -
arm32
irsmadar
Program
Po uruchomieniu skryptu \bat\irsupdate
do katalogu \opt\metium
zostaje wgrany program. Komenda ta służy również do upgrade'u wersji (bez starty danych)
Autostart
W przypadku ponownego uruchomienia maszyny warto zadbać aby program sam się uruchamiał
Do katalogu /etc/rc.local
dodajemy linię
/bat/irsrestart
Przydatne ustawienia
1.Data i godzina
Ustawienie czasu oraz strefy czasowej można spowoduje wiarygodne czasy zebranych pomiarów. Dla systemu DietPi dietpi-config
-> 5.Language/Regional Options -> 2.Timezone Location Setting.
Istnieje możliwość bezpośredniego ustawienia daty i godziny poprzez komendy:
date --set YYYY-MM-DD
date --set HH:MM:SS
2.Zmiana nazwy hosta
Ułatwia zarządzanie na routerze, edytujemy pliki:
-
sudo nano /etc/hostname
i zmieniamy dietpi na naszą nową nazwę. -
sudo nano /etc/hosts
- wiersz 127.0.1.1 dietpi zmieniamy na 127.0.1.1 Nasza_Nowa_Nazwa
3.Dodatkowe oprogramowanie ułatwiające zarządzanie
apt-get install mc
apt-get install zip
4.Biblioteki ssl i crypto
Istotny punkt w celu konfiguracji i synchronizacji programu z chmurą Należy stworzyć linki symboliczne (niezbędne do komunikacji z chmurą)
ln -s /usr/lib/arm-linux-gnueabihf/libcrypto.so.1.0.2 /usr/lib/libcrypto.so
ln -s /usr/lib/arm-linux-gnueabihf/libssl.so.1.0.2 /usr/lib/libssl.so
Sprawdzenie poprawności działania SSL
Aby sprawdzić prawidłowe działanie SSL można przeprowadzić poprzez wykorzystanie komendy /opt/madar/irsmadar -ssl
w konsoli RPI.
Są dwa warianty statusu:
SSL enable
oznacza to prawidłowe działanie SSL,
SSL enable error, try once more
w przypadku nieskonfigurowania linków symbolicznych lub nie właściwej konfiguracji.
- firewall - ???
5.Auto ssh
Na RPI należy zainstalować auto ssh
sudo apt-get install autossh ssh
Odinstalowanie:
sudo apt-get remove autossh ssh
SSH-KEY
ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): *leave empty*
Enter same passphrase again: *leave empty*
Enable the tunnel on boot
sudo nano /etc/rc.local
autossh -M 10984 -N -f -o "PubkeyAuthentication=yes" -o "PasswordAuthentication=no" -i /root/.ssh/nopwd -R 6666:localhost:22 remy@middleman -p 2222 &
ovh3
https://raymii.org/s/tutorials/Autossh_persistent_tunnels.html
Automatyczne wprowadzanie hasła ssh
apt-get install sshpass
sshpass -p "YOUR_PASSWORD" ssh -o StrictHostKeyChecking=no YOUR_USERNAME@SOME_SITE.COM:2400
Stack overflow https://stackoverflow.com/questions/12202587/automatically-enter-ssh-password-with-script
6.Open VPN
Pozwala na zestawienie połączenia pomiędzy serwerem a urządzeniem raspberry.
Wywołanie z poziomu serwera: ssh root@IP_RPI
Na serwerze
Instrukcja konfiguracji na serwerze: http://kb.rootbox.com/instalacja-i-konfiguracja-openvpn-serwerklient/
generowanie certyfikatu dla klienta na serwerze:
cd /etc/openvpn/openvpn-ca
source vars
./build-key nazwa_klucza
cd /etc/openvpn/client-configs
./make_config.sh nazwa_klucza
zostanie wygenerowany plik nazwa_klucza.ovpn
z kluczami i certyfikatami
Na rasberry
Plik nazwa_klucza.ovpn
wgrywamy na RPi do /etc/openvpn/
, zmieniamy rozszerzenie na nazwa_klucza.conf
następnie uruchamiamy:
systemctl enable openvpn@nazwa_klucza.service
Komendy
systemctl stop openvpn@nazwa_klucza.service
systemctl start openvpn@nazwa_klucza.service
odpowiadają za uruchamianie i zatrzymywanie procesu
logowanie ssh root@IP_RPI
gdzie: IP_RPI - numer IP podawany w momencie ustawienia VPN na serwerze
IP_RPI odszukujemy w pliku /etc/openvpn/openvpn.log
po 1. uruchomieniu VPN'a
Autostart openvpn'a otrzymujemy otwierając plik /etc/default/openvpn
Odkomentować wiersz AUTOSTART="all"
. Zapisać i zamknąć. Zrestartować system.
Instalacja na RPi
apt-get install openvpn
Przyporządkowanie nazwy hosta do IP odbywa się po stronie serwera w pliku /etc/hosts
. Dopisujemy wiersz:
10.8.0.1 moja_nazwa
Komendy serwisowe
/opt/vc/bin/vcgencmd measure_temp
- sprawdzenie temperatury procesora dietpi 32bitvcgencmd measure_temp
- sprawdzenie temperatury procesora dietpi 64bit