Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Industrial Internet of Things >> Tecnologia da Internet das Coisas

Como construir uma entrada digital e controle digital usando o módulo Bluetooth RN487x da Microchip

Aprenda a usar um módulo Microchip para criar protótipos de entrada digital e periféricos de controle digital.


Neste artigo, o segundo de uma série de três partes sobre os módulos Bluetooth RN487x da Microchip, mostrarei como criar uma entrada digital (uma chave) e um controle digital (de um LED).

Consulte meu primeiro artigo para obter informações básicas e instruções sobre como configurar o módulo RN487x.

Projeto 1:Chave de entrada digital RN478x


Nosso padrão de design tem três componentes que precisamos fornecer:
  1. Hardware: Hardware específico da tarefa para gerar o sinal digital
  2. Configuração: Comandos do módulo RN487x para alocar uma variável em um banco de dados e para mapear o sinal para a variável
  3. Aplicativo: Script em uma estação de trabalho, para aceitar o valor do banco de dados

O que se segue é a repartição dos componentes.


Hardware de entrada digital


A função de 'entrada digital' é simplesmente fornecida por um interruptor; SW1.







O módulo RN487x possui pullups internos nos pinos, portanto, uma chave normalmente aberta conectada ao aterramento no fechamento nos dará o controle de 2 estados necessário.







Como estamos gerenciando apenas um sinal e não estamos usando PWM, escolhemos o RN4871. O circuito pode ser alimentado por um par de baterias AAA ou até mesmo por uma célula tipo moeda.

Os demais elementos do circuito são;

Configuração de entrada digital


Antes de criar a configuração para este exemplo, certifique-se de que o módulo esteja em um estado conhecido. Isso é descrito na seção do apêndice sobre inicialização comum. Não pule esta etapa!

Precisamos apenas de uma característica no banco de dados para representar o estado do nosso sensor. Portanto, criamos um serviço e uma característica nesse serviço. Os dois comandos correspondentes são:
  PS, 59c88760536411e7b114b2f933d5fe66 PC, 59c889e0536411e7b114b2f933d5fe66,10,01  

O primeiro comando, PS, cria o serviço. O segundo comando, PC, cria a característica. Em ambos os comandos, o primeiro parâmetro é o identificador que permite que nosso periférico exista no universo de outros periféricos Bluetooth e ainda seja acessado de forma única. Este parâmetro deve estar em conformidade com o padrão UUID. Você pode usar os valores de exemplo mostrados. Também é fácil criar qualquer número de UUIDs padrão.

No comando PC, o segundo parâmetro informa à camada Bluetooth como as alterações no valor devem chegar ao cliente. Neste caso o parâmetro (10), diz que alterações no valor podem resultar em uma notificação imediata aos clientes. Esta é uma parte importante de nossa intenção para este exemplo. Finalmente, no comando PC, o terceiro parâmetro define o tamanho do valor em bytes; apenas um neste caso (01).

A parte do script de nossa configuração se parece com isto:
  @PW_ON SW, 0A, 09 @ PIO1H SHW, 0072,01 @ PIO1L SHW, 0072,00  

Existem três métodos neste script, cada um prefixado com ‘@’. Cada método é executado em um evento de sistema específico.

Aplicativo de entrada digital


O script Python é switch.py ​​e pode ser encontrado aqui. Edite o script e substitua o endereço MAC de amostra pelo endereço MAC do seu dispositivo. Em seguida, para exercitar o exemplo, basta ligar o periférico e, em seguida, executar o script em um sistema com os recursos Bluetooth apropriados. Consulte o apêndice para obter ajuda com esta configuração no Linux. O script emitirá mensagens para indicar o progresso durante a conexão com o periférico. Depois que o periférico estiver conectado, pressione e solte o botão algumas vezes. Cada evento de abertura / fechamento do switch será anotado com uma mensagem do script em execução.

O script é curto e inclui comentários para todos os blocos de funções e chamadas de API do GATT.

O recurso BLE que usamos, único neste exemplo, é a notificação.

Projeto 2:Controle Digital RN487x


Nosso padrão de design tem três componentes que precisaremos fornecer:

O que se segue é a repartição dos componentes.


Hardware de controle digital


A função de 'saída digital' é simplesmente fornecida por um LED; D1.







Os circuitos de referência do módulo RN487x sugerem GPIO de coletor aberto, então iluminamos o LED de acordo, absorvendo a corrente.







Como estamos gerenciando apenas um sinal e não estamos usando PWM, escolhemos o RN4871. O circuito pode ser alimentado por um par de baterias AAA ou até mesmo por uma célula tipo moeda.

Os demais elementos do circuito são;

Configuração de controle digital


Antes de criar a configuração para este exemplo, certifique-se de que o módulo esteja em um estado conhecido. Isso é descrito na seção do apêndice sobre inicialização comum.

Não pule esta etapa!

Precisamos apenas de uma característica no banco de dados para representar o estado do nosso sensor. Portanto, criamos um serviço e uma característica nesse serviço.

Os dois comandos correspondentes são:
  PS, 59c88760536411e7b114b2f933d5fe66 PC, 59c889e0536411e7b114b2f933d5fe66,08,01  

O primeiro comando, PS, cria o serviço. O segundo comando, PC, cria a característica. Em ambos os comandos, o primeiro parâmetro é o identificador que permite que nosso periférico exista no universo de outros periféricos Bluetooth e ainda seja acessado de forma única. Este parâmetro deve estar em conformidade com o padrão UUID. Você pode usar os valores de exemplo mostrados. Também é fácil criar qualquer número de UUIDs padrão.

No comando PC, o segundo parâmetro informa à camada Bluetooth como as mudanças no valor devem chegar ao periférico. Nesse caso, o parâmetro (08), diz que o periférico deve enviar uma confirmação ao cliente quando um valor for alterado. Finalmente, no comando PC, o terceiro parâmetro define o tamanho do valor em bytes; apenas um neste caso (01).

A parte do script de nossa configuração se parece com isto:
  @CONN | O, 08,72  

Existe apenas um método neste script ‘@CONN’. Ele é executado sempre que um cliente se conecta ao periférico.

A única linha de script é um comando de "associação de manipulação", com um resultado muito poderoso. Ele associa a variável do banco de dados a um comando de saída de pino digital. O parâmetro '08' é uma máscara de bits que especifica o pino ao qual nosso LED está conectado. O parâmetro '72' é um tratamento único e permanente para a característica que criamos no banco de dados. Portanto, depois que um cliente se conecta, toda vez que o cliente grava um novo valor na variável do banco de dados, nosso LED acende ou apaga de acordo.

Aplicativo de controle digital


O script Python é light.py e pode ser encontrado aqui. Edite o script e substitua o endereço MAC de amostra pelo endereço MAC do seu dispositivo. Em seguida, para exercitar o exemplo, basta ligar o periférico e, em seguida, executar o script em um sistema com os recursos Bluetooth apropriados. Consulte o apêndice para obter ajuda com esta configuração no Linux. O script emitirá mensagens para indicar o progresso durante a conexão com o periférico. Depois que o periférico estiver conectado, o script enviará um novo comando ao periférico a cada segundo. Os comandos irão ligar e desligar o LED.

O script é curto e inclui comentários para todos os blocos de funções e chamadas de API do GATT. O recurso BLE que usamos, único neste exemplo, é a associação de identificadores.

Você pode ver todo este exemplo em ação no vídeo do projeto que acompanha.

Próximas etapas


Isso conclui a parte 2 de nossa série de três partes no módulo RN487x.

A Parte 3 seguirá o mesmo padrão de design para criar um sensor analógico e um controle analógico. Também incluirá alguns tópicos para estudo posterior que se aplicam a todos os projetos de exemplo.

Tecnologia da Internet das Coisas

  1. Grátis como em liberdade ou cerveja grátis? ... que tal:grátis para usar, construir e pesquisar!
  2. Entrada e saída básica em C#
  3. Recapitulação:Como Bluetooth LE e XLE são o futuro do rastreamento e monitoramento de ativos
  4. Como Bluetooth + Ultrassom =Melhor precisão de RTLS e menor custo
  5. Como construir e otimizar um cronograma de manutenção preventiva
  6. Sensores e controles com o módulo RN487x Bluetooth da Microchip
  7. Como criar soluções que seus clientes desejam (e estão dispostos a pagar)
  8. Como construir uma operação mais inteligente usando a tecnologia IoT de monitoramento de tanque
  9. Como entender big data:RTUs e aplicativos de controle de processo
  10. O que é Lean Digital e como integrá-lo?