A instalação do carwings com um pouco mais de detalhe:
1. A script
1.1 Voltar a entrar no raspberry pi por SSH:
1.2 Instalar as scripts do meu repositorio
Código: Selecionar todos
pip install --upgrade pip
pip install git+https://github.com/apreb/pycarwings2.git
pip install paho-mqtt
1.3 Copiar os dois ficheiros da directoria exemples para a seguinte directoria:
Código: Selecionar todos
cd /home/pi
wget https://github.com/apreb/pycarwings2/raw/master/exemples/carwings.py
wget https://github.com/apreb/pycarwings2/raw/master/exemples/carwings.ini
chmod +x carwings.py
Experimentar a script e ver se aparecem as opções:
Código: Selecionar todos
root@emonpi(rw):pi# ./carwings.py
Invalid operand, please check below
usage:
carwings.py [user] [password] [action]
[user] - carwings username
[password] - carwings password
[action]
- battlaststaus - Request Last Status
- battupdate - Request Update
- climateupdate - Request Climate Update
- climatestart - Request Climate Start
- climatestop - Request Climate Stop
- chargestart - Request Charge Start
- RateSimulation YYYYMM - Request RateSimulation
- driveanalysis - Request driveanalysis
Aqui já dá para requisitar informaçao ao carwings, vai gerar imenso "lixo" já que o debug está ativado ao máximo, a resposta do carwings é enviada diretamente para o broker MQTT que guarda sempre a ultima resposta, para ser consultada mais tarde sem ser preciso gerar novos pedidos.
2. o User Interface
2.1 Ir ao repositorio e copiar a linha assinalada
https://github.com/apreb/pycarwings2/bl ... -RED_flows
[img]
https://lh3.googleusercontent.com/QFogO ... 97-h300-no[/img]
2.2 Ir à página do Node-RED, que está localizada no IP do raspberry pi, no porto 1880 e importar as flows:
[img]
https://lh3.googleusercontent.com/Z2oSQ ... 97-h407-no[/img]
[img]
https://lh3.googleusercontent.com/1HVoO ... 02-h339-no[/img]
Vai aparecer uma nova tab e uma serie de nodes, fazer Deploy e verificar se não há erros
[img]
https://lh3.googleusercontent.com/BhI5S ... 06-h583-no[/img]
O user interface está disponivel em /ui, entrar ir a settings, colocar as credenciais do carwings e tentar um update para ver se atualiza.
[img]
https://lh3.googleusercontent.com/Zngir ... 68-h455-no[/img]
A atualização completa demora um bocado, cada update que se requisitar faz 4 pedidos ao serviço do carwings, espaçados de 2 minutos:
1. Update do estado da bateria ao carro (recolhe numero de barras e data de ultima atualização)
2. Update do ultimo estado conhecido da bateria (recolhe numero de barras e data de ultima atualização)
3. Update de "driving analysis" (recolhe média de consumo das ultimas viagens)
4. Update "rate simulation" do presente mês (recolhe as stats de viagens do mês)
os dados recebidos diretamente do servidor ficam guardados no broker MQTT de forma persistente e podem ser consultados diretamente, há montanhas de informação para quem quiser tratar, por exemplo o resultado do "rate simulation" devolve detalhe de todas as viagens do mês, com energia gerada, regenerada, CO2 poupado, etc.
Por exemplo:
Código: Selecionar todos
root@emonpi(ro):pi# mosquitto_sub -v -t carwings/from/json/drive
carwings/from/json/drive {"status": 200, "DriveAnalysisBasicScreenResponsePersonalData": {"ElectricCostScale": "kWh/100km", "DateSummary": {"ElectricMileage": "16.3", "ElectricMileageLevel": "3", "PowerConsumptMoter": "258.9", "PowerConsumptAUXLevel": "5", "PowerConsumptMoterLevel": "3", "PowerConsumptMinus": "102.0", "DisplayDate": "Apr 28, 17", "PowerConsumptMinusLevel": "5", "PowerConsumptAUX": "5.7", "TargetDate": "2017-04-28"}}, "AdviceList": {"Advice": {"body": "O propriet\u00e1rio que obteve a classifica\u00e7\u00e3o de l\u00edder mundial da classifica\u00e7\u00e3o Electricidade regenerada ao travar no m\u00eas passado foi um propriet\u00e1rio de Est\u00f4nia com 411,5 kWh. ", "title": "Classifica\u00e7\u00e3o mundial Electricidade regenerada ao travar (mensal):"}}}
Dá para ver que ainda premeiam quem regenera mais, o que é um contrasenso em termos de eficiência energética... enfim...
E pronto, acho que o orçamento ainda ronda os 10€ não é?
