Aaidrive
O BMW/Mini IDRIVE NBT não oferece integração automática nativa do Android, mas fornece uma opção de convergência de aplicativos conectados muito poderosa com pontos de integração rígidos no carro. Este projeto é um esforço para implementar a maioria dos recursos do Android Auto como aplicativos conectados BMW/Mini não oficiais.
Ao confiar na tecnologia de aplicativos conectados, este aplicativo estende muito a funcionalidade do carro sem modificações ou hacks. Qualquer My2014 ou BMW ou Mini mais recente equipado com o recurso NBT ou NBT EVO e "BMW Apps (6NR)", uma assinatura ativa do BMW ConnectedDrive ou a opção "Mini conectada (SA6NM)" deve ser compatível.

Galeria
Visão geral
Como parte do recurso de aplicativos conectados, quando o telefone se conecta ao carro sobre USB (ou Bluetooth nos modelos de 2017+), os aplicativos de telefone ativados podem mostrar uma interface otimizada para o painel especial no carro.
O AAIDRIVE, combinado com os benefícios de segurança do controlador tátil iDrive, se baseia nesse protocolo para permitir que o usuário interaja com suas notificações de entrada e controlasse a música de seu telefone enquanto o telefone está escondido com segurança.
Começando
Este aplicativo exige que o aplicativo MyBMW ou Mini para o seu carro seja instalado e que possa ativar com êxito a caixa de seleção de aplicativos do seu carro ID5+ ou se o seu carro ID4 tiver a opção Assistente de conexão.
Faça o download do APK da última versão estável da página de lançamentos. Escolha aquele que diz "sentinela" para fazer upload automaticamente de relatórios de falha ou escolha "não alíticas". Também está disponível na Google Play Store. Após o início, o aplicativo deve detectar o aplicativo MYBMW e começar a esperar a conexão do carro.
Considere também experimentar a construção noturna! Ele possui os recursos mais recentes e é uma visualização da próxima versão; portanto, considere instalar a compilação Sentry para relatar automaticamente falhas. A compilação de não altéias também está disponível.
Confira as perguntas frequentes se você tiver problemas.
Guia do usuário
Depois de conectar o telefone ao carro, o aplicativo oficial do MYBMW deve mostrar este ícone do carro na barra de status. Quando esse ícone aparecer, este aplicativo deve se conectar e adicionar sua funcionalidade ao carro.
Consulte este guia para obter dicas sobre como melhorar a confiabilidade da conexão do aplicativo MYBMW.
Depois que todos os aplicativos estão conectados, várias novas entradas serão exibidas no menu conectado do carro. Deve haver um novo ícone Audioplayer ou Spotify e um ícone de livro sem rótulo. Este ícone do livro é o aplicativo de notificações, se ativado.
Várias novas entradas serão adicionadas à seção de mídia da tela de controle. O ícone Audioplayer é aquele com a funcionalidade principal, enquanto os outros aplicativos exibidos acima do Audioplayer são atalhos rápidos para mudar a reprodução para os respectivos aplicativos. Esta captura de tela também mostra o aplicativo Legacy Spotify na parte inferior da lista.
Status de desenvolvimento
O AAIDRIVE é completo, implementando tantos recursos do Android Auto possível no sistema de aplicativos BMW e vários outros. Além do patch de manutenção ocasional, este projeto está completo e não verá mais desenvolvimento.
Recursos implementados
- Integração do calendário
- Veja o calendário do telefone no carro
- Acionar automaticamente a navegação do carro para os próximos compromissos
- Informações sobre carros
- Lembra -se de nível de combustível, status da janela e localização do carro após estacionar
- Mostra velocidade e bússola de atuação ao vivo enquanto estão conectadas
- Adiciona várias páginas de dados detalhados de carros à tela de infotainment
- Integração de navegação por carros
- As intenções e botões de navegação Android podem ser tratados pela navegação do carro conectado
- O Google Maps pode compartilhar destinos para a navegação do carro conectado
- Os endereços podem ser inseridos na interface telefônica para iniciar a navegação do carro
- Google Assistant
- Qualquer assistente de voz instalado no telefone é adicionado como uma entrada de aplicativo conectada
- O Google Assistant funciona da melhor maneira possível, mas Alexa, Bixby e Cortana também são compatíveis
- O aplicativo assistente de voz pode ser definido como um botão de atalho de hardware para conveniência
- Notificações por telefone
- Pop -up sobre novas notificações
- Pode reproduzir um som de notificação através dos alto -falantes do carro
- Suporta demitir, marcar como leitura ou outras ações de notificação
- Suporta a resposta, incluindo a entrada emoji
- Lê notificações usando o TTS do carro
- Google Maps (prova de conceito)
- Pesquisa e roteamento básicos
- Inclui alguns temas escuros
- Mau desempenho devido à natureza do protocolo
- Não compilado por padrão, porque mostrar o Google Maps em um carro é contra a licença da API do MAPS
- Mapa personalizada do MapBox
- Pesquisa e roteamento, imagens de satélite e tráfego, inclinação 3D e edifícios
- Suporta URLs de estilo MapBox personalizados
- Mau desempenho sobre o Bluetooth
- Controle de aplicativos de música compatível com Android Auto
- Suporta as bibliotecas de música de navegação e pesquisa de aplicativos, incluindo uma integração especial do Spotify
- Suporta a seleção de uma lista de músicas atualmente que
- Integra -se ao contexto de áudio do carro, para currículo automático e controle de botões de hardware
- Suporta o layout da ID5+ Music, permitindo a integração global do CoverArt
- Suporta o controle de qualquer sessão de música ativa, mesmo aplicativos que não sejam compatíveis com Android Auto
- Atualiza automaticamente a tela para seguir o aplicativo ativo
- Aplicativos compatíveis recomendados:
- Audiolivros e podcasts:
- ACAST PODCAST PLAYER
- Antennapod
- Audecibel
- Pisca -pisca
- The Bob & Tom Show
- Castbox
- Livros do Google Play
- Ivooz
- Libro.fm Audiobooks até a versão 3.2.2
- Ouça o Audiobook Player
- Jogador FM
- Viciado em podcast
- República do podcast
- Stitcher
- Jogador de audiolivro de voz
- Biblioteca de Música
- Aimp
- Jogador negro
- Dsub
- Música hiby
- Jetaudio HD
- Macaco de mídia
- Musicolet Music Player
- Music Player de nêutrons
- Plex (apenas música e podcasts)
- PlayerPro
- Poweramp
- Retro Music Player
- Rocket player
- Symfonium
- Timberx Music Player
- VLC para Android
- Rádio
- Notícias da AP
- Antenne Bayern
- Ard Audiothek
- Rádio Audials
- BFM
- Rádio Dash
- Di.fm
- Rádio energético
- Guardião
- Hot97 Oficial
- Manchester United
- myTuner
- Nederland.fm
- NHL
- NTV Nachrichten
- NYTIMES
- Rádio aberto
- R101
- Rádio 105
- Rádio Bob
- Rádio FM
- Rádio Monte Carlo
- Rádio Nowy Swiat
- Rádio Replaio FM
- RTL 102.5
- Rádio do scanner
- Siriusxm
- Rádio simples
- Somafm
- SWR3
- Sunshine Live
- Rádio Versuz
- Virgin Radio Itália
- Serviços de streaming
- Música da Apple
- Anghami
- Música de Gaana
- Josavn
- Qobuz
- Soundcloud
- Spotify
- Tidal
Pontos de integração
Além de mostrar uma interface remota independente, o sistema IDRIVE oferece muitos pontos de integração interessantes. Aqui estão alguns que este projeto suporta:
- Os widgets da interface do usuário assumem automaticamente o respectivo tema para ajustar o carro
- Os assistentes, a visualização do mapa, a lista de notificação e as telas de reprodução de música podem ser atribuídas aos botões de atalho físico no painel
- As informações do carro são retidas após a desconexão, como status da janela e localização estacionada
- Novas notificações acionam um ícone de statusbar
- Novas notificações podem desencadear um pop -up
- Novos pop -ups de notificação podem ser desativados se um passageiro for detectado no assento
- As notificações podem ser lidas pelo TTS do carro quando recebidas ou quando selecionadas
- O sistema de navegação do carro está disponível para lidar com as intenções de navegação Android
- A localização e o título do carro são mostrados no mapa personalizado
- O aplicativo atualmente jogando é exibido ao longo da parte superior da tela Idrive
- O título da música atualmente tocando é mostrado no painel lateral Multimedia IDRIVE4
- A música que atualmente toca a capa e o progresso é mostrada na tela inicial do IDRIVE5+
- Em um carro My2017+ que suporta aplicativos Bluetooth, o Focus de áudio estará ativado que concede os seguintes recursos extras:
- O botão de atalho da mídia abre este aplicativo quando está no controle da música
- Retoma automaticamente a reprodução ao se reconectar ao carro
- A reprodução faz uma pausa ao pressionar o botão de mudo ou durante as chamadas
- Os botões de volta físicos/próximos podem ser retidos para procurar em uma pista ou pressionados para pular faixas
- Os controles do volante podem pular faixas do cluster de instrumentos
- Músicas de envolvimento podem ser roladas no cluster de instrumentos, dependendo do suporte do aplicativo
Limitações
Este projeto replica alguns dos recursos do Android Auto usando a interface IDRIVE, usando as mesmas APIs que o Android Auto usa para conversar com os aplicativos de música. Atualmente, ele não pode fornecer recursos mais avançados do Android Auto, como:
- Integração com o botão Assistente de voz do carro
- Castamento de tela de aplicativos de telefone arbitrários para o carro (Google Maps, Waze ou qualquer outro aplicativo)
- Exibindo a interface automática original do Android
Devido à natureza não oficial de engenharia reversa deste projeto, ele tem algumas limitações:
- Os ícones e o texto das entradas do menu principal não podem ser alteradas e, portanto, não pareça exatamente correto
- Os ícones da fonte musical individual às vezes não abrem a interface Audioplayer no ID4, mas eles trocam a fonte de música ativa
- Android Oreo desativado Android Open Acessory Protocol 2 Saída de áudio, necessária para reproduzir áudio sobre a conexão USB do aplicativo nos anos modelo 2014-2017. Por favor, ouça o Audio Bluetooth e use este aplicativo como uma interface de controle.
- Alguns aplicativos Android Auto Music aplicam uma lista de aplicativos de clientes permitidos, impedindo que este aplicativo os lançasse ou navegando em suas bibliotecas. No entanto, uma vez que estão em execução, eles podem ser controlados. Por exemplo, esses aplicativos de música populares não podem ser lançados, eles devem ser iniciados manualmente:
- Música da Amazon
- Audível
- Bandcamp
- CloudPlayer
- Deezer
- Doubletwist
- Google Play Music
- iheartauto
- Rádio Tunein
- Pandora
- Scribd
- Player de audiolivro inteligente
- Música do YouTube
Requisitos
Para se comunicar com o carro, este projeto se baseia na conexão proxy criada pelo principal aplicativo MyBMW ou Mini no telefone. Além disso, o legado conectado e os aplicativos clássicos conectados foram testados como compatíveis para esse fim, mas o aplicativo conectado é mais resiliente contra o gerenciamento de memória do Android.
Guia do desenvolvedor
Para criar suas próprias versões de teste do aplicativo e ajudar a contribuir com o projeto, siga este guia do desenvolvedor para configurar seu ambiente de desenvolvimento.
Privacidade
Este projeto não contém publicidade ou rastreamento do usuário e é desenvolvido inteiramente por diversão e para melhorar a utilidade do sistema de infotainment BMW/Mini.
O aplicativo usa a permissão da Internet para fazer uma conexão TCP com o carro, que é acessível através de um soquete de localhost no aplicativo principal conectado. Além disso, algumas das notificações de imagens de capa e recebidas (como hangouts) podem ser buscadas a partir de URLs da Internet. Nenhum outro acesso à Internet é necessário para a funcionalidade do aplicativo.
Como parte de sua funcionalidade, o aplicativo coleta e se lembra de algumas informações localmente no seu telefone:
- A guia Informações sobre o carro lembra informações sobre o carro mais conectado, incluindo o modelo e os recursos disponíveis, estatísticas de direção específicas e configurações de veículos, e o último local relatado pelo carro enquanto estava conectado
- A funcionalidade musical se lembra de uma lista de aplicativos de música instalados e quais recursos eles fornecem
- A integração do Spotify mantém um token para acessar sua biblioteca Spotify
O aplicativo também precisa de outras informações para funcionar, mas não se lembra de nada e nunca o compartilhará:
- Para estabelecer a conexão do carro, o aplicativo identifica quais aplicativos BMW e Mini estão instalados
- O aplicativo observa as conexões Bluetooth para identificar quando o carro está conectado
- Qualquer assistente de voz instalado é descoberto para serem adicionados ao carro
- Os aplicativos que atuam como addons do AAIDRIVE são descobertos e apresentados na guia Addons
- Se ativado, as notificações são lidas do telefone enquanto conectadas ao carro e depois esquecidas quando desconectadas
- Se compilado no aplicativo e depois ativado, o recurso de mapa personalizado usará a localização do carro ou do telefone enquanto exibirá o mapa
A versão Analytics-DisabilD nunca compartilhará nenhuma informação e nenhum código de análise é compilado nesta versão do aplicativo. A versão habilitada para Analytics oferece uma opção para compartilhar algumas informações anonimizadas para sentinela para ajudar na depuração e desenvolvimento: se ativado, além de qualquer acidente raro e infeliz, o aplicativo compartilhará quaisquer aplicativos de música instalados e os recursos que cada App oferece, bem como o modelo e os recursos de qualquer carro conectado para estatísticas de uso e priorização de recursos.
Cada versão fornece uma opção Analytics-Eiled e Analytics-Disabled.
Exemplo de dados de análise
Aplicativo de música
{
"appId": "github.daneren2005.dsub",
"appName": "DSub",
"controllable": "false",
"connectable": "true",
"browseable": "true",
"searchable": "false",
"playsearchable": "false"
}
Conexão do carro
{
"a4axl": "true",
"alignment_right": "true",
"hmi_display_height": "480",
"hmi_display_width": "1280",
"hmi_role": "HU",
"hmi_type": "MINI ID5",
"hmi_version": "EntryEvo_ID5_1903_Release ID5_1903-490-1837K Build 47 - Rev:203015 2018-11-14 08:39:42",
"inbox": "true",
"map": "true",
"navi": "true",
"pia": "true",
"speech2text": "true",
"speedlock": "true",
"touch_command": "false",
"tts": "true",
"vehicle_country": "US",
"vehicle_productiondate": "03.00",
"vehicle_type": "F56",
"voice": "false"
}