Re: Diário de Bordo Model 3 - AlexMol
Enviado: 21 nov 2019, 21:47
Relativamente à API acho que talvez seja possível aceder com uma ESP32, pode ser que e o HTTPS seja a parte mais difícil... mas vou investigar.
Fórum de discussão sobre a Mobilidade Elétrica e Parceiro privilegiado da Associação de Utilizadores de Veículos Elétricos - UVE
https://www.clubeletricos.com/
A solução do Apr é melhor.RaaR Escreveu: ↑21 nov 2019, 20:35Sim, gasta mais. Mas é mais fácil e funciona numa garagem coletiva.
Alternativamente, é também fácil deixar um script simples a correr num Raspberry Pi (ou noutro computador que esteja sempre ligado) para manter o carro acordado. Recomendo é que o script teste a ligação do carro à rede interna de casa para determinar se deve repetir o comando de wake de forma periódica. Não vale a pena fazê-lo quando o carro está estacionado noutro sítio.
Deixo aqui o que eu fiz para mim (por motivos diferentes, numa altura em que dava jeito manter o carro sempre acordado). Pode dar jeito a alguém. É só substituir os *** pelos códigos relevantes e o IP pelo que for atribuído ao carro na rede doméstica.
Código: Selecionar todos
#!/bin/sh while true; do if ping -c 1 10.10.20.43 > /dev/null then curl --include --header "Authorization: Bearer ***" --header "user-agent: 007" 'https://owner-api.teslamotors.com/api/1/vehicles/***/data_request/charge_state' fi sleep 180 done
Como expliquei no meu post, o meu script servia precisamente para manter o carro sempre acordado (não para o acordar) e o ping serve para confirmar que o carro está ligado ao WiFi, evitando mantê-lo acordado quando está estacionado noutro sítio, como na rua. Quando está ligado ao WiFi, o script nunca o deixa adormecer. Funciona perfeitamente para esse efeito e o ping não é inconsequente porque, com o script a correr, o carro nunca chega a adormecer na garagem (onde tem WiFi).Apr Escreveu: ↑22 nov 2019, 00:31(…)
Receio que o Ping do RaaR pode ser inconsequente, porque quando o tm3 adormece deixa de responder a pings. Só funciona porque a script não o deixa nunca adormecer.
O algoritmo tem que ser mais inteligente, não faz muito sentido impedir que o carro adormeça sempre! Ao invés acorda-se o carro quando é necessário.
(…)
A solução do Apr é melhor para quem tenha um EVSE com ligação à internet e o carro num sítio com rede celular. Na ausência de um destes, desde que haja WiFi, a minha solução poderá ser útil.
claro que sim, estava a pensar na tua solução enquadrada no problema original do alexmol. No teu caso encontraste uma solução muito simples e eficaz. Realmente é interessante saber que se o carro "adormecer", só se consegue acordar remotamente através da rede movel.RaaR Escreveu: ↑22 nov 2019, 01:14Como expliquei no meu post, o meu script servia precisamente para manter o carro sempre acordado (não para o acordar) e o ping serve para confirmar que o carro está ligado ao WiFi, evitando mantê-lo acordado quando está estacionado noutro sítio, como na rua. Quando está ligado ao WiFi, o script nunca o deixa adormecer. Funciona perfeitamente para esse efeito e o ping não é inconsequente porque, com o script a correr, o carro nunca chega a adormecer na garagem (onde tem WiFi).Apr Escreveu: ↑22 nov 2019, 00:31(…)
Receio que o Ping do RaaR pode ser inconsequente, porque quando o tm3 adormece deixa de responder a pings. Só funciona porque a script não o deixa nunca adormecer.
O algoritmo tem que ser mais inteligente, não faz muito sentido impedir que o carro adormeça sempre! Ao invés acorda-se o carro quando é necessário.
(…)
Eu fiz este script muito simples para evitar que o carro adormecesse porque estava numa garagem onde não tinha rede celular, tornando impossível acordá-lo remotamente.
O script é uma alternativa a deixar a frunk aberta (que dá um pouco mais de trabalho e não é recomendável numa garagem coletiva) e ao Sentry Mode (que gasta mais bateria). Se o carro estiver num sítio onde é possível acordá-lo remotamente e se existir um EVSE capaz de se ligar à internet, claro que é melhor acordar o carro a partir de uma ação desencadeada pelo EVSE.
A solução do Apr é melhor para quem tenha um EVSE com ligação à internet e o carro num sítio com rede celular. Na ausência de um destes, desde que haja WiFi, a minha solução poderá ser útil.
Usa esta base, sem qualquer definição de certificado e consegues comunicar com o URL:
Código: Selecionar todos
WiFiClientSecure *client = new WiFiClientSecure;
HTTPClient http;
http.begin(*client,"https://www.missingbolt.com");
int HTTPresponse = http.GET();
http.end();
delete client;