2004 to 2020 Mazda 3 Forum and Mazdaspeed 3 Forums banner
901 - 920 of 6,600 Posts
Google Maps no sistema de infoentretenimento (Mazda 3 2015)

Isto é tecnicamente possível - pode dizer ao sistema de navegação para navegar para uma coordenada GPS específica através de um método 'navigateTo'.
Resumo

Isto é o que estou a trabalhar atualmente - a aplicação Maps para Mazda 3.

Detalhes - como deve funcionar

Quando ligo a ignição, o Mazda 3 liga-se ao meu telemóvel por Bluetooth (mãos-livres), acionando um evento na aplicação Tasker (tenho um telemóvel Android) que liga o hotspot 4G no telemóvel. O sistema de infoentretenimento volta a ligar-se ao meu hotspot para aceder à Internet por Wi-Fi. Só preciso de selecionar a minha aplicação personalizada da lista (ver captura de ecrã em anexo). A aplicação JavaScript carrega o objeto Google Maps usando a API Google Maps JavaScript. Os planos são obter coordenadas GPS da mesma forma que a aplicação Compass no sistema de infoentretenimento e mover a posição atual no ecrã, ou mover mapas mantendo a posição atual no centro. A segunda captura de ecrã abaixo mostra o tráfego atual, retirado usando a mesma API Google Maps JavaScript, também pode exibir rotas/direções usando a mesma API. Provavelmente podemos reutilizar a função Text To Speech para anunciar as direções.

A forma mais fácil de navegar será provavelmente definir os locais/destinos mais frequentes no seu computador doméstico em Meus locais, se tiver uma conta Google, para facilitar a navegação. O botão vermelho no canto inferior esquerdo é meu - ele retira a lista de controlos, semelhante à da aplicação Monitor de Consumo de Combustível ("ecoenergy"). Também deve ser capaz de exibir o Google StreetView, pois a versão deste navegador suporta HTML5, mas ainda não cheguei a este ponto, por isso não posso confirmar.

Questões técnicas

Há algumas dificuldades com que me deparei, se alguém estiver interessado. Como - este navegador Opera no sistema de infoentretenimento não gosta de certificados SSL - diz que alguns deles expiraram, quando na realidade não são, provavelmente algo se estragou com a data/hora local. Estes certificados de servidor vêm do Google e são usados para a conexão HTTPS. Então tive que mudar de HTTPS para HTTP, como resultado não consigo entrar na minha conta Google a partir do Opera (a conta está configurada para usar HTTPS). Existe uma opção nas configurações de configuração do Opera para ignorar erros de certificado SSL, que ainda não quero usar ("OCSP Validate Certificates=0" em "\jci\opera\opera_home\opera.ini") por razões de segurança.

A questão seguinte é - quando o Opera está a tentar exibir a caixa de diálogo "Alguns certificados expiraram, OK/Cancelar/Lembrar a minha escolha", não consegue encontrar o ficheiro "opera\opengles-ui\dialog.html", embora ele esteja lá. Provavelmente, deve usar o caminho absoluto para ele ("\jci\opera\opengles-ui\dialog.html") em vez do caminho relativo. Talvez copiar este ficheiro para outro local possa ser uma solução alternativa.

E uma das maiores coisas que é realmente irritante - após alguns segundos, o sistema de infoentretenimento volta para a lista de aplicações, não importa o quê, não tenho a certeza porquê. Provavelmente tenho que definir a minha aplicação personalizada, o contexto e o módulo *.so em "\jci\mmui\mmui_config.xml", mas atualmente só estou a lidar com JavaScript. Preciso continuar a pesquisa - a minha aplicação de teste está longe de ser utilizável agora. Como não estou familiarizado com o Linux embarcado, faz sentido juntar os meus esforços com alguém mais avançado do que eu.

Outro problema com que estou a lutar - o sistema de infoentretenimento nem sempre se reconecta ao hotspot quando volto para o carro. O registo de depuração de "wpa_supplicant" mostra que ocorreu um "tempo limite" quando ele está a tentar reconectar-se ao meu ponto de acesso.

A versão do firmware é - 31.

VM para desenvolvimento

Outra coisa que estou a pesquisar atualmente é - a máquina virtual para desenvolvimento. Como a plataforma do processador é ARM, não podemos executar a VM dentro do VMWare ou VirtualBox no PC. Em vez disso, provavelmente podemos tentar executar o emulador QEMU, que suporta ARM, e este QEMU pode ser executado em qualquer lugar (incluindo VMWare, VirtualBox ou diretamente no PC). QEMU no Linux é possivelmente a maneira de tentar, também serão necessárias ferramentas e um compilador cruzado.
 

Attachments

RomanB ... Tão bom!!! Você poderia compartilhar o código do seu aplicativo?

Alguém está com problemas com o Wi-Fi? Eu ligo o hotspot no meu telefone e o carro não o vê... Tentei com o meu roteador doméstico e o carro também não o vê... MAS... O carro consegue ver o meu hotspot (telefone) quando estou estacionado no trabalho! (uh..!!) Eu olhei os logs e não encontrei nada :\

A versão do firmware é 33 (devo fazer o downgrade? lol)
 
Definitivamente compartilharei meu aplicativo, mas mais tarde. Depois que o aplicativo começar a funcionar, pode levar algum tempo para reunir todas as peças e fazer o QA/UAT em diferentes versões de firmware. Não quero ter pressa, pois algumas partes ausentes do JavaScript podem enviar seu sistema de infoentretenimento para um loop de inicialização, e a recuperação não é para todos - é mais um processo de sorte.
 
Alguém está com problemas com o Wi-Fi? Eu ligo o hotspot no meu telefone e o carro não o vê... Tentei com o meu roteador doméstico e o carro também não o vê... MAS... O carro consegue ver o meu hotspot (telefone) quando estou estacionado no trabalho! (uh..!!) Eu olhei para os logs e não encontrei nada
Em relação ao problema do Wi-Fi:

1) Leva tempo para o carro encontrar o hotspot, às vezes ele encontra muito rápido, às vezes o nome do ponto de acesso desaparece da lista e depois aparece após alguns segundos, embora o hotspot esteja bem aqui. O laptop conecta-se ao hotspot sem problemas.

2) Conectar ao hotspot pressionando o botão "Conectar" no Sistema de Infoentretenimento funcionou para mim apenas uma vez. Depois disso, leva muito tempo para conectar e, em seguida, termina com um tempo limite, mostrando a mensagem "Erro de rede, tente novamente". Em vez disso, estou desmarcando e marcando novamente a pequena caixa de seleção nas configurações - isso interrompe e inicia o processo "wpa_supplicant" em segundo plano - e o carro se reconecta ao meu hotspot automaticamente (mas nem sempre).

3) Se eu desligar o motor, sair do carro e voltar mais tarde - vejo que a caixa de seleção "Ativar Wi-Fi" está desmarcada novamente (inicialização a frio?), e tenho que começar de novo. Provavelmente, isso pode ser contornado também do JavaScript - ativar o Wi-Fi em cada inicialização.

4) Estou tentando diferentes opções - Segurança aberta (sem senha) ou WPA2, ponto de acesso oculto ou visível. Parece que não há muita diferença. Estou pensando que talvez usar um modem 3G/4G conectado a uma porta USB seja mais confiável aqui, em vez de usar Wi-Fi. Li que os drivers para dispositivos sem fio são um tipo de desafio no Linux.

Aqui está o conteúdo do arquivo de configuração ("wpa_supplicant-wlan0.conf") gerado pelo Sistema de Infoentretenimento:

Code:
ctrl_interface=/var/run/wpa_supplicant-wlan0
ctrl_interface_group=0
update_config=1

network={
	ssid="[access_point_name_removed]"
	bssid=[mac_address_removed]
	psk="[password_removed]"
	proto=RSN
	key_mgmt=WPA-PSK
	group=CCMP TKIP
	auth_alg=OPEN
}
arquivo de interfaces:

Code:
auto lo
iface lo inet loopback

iface eth0 inet dhcp
	udhcpc_opts -t 10

iface usb0 inet dhcp
	udhcpc_opts -t 10

iface wlan0 inet dhcp
	udhcpc_opts -t 10
o processo wpa_supplicant original é executado com os seguintes parâmetros:

Code:
wpa_supplicant -c /data/nms/wpa_supplicant-wlan0.conf -i wlan0 -D nl80211 -ddtKB
 
Existe uma opção nas configurações de configuração do Opera para ignorar erros de certificado SSL, que eu não quero usar ainda ("OCSP Validate Certificates=0" em "\jci\opera\opera_home\opera.ini") por razões de segurança.
Enquanto você está desenvolvendo, eu diria que as chances de um ataque MITM são bastante baixas. :) (Implantar em milhões de dispositivos em todo o mundo seria um cenário diferente.)

O próximo problema é - quando o Opera está tentando exibir a caixa de diálogo "Alguns certificados expiraram, OK/Cancelar/Lembrar minha escolha", ele não consegue encontrar o arquivo "opera\opengles-ui\dialog.html", embora ele esteja bem ali.
Se os certificados expiraram, isso significa que o Opera precisa atualizar seus certificados raiz. Carregar arquivos de certificado mais recentes pode resolver isso.

Outra coisa que estou pesquisando atualmente é - a máquina virtual para desenvolvimento. Como a plataforma do processador é ARM, não podemos executar a VM dentro do VMWare ou VirtualBox no PC. Em vez disso, provavelmente podemos tentar executar o emulador QEMU, que suporta ARM, e este QEMU pode ser executado em qualquer lugar (incluindo VMWare, VirtualBox ou diretamente no PC). QEMU no Linux é possivelmente a maneira de tentar, também serão necessárias ferramentas e um compilador cruzado.
Sim, precisamos disso. :)

Adoro ouvir o progresso.
 
R.I.P Pato

É com grande tristeza que devo escrever este post.

Meu filho Andrew, mais conhecido neste fórum como o "Pato", faleceu repentinamente na segunda-feira às 22h00.

Falávamos regularmente sobre os avanços que vocês estavam fazendo e seu entusiasmo pela missão de vocês era avassalador. Muitas noites eu tinha o cabo Ethernet azul saindo da minha sala de família para o carro dele estacionado na garagem, tentando um novo download ou patch.
Eu sei que ele sentirá falta, mas minha única esperança é que talvez no céu ele finalmente possa fazer engenharia reversa da chave RSA... :wink2:

Que Deus sempre tenha um lugar em seu coração,

Pai de Andrew, Gary
 
É com grande tristeza que devo escrever este post.

Meu filho Andrew, mais conhecido neste fórum como "Duck", faleceu repentinamente na segunda-feira às 22h00.

Falávamos regularmente sobre os avanços que vocês estavam fazendo e seu entusiasmo pela missão de vocês era avassalador. Muitas noites eu tinha o cabo Ethernet azul saindo da minha sala de família para o carro dele estacionado na garagem, tentando um novo download ou patch.
Eu sei que ele vai sentir falta, mas minha única esperança é que talvez no céu ele finalmente possa fazer engenharia reversa da chave RSA... :wink2:

Meu Deus, que ele sempre tenha um lugar em seu coração,

Pai de Andrew, Gary
Oh, nossa, sinto muito em saber disso - Obrigado por postar.

Eu trabalhei um pouco com o Duck para configurar a página da Wikipedia start [Mazda3Hacks]

Eu acredito que ele era o responsável por tudo e ele ajudou muito quando os bots começaram a atacar.

Ele era meu amigo no Steam, ele contribuiu muito para nossos esforços.

Sinto muito em saber que ele faleceu - Tenho certeza de que todos que participaram deste projeto sentirão muito a falta dele.

Obrigado por nos avisar - novamente, ele fará muita falta e todos nós lamentamos muito sua perda. :crying2: :frown2:

_______

Como observação - não tenho certeza se ele estava pagando pelo servidor que executa a página Wiki em start [Mazda3Hacks]

ou se ela permanecerá ativa indefinidamente... não menos importante - podemos precisar fazer arranjos para realocar a página Wiki e fazer backup de tudo para ela.

Descanse em paz @Duck
 
Awwww, Pato. :(

Eu só o conhecia deste fórum, mas ele era muito amigável e prestativo. Sua presença fará falta aqui. :crying2:
 
Eu estava me perguntando se alguém conseguiu fazer o ssh funcionar em um modelo de 2015 rodando v31?

Tentei ambos estes adaptadores (este e este) sem sucesso. :( Estava esperando me livrar daquele aviso chato na inicialização!
 
Ok, bem, o roteador fornece DHCP? Se sim, o carro receberá um endereço IP do roteador e o usará. Seu PC (ou o que você estiver usando) também receberá um endereço IP dessa forma. Você pode executar uma ferramenta de varredura de portas, como nmap, para localizar qual endereço IP o roteador forneceu ao carro.

Eu tentei dois cabos usb-ethernet.. um, um velho e barato, funcionou, e um mais caro que veio com meu tablet não funcionou.
 
Vou participar do projeto e ajudar no desenvolvimento. Tenho algumas ideias que quero implementar e veremos se funciona. Sou muito bom em Javascript e tenho uma boa experiência em desenvolvimento, então espero que não seja muito doloroso. Esperemos que o emulador não seja terrível.
 
@White
Eu também tenho a versão EU e não tenho bloqueio automático das portas quando a ignição está ligada.
Fiz algumas modificações para ativar este recurso na GUI e consegui ver o menu e selecionar esta opção. Mas ao selecionar esta opção, não adiantou nada. Ele voltou para "Desligado". Então, acredito que haja outra verificação em uma das bibliotecas que lida com os comandos da GUI. Encontrei algo desmontando isso: /jci/mmui/uia/libjciuiavehsettings.so, mas não descobri como as configurações são carregadas e de onde.
Olá :)

Na versão EU não temos opções para "coming home". Nas configurações não há opções para "Atraso do farol"

Que vergonha Mazda! Por que não na UE?

Pode ser de alguma forma codificado/programado? Perguntei ao meu serviço Mazda e eles disseram que não podem fazer isso...

Talvez este recurso esteja "bloqueado" no FW para a UE... e possamos de alguma forma desbloquear este recurso como você fez para o bloqueio da porta?
Alguma novidade sobre esses dois recursos?
 
Olá a todos,

Novo por aqui, mas interessado em ajudar. Há algum projeto ou iniciativa em andamento ao qual eu possa contribuir? Acabei de comprar um Mazda3 2015 e trabalho em tempo integral como desenvolvedor. Comecei a programar um aplicativo OpenCar e, depois que meu adaptador USB para Ethernet chegar pelo correio, pretendo realmente começar a brincar.

Atenciosamente,
Danny B
 
901 - 920 of 6,600 Posts