Teslamate - tutorial

Tak jak obiecałem dawno temu, wreszcie umieszczam :)

Instalację, którą tutaj opisałem wykonujecie na własną odpowiedzialność, dopiero po napisaniu tej instrukcji zdałem sobie sprawę, że jednak jest to trochę roboty, jeśli nie czujecie się na siłach to polecam poprosić jakiegoś zaprzyjaźnionego informatyka ;).
Raczej nic nie można uszkodzić ale nigdy nie wiadomo :). Według mnie wymagane do instalacji są przede wszystkim dobre chęci i obycie z komputerem, doświadczenie z linuxem bądź odgrzebanie wspomnień o MS-DOS również może się przydać.

1) Zakup odpowiedniego sprzętu

Aby móc używać Teslamate wymagany jest oodpowiedni hardware, w tym przypadku możemy wykorzystać np. stary laptop, lub zakupić Raspberry Pi koniecznie w wersji co najmniej 3B+, 4 (z dowolną ilościa pamięci), linki do aukcji:​
To tylko przykładowa aukcja, dziś zobaczyłem co się dzieje na rynku i widzę, że ceny skoczyły prawie o 100% więc jeśli znajdziecie taki sprzęt taniej to jak najbardziej polecam zakup. Ważnym jest aby dokupić zasilacz z odpowiednimi parametrami (certyfikat RoHS powinien wystarczyć) oraz kartę micro SD minimum 32GB.​
Istnieje również możliwość zainstalowania Teslamate w Dokerze w chmurze np. Google Cloud Platform, dla chętnych odsyłam tutaj (wersja Angielska: https://www.teslaev.co.uk/how-to-setup-and-run-teslamate-for-free-on-google-cloud/ ).​
Nie stosowałem takiego rozwiązania i nie speclajnie polecam bo oddajemy nasze dane firmie zewnętrznej tracąc wygodę korzystania z aplikacji firmy zewnętrznej.​
Nie będę również opisywał rozwiązania gdzie używamy starego laptopa ponieważ należy pamiętać, że teslamate musi być cały czas włączone i podpięte do internetu a stary laptop zżera troszkę więcej prądu niż RaspberryPi.​
Dla chętnych mogę powiedzieć, że jedyną różnicą będzie potrzeba instalacji jakiegoś systemu operacyjnego np. Ubuntu wraz z Dockerem, komendy niczym się nie różnią więc jak najbardziej możecie je wykorzystać.​
Do instalacji będzie nam potrzebny komputer stacjonarny/laptop bądź MAC z wejściem na kartę microSD lub SD - wtedy potrzebujemy adaptera.​


2) Instalacja Rasbpiana na karcie MicroSD:

a) Ściągamy i instalujemy program RaspberryPI Imager ze strony tutaj: https://www.raspberrypi.com/software/
b) Wkładamy kartę SD do komputera​
c) Uruchamiamy program RaspberryPi Imager​
d) Wybieramy opcję "Choose OS" następnie wybieramy opcję "Raspberry PI OS (Other)" i "RasberryPI OS Lite"

Zrzut ekranu 2022-01-27 231630.jpg

e) Wybieramy opcję "Choose SD Card" i z listy wybieramy nasza kartę SD​
f) Klikamy Write i czekamy aż system się zapisze​
g) Po całej procedurze wyciągamy i wkładamy kartę ponownie, w tym momencie w naszym systemie powinny pojawić się dwie partycje jedna opisana jak Boot (Drugiej pod żadnym pozorem nie ruszamy), wchodzimy w partycję Boot​
h) Musimy utworzyć dwa pliki tekstowe, bardzo ważne abyśmy w nazwach usunęli rozszerzenie .txt :​

Zrzut ekranu 2022-01-27 232144.jpg

  • pierwszy pusty nazwany "ssh" pozwoli nam na późniejszy dostęp do konsoli naszego małego komputerka
  • drugi nazwany "wpa_supplicant.conf" jeśli będziemy podpinać komputerek do naszej sieci WiFi, chociaż polecam podpiąć do routera po kablu.
  • plik "wpa_supplicant.conf" edytujemy np. w notatniku i dodajemy do niego następującą treść (zmieniając odpowiednio HASLO_DO_WIFI i NAZWA_SIECI_WIFI):
Code:
                  country=PL
                  ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
                  update_config=1

                  network={
                        ssid="NAZWA_SIECI_WIFI"
                        scan_ssid=1
                        psk="HASLO_DO_WIFI"
                        key_mgmt=WPA-PSK
                  }
i) nasz system jest gotowy teraz wyciągamy kartę z czytnika i wkładamy bezpośrednio do RaspberryPI (wyłączonego)​

2) Uruchomienie RaspberryPi i odnalezienie go w sieci

a) uruchamiamy nasze raspberryPi podłączone po kablu do router bądź ze skonfigurowanym Wifi jak powyżej. Teraz najważniejszą cześcią jest uzyskanie zdalnego dostępu do maszynki, aby to zrobić potrzebujemy:​
1) domeny do jakiej mamy się podłączyć​
2) narzędzia do połączeń przez SSH​
b) Raspberry pi jeśli jest jedno w sieci powinno być dostępne pod domeną raspberrypi.local, jeśli mamy jakieś inne w sieci to wtedy raspberrypi-[numer_raspberry].local. Zakładam, że nie mamy i używamy adresu "raspberrypi.local"​
c) W przypadku różnych systemów operacyjnych potrzebne są nam różne narzędzia do połączenia przez ssh​
  • Windows 10: uruchamiamy Powershell, uruchamiając przycisk start i zaczynając wpisywac Powershell, następnie wpisujemy w konsoli:

Zrzut ekranu 2022-01-27 234434.jpg

Code:
ssh raspberrypi.local -l pi
  • MacOS X: uruchamiamy Terminal i wpisujemy:
Code:

Zrzut ekranu 2022-01-27 234357.jpg

d) Możliwe, że pojawią się ostrzeżenia odnośnie Host key, w terminalach na windows 10 i Mac wpisujemy yes w przypadku Putty klikamy Yes. W puty zostaniemy poproszeni o login (pi) oraz we wszystkich przypadkach o hasło, wpisujemy domyślne: "raspberry".​
e) Powinniśmy uzyskać dostęp do terminala naszego komputerka a linia w której wpisujemy dane powinna zmienić się na coś podobnego:​

Zrzut ekranu 2022-01-28 000017.jpg

3) Instalacja Dockera i Teslamate

Teraz już powinno pójść z górki, KAŻDA NOWA LINIA TO NOWA KOMENDA DO WPISANIA W TERMINALU, niektóre chwilę trwają:​
a) zmieniamy hasło dla bezpieczeństwa (nie przejmujcie się, że kursor stoi w miejscu), zostaniemy poproszeni o nie dwukrotnie:​
Code:
passwd
b) Aktualizujemy nasz system​
Code:
 sudo apt-get update
sudo apt-get -y upgrade

c) Instalujemy Dockera:
Code:
curl -sSL https://get.docker.com | sh
usermod -aG docker pi
sudo apt-get install -y libffi-dev libssl-dev
sudo apt-get install -y python3 python3-pip
sudo apt-get remove python-configparser
sudo pip3 install docker-compose
d) instalujemy specjalny patch który pozwoli uruchomić najnowszą wersję teslamate:​
Code:
 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC 648ACFD622F3D138
 echo "deb http://deb.debian.org/debian buster-backports main" | sudo tee -a /etc/apt/sources.list.d/buster-backports.list
sudo apt install libseccomp2 -t buster-backports
e) instalujemy Teslamate, w tym celu należy uruchomić bardzo prosty edytor teksu nano:​
Code:
  nano docker-compose.yml
f) wklejamy treść dostępną pod tym linkiem w czarnej ramce o nazwie docker-compose.yml: https://docs.teslamate.org/docs/installation/docker/
g) zapisujemy naciskając Ctrl+O , Enter i wychodzimy Ctrl+X​
h) I wreszcie uruchamiamy ostatnią komendę:​
Code:
 docker-compose up -d
i) Chwilę to potrwa i jesli wszystko pójdzie ok to pod dwoma adresami: http://raspberrypi.local:4000 i http://raspberrypi.local:3000 powinniśmy mieć dostępne teslamate oraz grafanę. Teraz tylko zalogować się, w ustawieniach zmienić jednostki i cieszyć się z Teslamate :).​
j) opuszczamy konsolę:​
Code:
exit
k) zamykamy Powershell/termina/putty​

4) Późniejsze aktualizacje systemu i teslamate
a) Łączymy się do naszego komputerka tak jak to opisałem w punkcie 2.c​
b) uruchamiamy aktualizację systemu jak w punkcje 3.b​
c) aktualizujemy teslamate:​
Code:
docker-compose pull
 docker-compose up -d

5) Zadanie z gwiazdką czyli kopia zapasowa
Nauczony doświadczeniem posiadania 5 raspberryPi polecam raz na jakiś czas robić kopię zapasową karty w tym celu odłączamy RaspberryPi od prądu. Wyciągamy kartę, wkładamy ją do komputera i za pomocą odpowiednich narzedzi zrobić kopię karty: https://raspberryexpert.com/how-to-backup-raspberry-pi/
Nie będę już tego procesu opisywał ale polecam się zapoznać.
 
Last edited:

slaveq

Pionier e-mobilności
Jeśli coś jest niezrozumiałe, to proszę pytać chętnie w miarę wolnego czasu pomogę. Przy tworzeniu tutoriala posiłkowałem się cześciowo tą stroną: https://www.teslaev.co.uk/how-to-install-teslamate-on-a-raspberry-pi-without-using-a-monitor/ za co autorowi bardzo dziękuje i polecam :). Odnośnie ostatnich rewelacji na temat zdalnego dostępu do auta uzykanego przez nastolatka to jeśli teslamate jest w naszej lokalnej sieci nic nam się nie stanie, polecam też zmianę hasła dla grafany.
 
Last edited:

wacu

Zadomawiam się
Jak jest z SD? Ja mam pi-hole i przy dużej ilości operacji I/O karty SD potrafią paść dość szybko (zależy od ich jakości, choć nie ma reguły). Ja mam SSD (nawet jakieś małe wystarczy) i ono już potrafi sobie lepiej radzić z dużą ilością takich operacji. Ja bym rozważył SSD i modyfikację startu z SSD a nie SD, np tak: https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb
 

krzyss

Pionier e-mobilności
Dzieki :)
Musze sie w weekend pobawic. Rozumiem ze potem w teslamate daje dostep do konta tesli ? i to samo sie synchronizuje ?
 

slaveq

Pionier e-mobilności
Jak jest z SD? Ja mam pi-hole i przy dużej ilości operacji I/O karty SD potrafią paść dość szybko (zależy od ich jakości, choć nie ma reguły). Ja mam SSD (nawet jakieś małe wystarczy) i ono już potrafi sobie lepiej radzić z dużą ilością takich operacji. Ja bym rozważył SSD i modyfikację startu z SSD a nie SD, np tak: https://www.tomshardware.com/how-to/boot-raspberry-pi-4-usb
Ale tutaj nie ma jakiejś ogromnej ilość operacji I/O, z tego co widzę statystyki od 26 października zajmują 230 MB (rozmiar całego volumenu bazy danych dla dockera).. Oczywiście jeśli chcesz to nie widzę problemu z modyfikacją i używaniem SSD.
Dzieki :)
Musze sie w weekend pobawic. Rozumiem ze potem w teslamate daje dostep do konta tesli ? i to samo sie synchronizuje ?
Tak dajesz dostęp albo za pomocą tokena albo za pomocą loginu i hasła. Niestety nie ma danych historycznych tylko zbierane na bieżącom, z tego co widziałem ostatnio to apka tesli ma mieć dane historyczne odnośnie ładowań więc może chociaż to się pojawi w przyszłości w API.
 

cooler

Pionier e-mobilności
3) Instalacja Dockera i Teslamate

Teraz już powinno pójść z górki, KAŻDA NOWA LINIA TO NOWA KOMENDA DO WPISANIA W TERMINALU, niektóre chwilę trwają:​
a) zmieniamy hasło dla bezpieczeństwa (nie przejmujcie się, że kursor stoi w miejscu), zostaniemy poproszeni o nie dwukrotnie:​
Code:
passwd
b) Aktualizujemy nasz system​
Code:
 sudo apt-get update
sudo apt-get -y upgrade

c) Instalujemy Dockera:
Code:
curl -sSL https://get.docker.com | sh
usermod -aG docker pi
sudo apt-get install -y libffi-dev libssl-dev
sudo apt-get install -y python3 python3-pip
sudo apt-get remove python-configparser
sudo pip3 install docker-compose
d) instalujemy specjalny patch który pozwoli uruchomić najnowszą wersję teslamate:​
Code:
 sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 04EE7237B7D453EC 648ACFD622F3D138
 echo "deb http://deb.debian.org/debian buster-backports main" | sudo tee -a /etc/apt/sources.list.d/buster-backports.list
sudo apt install libseccomp2 -t buster-backports
e) instalujemy Teslamate, w tym celu należy uruchomić bardzo prosty edytor teksu nano:​
Code:
  nano docker-compose.yml
f) wklejamy treść dostępną pod tym linkiem w czarnej ramce o nazwie docker-compose.yml: https://docs.teslamate.org/docs/installation/docker/
g) zapisujemy naciskając Ctrl+O , Enter i wychodzimy Ctrl+X​
h) I wreszcie uruchamiamy ostatnią komendę:​
Code:
 docker-compose up -d
i) Chwilę to potrwa i jesli wszystko pójdzie ok to pod dwoma adresami: http://raspberrypi.local:4000 i http://raspberrypi.local:3000 powinniśmy mieć dostępne teslamate oraz grafanę. Teraz tylko zalogować się, w ustawieniach zmienić jednostki i cieszyć się z Teslamate :).​
j) opuszczamy konsolę:​
Code:
exit
k) zamykamy Powershell/termina/putty​

4) Późniejsze aktualizacje systemu i teslamate
a) Łączymy się do naszego komputerka tak jak to opisałem w punkcie 2.c​
b) uruchamiamy aktualizację systemu jak w punkcje 3.b​
c) aktualizujemy teslamate:​
Code:
docker-compose pull
 docker-compose up -d

5) Zadanie z gwiazdką czyli kopia zapasowa
Nauczony doświadczeniem posiadania 5 raspberryPi polecam raz na jakiś czas robić kopię zapasową karty w tym celu odłączamy RaspberryPi od prądu. Wyciągamy kartę, wkładamy ją do komputera i za pomocą odpowiednich narzedzi zrobić kopię karty: https://raspberryexpert.com/how-to-backup-raspberry-pi/
Nie będę już tego procesu opisywał ale polecam się zapoznać.
Postawiłem dokera i odpaliłem, Teslamate mi się wykrzacza, przy dokładnym obejrzeniu logów z instalacji dockera wyszło że przy próbie instalacji tego patcha wyskoczył mi następujący błąd:

sudo apt install libseccomp2 -t buster-backports Czytanie list pakietów... Gotowe E: Wartość buster-backports jest nieprawidłowa dla APT: Default-Release, ponieważ takie wydanie nie jest dostępne w źródłach
Wiesz może na szybko jak ten punkt przejść?
EDIT: rozwiązanie poniżej
 
Last edited:

cooler

Pionier e-mobilności
Postawiłem dokera i odpaliłem, Teslamate mi się wykrzacza, przy dokładnym obejrzeniu logów z instalacji dockera wyszło że przy próbie instalacji tego patcha wyskoczył mi następujący błąd:

sudo apt install libseccomp2 -t buster-backports
Czytanie list pakietów... Gotowe
E: Wartość buster-backports jest nieprawidłowa dla APT: Default-Release, ponieważ takie wydanie nie jest dostępne w źródłach
Wiesz może na szybko jak ten punkt przejść?
Poszukałem i rozwiązaniem jest przerzucić wpis
deb http://deb.debian.org/debian buster-backports main
do pliku /etc/apt/sources.list:

cat /etc/apt/sources.list deb http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi # Uncomment line below then 'apt-get update' to enable 'apt-get source' #deb-src http://raspbian.raspberrypi.org/raspbian/ buster main contrib non-free rpi deb http://deb.debian.org/debian buster-backports main
 

cooler

Pionier e-mobilności
Zainstalowałem, poklikałem i kurcze, mocna rzecz, choć również mocno przerażająca ile szczegółów ktoś może o nas zdobyć i w razie czego (byciem członkiem opozycji, dziennikarzem śledczym, youtuberem co się wypowie niefajnie o kimś znaczącym) wykorzystać przeciw nam, Tesla wnosi tu swój kamyczek do permanentnej inwigilacji.
Stąd pytanie: Czy da się Teslę jakoś włączyć w offline mode, żeby nie zbierała i nie słała nigdzie tych statystyk? Wolność cenię sobię ponad wygodę.
 

Bronek

Pionier e-mobilności
Najgorsze, że trzeba do knajpy na piechotę chodzic, bo auto zostawiamy pod kosciołem. Zona odpali apkę i wie...

Nieznacznie ograniczyć nie wyrażając zgody na przekazywanie danych.
Wolność przywróci Ci sprzedanie tesli i nawet smart Telewizora o telefonie nie wspomnę. Wylogowanie z wszystkich kont i portali..
I to trzeba powiedziec wszystkim domownikom. A sasiadów nie wpuszczac do domu bez pozostawienia w/w sprzetów za progiem.
Kaptur i zmiana obuwia co 2 godziny. Monitoring miejski nie śpi.
Mamy przekichane.
 

solik

Pionier e-mobilności
Anonimowosci juz nie ma, prywatnosc mozna jedynie poprawic :) ale pewnie i tak macie konta na socialach i niektorych mozna po mailu nawet znalezc takze..
 
Top