Talvez a situação familiar tenha me levado a desenvolver minha própria telemetria - funcionou, mas parou. Uma noite, a unidade de alarme de carro deixou de perceber o chaveiro. Entendi que primeiro você precisa tentar religar o chaveiro, para o qual era necessário executar um procedimento simples, seguindo claramente as instruções do manual de instalação. A execução do procedimento tornou-se impossível, pois o alarme do carro estava no modo armado, que podia ser desativado pelo botão Valet, digitando o código de serviço.
Eu nunca tentei lembrar o código de serviço e, mais ainda, o código mestre. Tentei, sem sucesso, recuperar vários códigos de memória. Dentro de alguns minutos eu tive que roubar meu carro. O trinado da sirene nos meus ouvidos ficou parado por um longo tempo, pois a sirene foi instalada no compartimento de passageiros. Não me lembro por que coloquei a sirene exatamente lá - por minha própria preguiça ou por algum sentido nisso. Você sabe, a partir de um sentimento pessoal experiente, isso pode levar a graves confusões para um vilão despreparado. Para meu profundo pesar, tive que desmontar a unidade. Comecei a descobrir o que fazer a seguir e o que fazer sobre isso. Quem se importa com o que aconteceu no final, eu peço um gato.
Eu tive várias hipóteses:
- Falhas na operação do módulo da antena.
- Falha de memória não volátil no bloco principal. Como resultado, os dados sobre os porta-chaves e sua sincronização podem ser danificados.
- Falha na memória não volátil do transmissor. As consequências são semelhantes ao n.º 2.
- Bloqueio de sinal em preparação para roubo.
Eu verifiquei a opção com a presença de um sinal bloqueador assim que me mudei para um lugar seguro. Os alarmes de carros também não responderam ao chaveiro.
Eu virei para o revendedor sobre a disponibilidade deles. a capacidade de redefinir códigos de serviço. Foi-me dito que não havia essa oportunidade e você teria que comprar um novo kit por vários milhares de rublos. Sim, e será melhor se você instalar todos esses negócios conosco - disseram eles, doando vários milhares a mais. Esta resposta não me surpreendeu, IMHO, é claro! É melhor para o revendedor vender um kit novo do que realizar um serviço pós-venda. Então, de repente, senti que meu humor havia melhorado dramaticamente, surgiu a ideia de resolver as coisas sozinho, descobrindo ao longo do caminho se os códigos poderiam ser redefinidos ou não. Em geral, são precisamente esses momentos que levam a alternativas, reversão, desenvolvimento e bricolage. Eu me desafiei.
Eu não comecei nada cavando blocos, mas com uma alternativa. Enquanto Pandora estava no armário, tentei criar meu próprio módulo. Imaginei que, se você desenvolver seu próprio módulo de alarme de carro, ele será imediatamente legal, confiável, flexível e absolutamente não difícil. O que posso dizer, tudo isso foi puro entusiasmo. Passei várias semanas escrevendo o firmware e prototipando o módulo. O processo foi completamente criativo. Então, de repente, uma ideia veio a mim e eu a percebi com prazer. Por exemplo, já na fase de um protótipo em funcionamento com os carretéis, transistores e GSM necessários, de repente eu queria adicionar mais GPS e Bluetooth. Bem, por que puxar o gato pela cauda? Deixe o módulo esfriar imediatamente, como descobri inicialmente, e tive que mudar o microcontrolador para um arrojado, pois o ATMega328 possui apenas uma porta UART. Obter algo em comum com a AVR e com três UARTs me pareceu uma tarefa irrealista. Não gostei da opção de implementar o software UART, pela simples razão de que o hardware é mais confiável. Lembro-me de como o STM32 já brilhava com força e principal em vários artigos sobre eletrônicos e estava disponível para pedido no AliExpress. Sem hesitar, escrevi para mim um par de STM32F103, pois era um microcontrolador de 32 bits real com uma grande quantidade de memória e periféricos ricos, e ainda mais com o número necessário de UART. Eu não tinha experiência em programar o STM32 naquele momento, mas isso só surgiu no interesse de aprender algo novo.
Antecipando a chegada dos microcontroladores, foi decidido adiar o protótipo e não apenas esperar, mas verificar as hipóteses que restavam.
O inverno estava se aproximando, e o carro sem “supervisão” de alguma forma não inspirava conforto. Tudo continuou até que eu olhei sob a cobertura da unidade de alarme de carro. Lá dentro eu descobri o ATMega324! Minha alegria não tinha limites, pois era um AVR, o que significa que você poderia trabalhar com ele adequadamente. A primeira coisa que fiz foi verificar a fiação UART e SPI. O ATMega324 possui 2 portas UART. Um UART está conectado ao registrador de turnos e o segundo ao conector do módulo da antena. Os circuitos SPI levaram-me a um bloco não soldado (na foto perto do quartzo no canto inferior esquerdo do quadro).

Soldou rapidamente o bloco e conectou o programador. A leitura do firmware e da EEPROM resultou em despejos vazios. Obviamente, o desenvolvedor não pôde permitir tal furo. Verificou a troca entre a unidade e o módulo da antena. A linha TX estava limpa no momento do alarme. Isso pode significar que o número de bugigangas na memória é 0. O módulo da antena não falava nada. Também ocorreu que o microcontrolador controla a energia do módulo da antena através de um comutador de transistor. A tensão de entrada foi detectada na saída da chave e, de acordo com as instruções, deve ser + 5V. Tudo isso me pareceu um pouco estranho. Talvez por esse motivo o módulo da antena estivesse silencioso? Eu não tinha nenhuma opção para testar hipóteses. E os bits de fusível? Que surpresa! O firmware é permitido no firmware através da interface SPI. Bem, agora como ficar parado exatamente? É isso mesmo - escreva seu firmware! Foi uma opção tão pesada, porque além do próprio firmware, eu também tive que ligar para o conselho.
O verniz protetor interferiu no processo, mas armado com sondas com ponta afiada, as coisas foram muito melhores. Descobriu-se que a camada de verniz não se soltou, mas perfurou suavemente nos lugares certos. O anel de chamada levou duas noites.
Pinagem da porta do microcontrolador Eu escrevi um firmware de teste, mostrei, cliquei com bobinas - ótimo! O módulo da antena e o chaveiro já eram inúteis. Portanto, se você pode escrever o firmware da unidade de alarme de carro, usando todos os circuitos e pontos de conexão acabados no carro, resta resolver o problema com o canal de comunicação. Pensei: e se você deixar o GSM e o GPS no seu projeto, jogar fora o Bluetooth e estragar tudo com os alarmes do carro Pandora? Bem, é claro, esta é a melhor opção! Em primeiro lugar, não era necessário preparar uma placa complexa, o circuito Pandora resolveu muitos problemas, mas eu apenas precisava criar um módulo de expansão que seria conectado em vez do módulo de antena padrão. Como você pode entender, o período de espera para microcontroladores da China não passou visivelmente.
Para conectar todos os módulos, eu gravei a placa. Ela é muito simples. Nele, o GPS finalizado, os módulos GSM e a unidade de alarme de carro são conectados às portas UART do microcontrolador STM32.

O preenchimento do módulo está localizado no caso da fonte de alimentação do laptop.

O conversor DC-DC não queria ser colocado dentro do gabinete e precisou encontrar um gabinete mais espaçoso. Como resultado, a caixa de lápis na frente do rádio SUPRA com um conveniente mecanismo de encaixe foi muito adequada para a caixa.

O painel foi revestido com verniz de poliuretano.
Os componentes Tudo é simples aqui:
Conversor DC-DC LM2596
Modem GSM SIM800L (potência 3.6-4.4)
Módulo GPS NEO-6M (potência 3.4-3.8)
Um pedaço de PCB.
A tensão necessária para os módulos forma um conversor DC-DC. Sua tensão de saída é ajustada em 3,7 volts. O parafuso de ajuste é revestido com verniz para evitar que vibre.
Em primeiro lugar, pensei em quais periféricos precisava suportar e recebi a seguinte lista:
- Sensores de temperatura interior e do motor.
- Acelerômetro
- Rede a bordo do voltímetro.
- Entrada do interruptor de limite da porta.
- Entrada do interruptor de limite do tronco.
- Entrada do interruptor de limite do pedal do freio.
- A saída para a ignição.
- Saída do relé repetidor.
- Saia para o atacante imobilizador.
- Saída para o relé de intertravamento.
- Saia para a sirene.
Recusa consciente de apoio:
- Saia para o relé de travamento central. O carro não está conectado à porta da fechadura central.
- A entrada do tacômetro, pois simplesmente não faz sentido conectar-se a um carro híbrido.
- A entrada do interruptor de limite do capô, como está faltando no veículo.
Algoritmos e funções que foram implementadas:
- Armazenando configurações na EEPROM.
- Partida do motor usando a tecnologia START-STOP.
- Ativação de um rastreador sem chave com controle analógico (iDatalink).
- Partida remota do motor.
- Controle de subtensão na bateria.
- Monitorando a tensão do motor.
- Armar / desarmar (controle de perímetro de zona).
- Controle de fim de curso para portas e porta-malas.
- Suporte de sirene.
- Suporte para luzes de sinalização (pisca).
- Suporte modo silencioso.
- Suporte para placa de expansão externa (módulo de telemetria).
- Conexão e transferência de estados para o servidor.
- Códigos DTMF de gerenciamento do sistema, na ausência de comunicação com o servidor.
- Lista de números confiáveis.
O feedback é implementado ligando para um número de telefone confiável a partir do qual o modo de segurança foi definido.
O gerenciamento do sistema foi implementado através do bot Telegram:

O bot também envia mensagens sobre condições críticas, como:
- Tensão baixa da bateria.
- Tensão da bateria restaurada.
- Baixa temperatura do motor.
- Alta temperatura do motor.
De fato, o caseiro já tem 3 anos e, durante esse período, descobri que:
- O produto caseiro estava no tempo de atividade máximo de cerca de 80 dias, depois o dispositivo foi reiniciado, pois o modem GSM parou de receber chamadas.
- Operação estável em temperaturas negativas e altas (de -40 a +40).
- Precisa fazer suporte a barramento digital.
A possibilidade de exibir o Pandora DXL 3000 no barramento SPI é uma vulnerabilidade, pois permite baixar um software que pode ativar as saídas do rastreador do imobilizador sem chave e desativar os bloqueios.
Em geral, o trabalho realizado me proporcionou uma tremenda experiência. Estudei o circuito de alarmes de carros, vi como isso pode ser feito de forma compacta e simples e aprendi a programar microcontroladores STM32. Como resultado, fiz um produto que eu mesmo uso. Fiquei inspirado e continuei a desenvolver a segunda versão. A segunda versão poderá se conectar a barramentos digitais para simplificar e reduzir o número de pontos de conexão, além de implementar um imobilizador padrão de derivação sem rastreadores externos nas cadeias IMMO-IMI.
Ah, sim, todo esse tempo o sistema funcionou e continua a trabalhar no carro da família Toyota Prius na carroceria 20, que é rica em pneus digitais. O suporte para depuração do barramento BEAN está em pleno andamento.
PS: A segunda versão foi desenvolvida e está sendo testada em um Toyota Camry de 2007.
Como resultado, vejo meu projeto como uma oportunidade para criar um sistema aberto para telemetria automotiva.
Obrigado pela atenção!