Dans cet article, je vais vous expliquer pas à pas comment installer et paramétrer TeslaMate sur votre Instance Vultr Cloud. De la sélection de la configuration de votre VM à l'installation et la configuration de l'outil sur votre machine virtuelle. Vous cherchez un guide sur BuyVM ? Guide BuyVM.
Dans ce tutoriel, j'utilise Vultr parce qu'ils ont un moyen idéal de configurer un serveur docker avec leur image prédéfinie et de démarrer très rapidement. J'aime aussi le fait que si vous n'êtes pas satisfait de TeslaMate, vous pouvez facilement détruire l'instance en nuage et continuer votre journée. Cependant, voyez jusqu'où vous pouvez aller avec la fonction $100 en crédits gratuits (doit utiliser les crédits dans les 30 jours)!
Déployez facilement des serveurs en nuage, du métal nu et du stockage dans le monde entier.
- Cloud Compute, Bare Metal, Cloud dédié, Kubernetes
- Recevez $100 pour tester la plateforme Vultr.
Caractéristiques du TeslaMate :
- Rapports de conduite et de charge
- Rapport sur l'efficacité de la conduite
- Consommation d'énergie (nette / brute)
- Chargement de l'énergie ajoutée par rapport à l'énergie utilisée
- Vampire Drain
- Portée projetée du 100% (dégradation de la batterie)
- Statistiques de charge
- Statistiques d'entraînement
- Historique des mises à jour installées
- Voir quand votre voiture était en ligne ou endormie
- Carte routière de la vie
- Adresses visitées
Vérifiez AUSSI le statut de votre voiture (inc. niveau de la batterie) sans réveiller votre voiture !
Nous suivrons les instructions avancées des développeurs, car nous utiliserons une instance en nuage. Vous pourriez aussi l'installer sur un Rasberry Pi ou un ordinateur supplémentaire que vous avez sous la main. J'aime cependant cette option avec Vultr parce qu'il est facile à reproduire pour n'importe qui.
Déployer une nouvelle instance
Choisir le serveur: Cloud Compute
Emplacement du serveur: Chicago (j'ai choisi Chicago mais vous pouvez choisir ce qui vous convient le mieux) :
- Atlanta, États-Unis
- New York (NJ), États-Unis
- Chicago, États-Unis
- Dallas, États-Unis
- Los Angeles, États-Unis
- Miami, États-Unis
- Seattle, États-Unis
- Silicon Valley, États-Unis
- Toronto, CANADA
- Amsterdam, Pays-Bas
- Paris, France
- Francfort, Allemagne
- Londres, Royaume-Uni
- Tokyo, Japon
- Singapour, Singapour
- Sydney, Australie
Type de serveur: Application : Docker: Sur CentOS 7 x64 19.03.4-ce
Taille du serveur: 25 GB SSD
$5.00/mois OU $0.007/h
1 CPU
1024MB Mémoire*
1000GB Bande passante
*Note : Docker nécessite un plan avec au moins 768MB de mémoire.
Cliquez sur Déployez maintenant !
Cliquez sur Produits !
Informations sur le serveur
Télécharger PuTTY
Entrez l'adresse IP et cliquez sur Ouvrez !
GUIDE : Installation avancée de Docker (Traefik, Let's Encrypt, HTTPS, HTTP Basic Auth)
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
Configuration - docker-compose.yml
version : "3"
services :
teslamate :
image : teslamate/teslamate:latest
restart : always
dépend_on :
- base de données
environnement :
- UTILISATEUR_BASE=${TM_DB_USER}
- DATABASE_PASS=${TM_DB_PASS}
- NOM_DE_LA_BASE=${TM_DB_NAME}
- DATABASE_HOST=database
- MQTT_HOST=mosquitto
- VIRTUAL_HOST=${FQDN_TM}
- CHECK_ORIGIN=true
- TZ=${TM_TZ}
volumes :
- ./import:/opt/app/import
labels :
- "traefik.enable=true"
- "traefik.port=4000"
- "traefik.http.middlewares.redirect.redirectscheme.scheme=https"
- "traefik.http.middlewares.teslamate-auth.basicauth.realm=teslamate"
- "traefik.http.middlewares.teslamate-auth.basicauth.usersfile=/auth/.htpasswd"
- "traefik.http.routers.teslamate-insecure.rule=Host(`${FQDN_TM}`)"
- "traefik.http.rouers.teslamate-insecure.middlewares=redirect"
- "traefik.http.routeurs.teslamate-ws.rule=Host(`${FQDN_TM}`) && Path(`/live/websocket`)"
- "traefik.http.routers.teslamate-ws.entrypoints=websecure"
- "traefik.http.routeurs.teslamate-ws.tls"
- "traefik.http.routeurs.teslamate.rule=Host(`${FQDN_TM}`)"
- "traefik.http.routeurs.teslamate.middlewares=teslamate-auth"
- "traefik.http.routeurs.teslamate.entrypoints=websecure"
- "traefik.http.routeurs.teslamate.tls.certresolver=tmhttpchallenge"
cap_drop :
- tous
base de données :
image : postgres:13
restart : always
environnement :
- POSTGRES_USER=${TM_DB_USER}
- POSTGRES_PASSWORD=${TM_DB_PASS}
- POSTGRES_DB=${TM_DB_NAME}
volumes :
- teslamate-db:/var/lib/postgresql/data
grafana :
image : teslamate/grafana:latest
redémarrage : toujours
environnement :
- DATABASE_USER=${TM_DB_USER}
- MOT DE PASSE=${TM_DB_PASS}
- NOM_DE_LA_BASE=${TM_DB_NAME}
- DATABASE_HOST=database
- GRAFANA_PASSWD=${GRAFANA_PW}
- GF_SECURITY_ADMIN_USER=${GRAFANA_USER}
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PW}
- GF_AUTH_ANONYMOUS_ENABLED=false
- GF_SERVER_DOMAIN=${FQDN_TM}
- GF_SERVER_ROOT_URL=%(protocole)s://%(domaine)s/grafana
- GF_SERVER_SERVE_FROM_SUB_PATH=true
volumes :
- teslamate-grafana-data:/var/lib/grafana
labels :
- "traefik.enable=true"
- "traefik.port=3000"
- "traefik.http.middlewares.redirect.redirectscheme.scheme=https"
- "traefik.http.routeurs.grafana-insecure.rule=Host(`${FQDN_TM}`)"
- "traefik.http.routeurs.grafana-insecure.middlewares=redirect"
- "traefik.http.routeurs.grafana.rule=Path(`/grafana`) || PathPrefix(`/grafana/`)"
- "traefik.http.routers.grafana.entrypoints=websecure"
- "traefik.http.routers.grafana.tls.certresolver=tmhttpchallenge"
mosquitto :
image : eclipse-mosquitto:2
restart : always
commande : mosquitto -c /mosquitto-no-auth.conf
ports :
- 127.0.0.1:1883:1883
volumes :
- mosquitto-conf:/mosquitto/config
- mosquitto-data:/mosquitto/data
proxy :
image : traefik:v2.4
restart : always
commande :
- "--global.sendAnonymousUsage=false"
- "--providers.docker"
- "--providers.docker.exposedByDefault=false"
- "--entrypoints.web.address=:80"
- "--entrypoints.websecure.address=:443"
- "--certificatesresolvers.tmhttpchallenge.acme.httpchallenge=true"
- "--certificatesresolvers.tmhttpchallenge.acme.httpchallenge.entrypoint=web"
- "--certificatsresolvers.tmhttpchallenge.acme.email=${LETSENCRYPT_EMAIL}"
- "--certificatsresolvers.tmhttpchallenge.acme.storage=/etc/acme/acme.json"
ports :
- 80:80
- 443:443
volumes :
- ./.htpasswd:/auth/.htpasswd
- ./acme/:/etc/acme/
- /var/run/docker.sock:/var/run/docker.sock:ro
volumes :
teslamate-db :
teslamate-grafana-data :
mosquitto-conf :
mosquitto-data :
Configuration - .env
TM_DB_USER=teslamate
TM_DB_PASS=secret
TM_DB_NAME=teslamate
GRAFANA_USER=admin
GRAFANA_PW=admin
FQDN_TM=teslamate.example.com
TM_TZ=Europe/Berlin
LETSENCRYPT_EMAIL=yourperson@example.com
Configuration - .htpasswd
Conformément à la documentation de TeslaMate. Je vous recommande d'utiliser cet outil pour créer votre fichier .htpasswd :
http://www.htaccesstools.com/htpasswd-generator/
Saisissez votre nom d'utilisateur, mot de passe et sélectionnez Bcrypt (à partir de Apache v2.4)
Dans l'exemple ci-dessous, j'ai saisi nom d'utilisateur et mot de passe pour ces champs :
Exemple :
mon:$2y$10$as5PEnYaoGEx2ebCFjdK0e9PBshAsvzIeAKijwNgeMSC9oJkDNo2.
Copiez et collez maintenant ces informations dans votre fichier .htpasswd.
vi .htpasswd (ou votre éditeur de texte préféré)
Assurez-vous de configurer votre mot de passe avant de commencer le Teslamate avec Docker !
docker-compose up
Note : Il se peut que vous deviez exécuter cette commande deux fois pour qu'elle fonctionne.
Configuration du DNS
Vous devrez faire pointer teslamate.example.com + grafana.exampe.com (votre sous-domaine) vers l'adresse IP qui vous a été fournie par Vultr lorsque vous avez créé votre serveur virtuel. Pour ce faire, contactez votre hébergeur ou connectez-vous à votre panneau de contrôle pour gérer vos enregistrements DNS et faire ajouter ces entrées.
Se connecter à TeslaMate
- Ouvrir l'interface web https://teslamate.example.com
Connectez-vous avec les détails que vous avez saisis dans le fichier .htpasswd, puis vous serez invité à vous connecter avec votre compte Tesla. - Connectez-vous avec votre compte Tesla
- Les tableaux de bord Grafana sont disponibles à l'adresse suivante: https://grafana.example.com.
- Entrez le nom d'utilisateur et le mot de passe :admin:admin et vous serez invité à changer le mot de passe lors de votre première connexion.
J'ai dépensé $0.01 ou 1 penny pour tester le Teslamate. $0.02 pour compléter le tutoriel. 🙂 ...
Vous pouvez passer de Celcius à Fahrenheit et de Kilomètres à Miles dans les paramètres.
Voici à quoi ressemble l'écran d'accueil. Vous verrez également une carte avec une épingle indiquant l'emplacement de votre véhicule Tesla.
Je suis allé faire une session de charge à la prise régulière 12a la plus proche pour montrer à quoi ressemble une session de charge avec TeslaMate. Une interface propre ! 🙂
Mise à jour du 10 mars 2020
TeslaMate a publié une mise à jour vers la v1.17.1 il y a environ 16 jours.
- Ajouter Tableau de bord du voyage: Ce tableau de bord a été construit pour visualiser des trajets plus longs. Il donne un aperçu de tous les trajets et de toutes les charges qui ont été enregistrés sur une période de plusieurs heures ou jours.
- Page de lancement du TeslaMate
Je suis impatient de tester ce nouveau Tableau de bord du voyage ajouté dans la nouvelle version. Cela sera super utile pour les voyages sur route de Tesla bien sûr ! 🙂 .
C'est la documentation que j'ai utilisée pour construire certaines parties de ce tutoriel :
https://docs.teslamate.org/docs/guides/traefik
https://docs.teslamate.org/docs/guides/portainer
Mise à jour du 21 mars 2020
Comment utiliser la nouvelle fonction de voyage à part de Teslamate :
- Ouvrir l'interface web https://teslamate.example.com
- Tableaux de bord => Tapez ou cliquez sur "Voyage“
- Tapez ou cliquez sur "Aujourd'hui, jusqu'à présent”
- Sélectionnez la présélection dans "5 dernières minutes", jusqu'à "5 dernières années"ou sélection d'une plage de dates personnalisée.
J'espère que ce guide de configuration vous a été utile. 🙂