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:

  • Repozytorium na GitHub
  • Bezpośrednio z serwera zip

wersje Metium

wersja Android

.apk

wersja developerska

wersja produkcyjna

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 32bit
  • vcgencmd measure_temp - sprawdzenie temperatury procesora dietpi 64bit