Wiren Board 6: novamente em Habré com a nova versão do controlador para automação

Olá pessoal!

Hoje falaremos sobre uma versão completamente nova do nosso controlador para automação, casa inteligente e tudo isso. Abaixo está uma visão geral técnica detalhada do dispositivo.




Brevemente sobre os controladores da Wiren Board
Um controlador de placa Wiren é um dispositivo que atua como um controlador central em um sistema de automação ou monitoramento.

Por exemplo, em um "edifício inteligente", o controlador pode controlar a iluminação e o controle climático, fazer leituras de sensores climáticos e sensores de segurança. Para isso, o controlador suporta vários dispositivos externos, executa regras e scripts, armazena e exibe belamente os dados.

O controlador é executado no Linux, possui muitas interfaces com e sem fio integradas para comunicação com dispositivos externos e o mundo exterior.
O controlador é modular - módulos de E / S (relés, entradas para contatos secos) são encaixados na lateral, módulos de expansão são inseridos no interior - portas RS-485, RS-232 adicionais, etc.

Naturalmente, isso é tudo de nível industrial: um gabinete de trilho DIN, uma grande faixa de potência de entrada, uma ampla faixa de temperatura, memória confiável, proteção para todas as portas, etc.

Por que lançamos uma nova versão


Os tempos estão difíceis agora: para piscar um LED, muitas vezes você pode ficar sem um gigahertz de frequência de relógio. Sério, o desempenho da nossa Wiren Board 5 anterior com o ARM9 foi suficiente para quase todas as tarefas, mas apenas com o nosso software escrito em C ++ e Go.

Queríamos dar aos usuários mais flexibilidade - para que eles possam usar facilmente aplicativos que consomem muita memória e processador.

A principal mudança no Wiren Board 6 é o novo processador NXP i.MX 6ULL com um núcleo Cortex A7 a 800 MHz e 512 MB de RAM DDR3 (no WB5 havia Freescale i.MX28 454 MHz ARM9 e 128 MB DDR2).

O controlador se tornou várias vezes mais rápido: além de realmente aumentar a frequência do relógio, o uso de uma arquitetura principal mais produtiva (em termos de MHz) também desempenha um papel. O I.MX 6ULL ​​possui uma FPU de hardware - em alguns aplicativos que armazenam e processam dados, isso aumentou significativamente o desempenho.

O novo processador permitiu o uso das versões mais recentes do Node.js. (a arquitetura do processador anterior não era suportada no mecanismo V8), o uso do Node-RED e a instalação de software pronto para o Raspberry Pi sem recompilação.

Em geral, do ponto de vista do desenvolvimento e seleção de software, a Wiren Board 6 passou da categoria de "hardware incorporado" para a categoria de "computador comum com Linux, mas com muitas interfaces".

Algumas palavras sobre por que não 8xCortex A53@2.2GHz escolhemos o processador mais lentamente do que nos novos decodificadores de TV ou no novo Raspberry Pi. O i.MX 6ULL ​​é um processador moderno (2017) para sistemas embarcados industriais. Ele tem um consumo de energia muito baixo - e, portanto, quase não é aquecido. Mas, ao mesmo tempo, a temperatura de trabalho permitida do núcleo é de até 105 ° C. Isso é importante para nós, porque a Wiren Board geralmente fica em armários fechados, sem qualquer resfriamento. Os controladores também trabalham no frio, a temperatura mínima de todos os componentes é de menos 40 ° C.

Este processador também possui excelente suporte no kernel Linux principal, e o fabricante garante sua produção até pelo menos 2026.



Outras alterações do controlador


Os controladores Wiren Board 5 tiveram várias revisões de hardware que podem ser usadas para rastrear a evolução do dispositivo. Existem muitas diferenças entre a última revisão e a primeira:

  • Adicionado bloco terminal Vout - saída de tensão. Conveniente para conectar periféricos via RS-485 - você pode obter linhas de dados e energia de um único dispositivo;
  • o console de depuração é exibido na interface Micro-USB em vez de UART;
  • Adicionada uma segunda porta Ethernet. Usado como um canal de backup para conectar-se a redes isoladas e para conectar outros controladores;
  • o esquema de energia é alterado. Usamos uma redução síncrona (maior eficiência significa menos aquecimento da placa), a faixa de potência de entrada é de até 40 volts, nos livramos dos capacitores eletrolíticos (agora apenas cerâmicos) - isso aumenta a vida útil;
  • jumpers são adicionados para habilitar resistores de terminação nas linhas RS-485 / CAN;
  • Interface de áudio digital S / PDIF removida - não é popular;
  • porta removida para o transceptor de infravermelho - não se mostrou muito conveniente de usar; portanto, eles lançaram um dispositivo WB-MIR separado com RS-485;
  • suporte limitado ao modem 3G: ele pode ser instalado em vez do módulo Wi-Fi.

No Wiren Board 6, mais alterações foram adicionadas:

  • Adicionado suporte para dois cartões SIM. O país é grande, a qualidade da comunicação nem sempre é a melhor e agora existe uma reserva imediatamente;
  • implementou suporte completo para o módulo 3G e até NB-IoT (este será um artigo separado). 3G honestamente produz 5 Mbps. O SSH não diminui a velocidade; em geral, uma conexão mais estável, você pode obter qualquer número de parâmetros de objetos remotos;
  • sensor de temperatura na placa controladora. Barato, mas é útil para as pessoas verem em que condições o controlador funciona. Outro sensor mede a temperatura do núcleo do processador para que o controlador redefina automaticamente a frequência ao superaquecer;
  • segunda porta USB. Porque nós podemos.

Alterações internas:

  1. Refizemos o esquema de energia (de novo? Quanto você pode, Karl?). Agora fica assim:



    As vantagens de tal esquema:

    - O consumo principal no controlador está na linha de 5V. A eficiência em alta carga (muitos módulos laterais, sensores externos, etc.) é maior;
    - Se instalarmos nosso módulo de energia de reserva dentro do controlador, na ausência de tensão externa, 11 volts serão fornecidos ao bloco de terminais Vout. Isso permite que vários dispositivos conectados via RS-485 funcionem;
    - a saída pode ser programada para ligar e desligar, o que é útil para reiniciar remotamente os periféricos conectados de diferentes fabricantes por energia.
  2. Desativado por software, esticando as linhas RS-485. É necessário um "alongamento" de linhas do resistor fraco para definir um nível lógico fixo no barramento quando nenhum dispositivo estiver transmitindo dados. Você precisa desativar o “alongamento” (viés à prova de falhas de maneira inteligente) se vários controladores estiverem conectados ao barramento, por exemplo, quando a placa Wiren funcionar como um escravo Modbus.
  3. Teclas inteligentes em vez de transistores nos terminais A1-A4: com proteção contra curto-circuito e superaquecimento e limitação de corrente.

Módulos de expansão


Os módulos de E / S (estes são módulos com E / S adicionais conectadas ao controlador na lateral) ficaram iguais aos de antes, mas os módulos de expansão decidiram refazer.



Pinagem do conector de expansão. À esquerda - como estava, à direita - como se tornou.

No WB5, eles emitiram sinais com margem - potência, UART, I2C, SPI. Por três anos, eles criaram apenas um módulo usando o SPI - o módulo do cartão SD, e não requer blocos de terminais externos. E o I2C é um software bastante baseado em GPIO. Portanto, o excesso foi removido e o espaço foi liberado para o terceiro slot para módulos de expansão que não requerem terminais externos (este é um GPS, slot microSD, no futuro, diferentes módulos com rádio).



Os próprios módulos de expansão foram feitos com uma chave - a parte saliente da placa é inserida no slot na placa controladora. Isso aumenta a rigidez da conexão - os lenços não ficam presos no conector e é impossível inserir incorretamente.

Processador criptográfico


Na Wiren Board 6, adicionamos um processador de criptografia. Este é um chip especial que armazena chaves de criptografia privadas do usuário e as utiliza para criar assinatura digital criptográfica de dados.

Se simples, este é um análogo de cartões inteligentes ou apitos USB, emitidos por bancos e agências governamentais para confirmar a identidade do usuário.

Por que precisamos de um processador criptográfico
O processador criptográfico no controlador é usado para autenticação nos sistemas de monitoramento e controle do nível superior.

Anteriormente, para conectar controladores a, digamos, um servidor VPN, era necessário usar um nome de usuário e senha comuns (inseguros) ou emitir detalhes separados para cada controlador (inconveniente). Além das dificuldades com o gerenciamento de detalhes, ambas as soluções são potencialmente inseguras: os detalhes e um arquivo de certificado, se desejado, podem ser copiados de um controlador para outro e obter acesso ao sistema.

Com um processador de criptografia, tudo é bastante simplificado: no servidor, você só precisa registrar uma lista de números de série (nome comum) dos controladores permitidos. Ao mesmo tempo, o servidor verifica a assinatura criptográfica do certificado do controlador, que não pode ser falsificada e copiada.

Implementamos o suporte ao chip criptográfico na biblioteca do sistema padrão OpenSSL, para que quase qualquer software padrão usando SSL, TLS ou HTTPS possa trabalhar com chaves de hardware protegidas.

Agora estamos trabalhando com parceiros - fornecedores de sistemas de nível superior para garantir que o Wiren Board esteja conectado a esses sistemas sem senhas e pré-configurações. Também está previsto suporte para plataformas de IoT dos principais fornecedores: Amazon, Google e outros.

De software


Em geral, as atualizações de software da Wiren Board são lançadas simultaneamente para todas as versões e revisões de controlador suportadas.

No entanto, no lançamento do Wiren Board 6, cronometramos várias mudanças importantes no software.

Debian 9


Novos controladores vêm com a versão estável mais recente do Debian - Debian Stretch. O processo de transição do Debian Wheezy tem sido um processo longo e doloroso, principalmente devido ao uso do systemd em vez do sysvinit no novo Debian.

Mas agora nossos usuários obtêm uma distribuição moderna com versões relativamente recentes de software de terceiros. Além disso, a distribuição e o próprio WB6 são compatíveis com os pacotes do Raspbian.

Novo sistema de atualização e recuperação de firmware


As versões anteriores dos controladores podiam ser atualizadas através do gerenciador de pacotes APT ou o firmware inteiro podia ser substituído pela interface da web. Se ações descuidadas do usuário levassem à inoperabilidade do sistema, a restauração completa do firmware de fábrica seria realizada via porta USB usando um computador ou máquina virtual com Linux e um programa especial mxsldr.

No Wiren Board 6, também implementamos uma atualização usando o gerenciador de inicialização. Para restaurar o firmware, basta inserir a unidade flash USB com o novo arquivo de firmware na porta USB do controlador e clicar no botão de atualização.

Da mesma forma, você pode redefinir todas as configurações do controlador para os padrões de fábrica.

Apelo à ação


Precisa de mais informações técnicas? Aqui você pode encontrar as especificações completas .

Tem outras perguntas sobre o dispositivo e seus aplicativos? Estamos esperando por você em nosso site https://wirenboard.com/ e visitando nosso escritório.

Deseja experimentar um novo controlador no trabalho? Você pode comprar o controlador no varejo diretamente em nosso site . Nós enviamos o equipamento por correio 1-2 dias após a encomenda.

Source: https://habr.com/ru/post/pt414411/


All Articles