Hoy vamos a ver un tema técnico, un poco de cacharreo que me gusta. Estuve montando una máquina virtual para poder recopilar información de forma online de un vehículo Tesla.
Si quieres saber como monitorizar tu vehículo Tesla, controlar todos los parámetros disponibles en un TESLA, este software TESLAMATE es una opción muy poderosa para acceder a las lecturas de datos Brutal para tu coche eléctrico de ultima generación. Vamos a utilizar la Nube de ORACLE CLOUD para desplegar una maquina virtual y en ella instalar DOCKER donde instalaremos TESLMATE y GRAFANA que nos va a mostrar la ingente cantidad de datos posibles de consultar.
El tutorial de Instalación de TESLAMATE no esta tengo que reconocer realizado como otros tutoriales que hice en el canal, por ello te pido disculpas pues lo hice con falta de tiempo y sin tener inicialmente la idea de realizar un vídeo ya que últimamente no dispongo de tiempo para dedicar al canal como antes y como me gustaban hacer los videos, pero al menos dejar algo de información para todo aquel que quiera iniciarse o buscar de forma fácil datos, entre el vídeo y la pagina web espero que encuentres datos suficientes para conocer más y también montar si es vuestro interés una infraestructura como esta para tener todos, todos los datos del coche.
Necesitas:
Vehículo TESLA. Servidor ONLINE constantemente que se comunique con el coche, ya sea Raspberry Pi, NAS, servicios en la nube o tu propio servidor.
Sistema operativo tipo UBUNTU. DOCKER contenedor.
TESLAMATE GRAFANA ZERO TIER. (parecido a una VPN)
Con todo esto podrás montar tu sistema para recopilar datos y saber en todo momento cuanto consumió el coche, los km, las cargas, eficiencia, temperaturas, etc. del coche. Para los que la información es algo interesante no puede ser mejor aplicación, así que a por ello. Cualquier aporte y comentario que ayude a todos será bien vendido disculpar por las partes difusas del vídeo y nos vemos. Saludos.
Teslamate es un programa que permite recopilar información de forma exhaustiva de un vehículo Tesla, el servidor debe mantenerse siempre encendido, siendo capaz de recopilar toda la información del coche usando los datos de la cuenta de Tesla.
Os COMPARTO EL PROCEDIMIENTO QUE Seguí para montar mi servidor TESLAMATE con una cuenta de la nube de Oracle, esta compañía ofrece un Servidor de forma gratuita por siempre, con unas capacidades determinadas.
En la explicación es posible que no esté todo bien detallado, y algo sea un poco lio, pero quiero dejar constancia de este proceso ya que a mí me costó un poco encontrar información en castellano de este proceso, así espero algo pueda servir de ayuda a más gente que realice este proceso, dejando constancia de algunos puntos del proceso, aunque como digo, puede resultar un poco caótico los pasos y la grabación que hice, ya que no fue la mejor, disculparme por ello, lo hago con la mejor intención dado el trabajo que supone ya de por si montar el sistema, al menos dejar constancia de algunos pasos y la herramienta Teslamate.. Con todo esto vamos a por ello, esperando que te sea útil, si alguna observación tienes deja en los comentarios notas aclaratorias para que nos sea útil a todos.
Espero también dejar esto en la página web www.notecpol.com
Esta aplicación se puede instalar en dispositivos Raspberry, en Nas synology según que procesador utilices o en NAS Qnap, o un equipo o servidor propio en tu casa.
Vamos a instalar El servidor con sistema operativo Ubuntu, en el que montaremos el Teslamate y Grafana donde recogeremos toda la información, vinculado a la cuenta de Tesla de tu vehículo.
Espero tus aportes y vamos a por ello.
PASOS
Creamos una cuenta gratuita en cloud.oracle.com te piden tarjeta de crédito pero no cobran nada, también te dan un crédito para funcionalidades Premium.
Crear una Máquina Virtual con sistema operativo UBUNTU.
Utilizar imagen para máquina, CANONICAL UBUNTU.
Imprescindible generar y descargar la Clave pública y privada para conectar mediante SSH a nuestro servidor.
Descargamos y guardamos SSH KEY pública y privada.
Ejecutamos la creación de la Máquina virtual. Dura unos minutos el proceso de creación y rápidamente disponemos del servidor online.
Nos facilitara la IP y resto de parámetros de la máquina que podremos necesitar después.
Una vez creado vamos a configurar el acceso SSH a la máquina.
Usaremos PUTTY para conectarnos a la maquina creada, Verificar la versión de Putty.
Os dejo los enlaces en la página web con las versiones y los programas necesarios descargar para usar y atentos especialmente a las versiones que usemos.
IMPORTANTE para instalar Teslamate en una instancia de Oracle.
A mí me daba error por usar una versión de PuTTy inferior a la indicada en pantalla y la cual no me permitía conectar al servidor, esto me hizo perder mucho tiempo.
https://www.chiark.greenend.org.uk/~sgtatham/putty/latest.html
putty.exe (the SSH and Telnet client itself)
64-bit x86: putty.exe (or by FTP) (signature)
64-bit Arm: putty.exe (or by FTP) (signature)
32-bit x86: putty.exe (or by FTP) (signature)
Una vez montada la máquina, virtual, descargadas las claves SSH, cambiadas al formato de Putty y utilizando la IP del servidor para el puerto 22 podremos cargar la Clave y conectar al Servidor para instalar Docker que es el siguiente paso.
si te pide usuario la primera vez que conectas seria «ubuntu»
Instalación de DOCKER para después instalar Teslamate
Voy a realizar algunas acciones para actualizar antes el sistema, antes de realizar la instalación de DOCKER y TESLAMATE.
Seguir estas indicaciones para instalar DOCKER antes de nada.
https://docs.teslamate.org/docs/installation/docker/
1 Creamos el archivo llamado docker-compose.yml y ese fichero que guardamos si queremos en el vamos a pegar el siguiente contenido que es lo que tendremos que pasar al servidor:
Sudo nano docker-compose.yml
presiona control + x para salir, Y para guardar, Enter para guardar el archivo
docker-compose.yml
version: '3' services: teslamate: image: teslamate/teslamate:latest restart: unless-stopped environment: - DATABASE_USER=teslamate - DATABASE_PASS=guinda # change this to whatever you like - DATABASE_NAME=teslamate - DATABASE_HOST=db - MQTT_HOST=mosquitto - VIRTUAL_HOST=X.X.X.X # if you're going to access the UI from another machine replace # "localhost" with the hostname / IP address of the Docker Droplet. - TZ=Europe/Madrid # (optional) replace to use local time in debug logs. See "Configuration". ports: - 4000:4000 cap_drop: - all db: image: postgres:11 restart: unless-stopped environment: - POSTGRES_USER=teslamate - POSTGRES_PASSWORD=secret # change this to whatever you like volumes: - teslamate-db:/var/lib/postgresql/data grafana: image: teslamate/grafana:latest restart: unless-stopped environment: - DATABASE_USER=teslamate - DATABASE_PASS=secret # change this to whatever you like - DATABASE_NAME=teslamate - DATABASE_HOST=db ports: - 3000:3000 volumes: - teslamate-grafana-data:/var/lib/grafana mosquitto: image: eclipse-mosquitto:1.6 restart: unless-stopped ports: - 1883:1883 volumes: - mosquitto-conf:/mosquitto/config - mosquitto-data:/mosquitto/data volumes: teslamate-db: teslamate-grafana-data: mosquitto-conf: mosquitto-data:
version: «3»
services:
teslamate:
image: teslamate/teslamate:latest
restart: always
environment:
– DATABASE_USER=teslamate
– DATABASE_PASS=secret
– DATABASE_NAME=teslamate
– DATABASE_HOST=database
– MQTT_HOST=mosquitto
ports:
– 4000:4000
volumes:
Despues creamos el .env
sudo nano .env
TM_DB_USER=teslamate TM_DB_PASS=secret TM_DB_NAME=teslamate GRAFANA_USER=admin GRAFANA_PW=admin FQDN_GRAFANA=grafana.ejemplo .com FQDN_TM=teslamato.ejemplo .com TM_TZ= Europa/Berlín LETSENCRYPT_EMAIL= tupersona@ejemplo.com Una vez pegado y personalizado, presiona control + x para salir, Y para guardar, Enter para guardar el archivo
Comandos Teslamate
Instalación Docker:
sudo apt install docker-compose -y
sudo docker-compose up -d
Asegurémonos de tener docker-composer instalado ejecutando el siguiente comando:
apt install docker-compose-y
sudo apt install docker-compose
sudo snap install docker
sudo apt-get install -y python3 python3-pip
sudo apt-get remove python-configparser
sudo pip3 -v install docker-compose
Reinicio del contenedor
service docker restart
Reinicio de la maquina
sudo reboot
Parar Teslamate
docker-compose stop teslamate
Iniciar Teslamate
docker-compose start teslamate
docker-compose ps
docker-compose up -d mosquitto
docker-compose up -d database
docker-compose up -d grafana
docker-compose up -d teslamate
ps -ef | grep docker
sudo docker-compose down
docker-compose down
docker-compose up –d
sudo apt-get update
ejecutar apt-get update Una vez que la actualización funcione bien, ejecute apt-get install docker.io
Zero Tier instalacion
sudo zerotier-cli join XXX (network id)
Con el ide autorizas al servidor en tu panel de Zero Tier para habilitar su acceso.
sudo apt install zerotier-one
curl -s https://install.zerotier.com/ | sudo bash
sudo zerotier-cli join tu_Network_ID
Log
docker-compose logs teslamate
Programa para bajar o subir ficheros al servidor. IMPORTANTE: te bajas las copias en modo BINARIO
https://winscp.net/eng/download.php
ENLACES de INTERES y Muchas Gracias a José Antonio por su ayuda
https://ugeek.github.io/blog/post/2020-04-09-zerotier-funcionamiento-e-instalacion-por-docker-o-repositorios.html
INSTALACION Teslamate. A partir de la maquina creada en Oracle, y acceso con Putty (01/03/2022 con Guillermo)
Actualización sistema Ubuntu.
sudo apt-get update
Lanzamos
sudo apt-get upgrade
y le damos a Y
Siguientes comandos.
curl -sSL https://get.docker.com | sh
Después
sudo usermod -aG docker Ubuntu (este commando aña al usuario ubuntu al grupo docker)
Después para reiniciar.
sudo reboot
Se desconecta de Putty, y vuelvo a conectarme con Putty
Instalamos Dependencias (una detrás de otra)
sudo apt-get install -y libffi-dev libssl-dev
sudo apt-get install -y python3 python3-pip
sudo apt-get remove python-configparser
Instalamos Docker
sudo pip3 -v install docker-compose
Probamos la instalación.
docker run hello-world (debería ir todo bien)
Lanzamos para crear carpeta
mkdir teslamate
cd teslamate (entrar en la carpeta)
Creamos fichero de configuración
nano docker-compose.yml
Copiamos la configuración y ponemos contraseña en el campo password a partir del =
version: «3»
services:
teslamate:
image: teslamate/teslamate:latest
restart: always
environment:
– ENCRYPTION_KEY= #insert a secure key to encrypt your Tesla API tokens
– DATABASE_USER=teslamate
– DATABASE_PASS= #insert your secure database password!
– DATABASE_NAME=teslamate
– DATABASE_HOST=database
– MQTT_HOST=mosquitto
ports:
– 4000:4000
volumes:
– ./import:/opt/app/import
cap_drop:
– all
database:
image: postgres:13
restart: always
environment:
– POSTGRES_USER=teslamate
– POSTGRES_PASSWORD= #insert your secure database password!
– POSTGRES_DB=teslamate
volumes:
– teslamate-db:/var/lib/postgresql/data
grafana:
image: teslamate/grafana:latest
restart: always
environment:
– DATABASE_USER=teslamate
– DATABASE_PASS= #insert your secure database password!
– DATABASE_NAME=teslamate
– DATABASE_HOST=database
ports:
– 3000:3000
volumes:
– teslamate-grafana-data:/var/lib/grafana
mosquitto:
image: eclipse-mosquitto:2
restart: always
command: mosquitto -c /mosquitto-no-auth.conf
# ports:
# – 1883:1883
volumes:
– mosquitto-conf:/mosquitto/config
– mosquitto-data:/mosquitto/data
volumes:
teslamate-db:
teslamate-grafana-data:
mosquitto-conf:
mosquitto-data:
DESPUES CONTROL + O cerramos con control + X
Consultar el fichero docker compose
cat docker-compose.yml
LEVANTAMOS TODO
docker-compose up –d
Instalación ZERO TIER
curl -s https://install.zerotier.com | sudo bash
Comando con el ID de tu red de Zero Tier (tienes que darte de alta y tener cuenta y red de ZeroTier Creada)
sudo zerotier-cli join IDXXXXXXXXX
BACKUP
Usando el de Carlos:
https://github.com/carloscuezva/teslamate-maintenance/blob/main/backupTeslaMate.sh
mkdir scripts
cd scripts
nano backupTeslamate.sh (Nos sale el editor y copiamos esto de abajo ATENTO se debe modificar datos.)
PATH_COMPOSE sustituyo HOME por /home/ubuntu/teslamate
PATH_BACKUP /home/ubuntu/teslamate/Backup
Cambio a 30 dias de backup en vez de 15
Donde pone xargs rm los sustituyo por xargs –no-run-if-empty rm (para cuando tiene que buscar los antiguos en este caso no va a encontrar lo que le dice el comando que si no encuentra nada, no ejecute el borrado)
Se puede hacer copia cada dia y hora.
En Filename donde pone «%Y%m%d» lo cambio por «%Y%m%d%H%M»
Falta modificar la filename poniendo fecha y hora
—————————————————————-
#!/bin/bash | |
# | |
# Description: Script para hacer backup de la base de datos de TeslaMate | |
# | |
# Author: Carlos Cuezva | |
# Created: 23/04/2021 | |
# Last update: 22/09/2021 | |
PATH_COMPOSE=/home/ubuntu/teslamate/ | |
PATH_BACKUP=/home/ubuntu/teslamate/Backup | |
echo -e ‘\n—- Comenzando el backup —-\n’ | |
cd $PATH_COMPOSE | |
FILENAME=`date +»%Y%m%d»`_teslamate.bck | |
docker-compose exec -T database pg_dump -U teslamate teslamate > $PATH_BACKUP/$FILENAME | |
cd $PATH_BACKUP | |
gzip -9 -f $FILENAME | |
FILESIZE=`du -h «$FILENAME.gz» | cut -f1` | |
echo -e «\nLa copia de seguridad tiene un tamaño de $FILESIZE\n» | |
echo -e «\nQuitando copias de seguridad con más de 30 días de antigüedad\n» | |
find $PATH_BACKUP -type f -name ‘*_teslamate.bck.gz’ -mtime +30 | xargs rm xargs –no-run-if-empty rm | |
echo -e ‘\n—- Finalizado el backup —-\n’
|
Crear carpeta de Backups
CD para volver a Teslamate
mkdir Backup (para crear la carpeta de Backup)
Volvemos a buscar al Scripts
cd scripts
sudo chmod +X backupTeslamate.sh (para darle permisos de ejecución)
Comando para hacer el BACKUP
bash backupTeslamate.sh (estando dentro de la carpeta scripts)
cd ..
pwd
cd teslamate
Listar archivos ll
cd /home/ubuntu/scripts
Lanzar Backup
bash backupTeslamate.sh
RCLONE
NUEVO INVERSOR Adquirimos nuevo inversor, un equipo Deye y nos supone actualizar por completo nuestra…
Las tormentas eléctricas originan desperfectos de gran valor en los hogares, está na secuencia de lo ocurrido con nuestra instalación…
La salida al mercado de vehículos eléctricos por parte de los fabricantes de automóviles es…
Turbina Pelton en un refugio de Montaña y sus instalaciones para cubrir demanda energética. En…
La compañía CLICK ENERGY lanza una tarifa rompedora para el coche eléctrico. TARIFA COCHE ELECTRICO…
SORTEO ENERGY BUTTON en el Canal de YOUTUBE NOTECPOL Bienvenido al sorteo del ENERGY BUTTON.…
Esta web usa cookies.