terça-feira, 20 de julho de 2021

u-BLOX NINA W106 SENDO PROGRAMADO EM BASIC ANNEX RDS - FAZENDO LED PISCAR A QUANTIDADE DE VEZES SOLICITADA PELO GOOGLE ASSISTANT

u-BLOX NINA W106 SENDO PROGRAMADO EM BASIC ANNEX RDS  - FAZENDO LED PISCAR A QUANTIDADE DE VEZES SOLICITADA PELO GOOGLE ASSISTANT


O objetivo deste BLOG é demonstrar como é possível programar o módulo u-BLOX NINA W106 (ESP32) no starter kit EVK-NINA-W1 com a linguagem BASIC ANNEX WiFi RDS (1.43 Beta) e então fazer um LED piscar em uma quantidade solicitada pelo GOOGLE ASSISTANT, este dado estará armazenado no  servidor ThingSpeak.

u-BLOX NINA W106

Wi-Fi 802.11b/g/n
Dual-Mode Bluetooth v4.2
Poderoso suporte de CPU aberta para aplicativos personalizados
Tamanho pequeno e várias opções de antena
Pino compatível com outros módulos NINA
Certificação global
Módulo baseado no ESP32, com 4MB FLASH

SMARTCORE

A SmartCore fornece módulos para comunicação wireless, biometria, conectividade, rastreamento e automação.
Nosso portifólio inclui modem 2G/3G/4G/NB-IoT/Cat.M, satelital, módulos WiFi, Bluetooth, GNSS/GPS, Sigfox, LoRa, leitor de cartão, leitor QR code, mecanismo de impressão, mini-board PC, antena, pigtail, LCD, bateria, repetidor GPS e sensores.
Mais detalhes em www.smartcore.com.br


IFTTT

Abreviação de "If This, Then That", IFTTT é uma maneira fácil de automatizar tarefas que podem ser repetitivas ou incapazes de falar entre si. Funciona assim: os usuários são guiados através de um processo para fazer scripts simples, também conhecidos como "receitas", onde algum tipo de evento em um dispositivo ou serviço aciona automaticamente uma ação em outro.

SOBRE A LINGUAGEM BASIC

BASIC (acrônimo para Beginner's All-purpose Symbolic Instruction Code; em português: Código de Instruções Simbólicas de Uso Geral para Principiantes) é uma linguagem de programação, criada com fins didáticos, pelos professores John George Kemeny, Thomas Eugene Kurtz e Mary Kenneth Keller em 1964 no Dartmouth College.

Basic pode ser uma opção de linguagem para se aprender lógica, uma vez que foi desenvolvida em alto nível (próxima da linguagem humana). Além da sua relativa facilidade de criar aplicações de forma simples e rápida.

BASIC também é o nome genérico dado a uma grande família de linguagens de programação derivadas do BASIC original. Provavelmente existem mais variações de BASIC do que de qualquer outra linguagem de programação.

BASIC ANNEX RDS

ESP-NOW, BLE, MQTT...ÓTIMO PARA IoT

Veja o HELP  do BASIC ANNEX RDS

Veja também FAQ



THINGSPEAK


Thingspeak é uma plataforma de análise IoT (Internet of Things) que permite agregar, visualizar e analisar streams de dados, de uma forma muito simples. Uma das grandes vantagens da plataforma Thingspeak é que nos permite visualizar os dados enviados pelos nossos dispositivos, em tempo real, mas também a possibilidade de analisar os mesmo recorrendo ao poderoso Matlab.


INTERPRETADOR ?

O interpretador básico funciona através da leitura de um arquivo de script salvo no sistema de arquivamento em disco local esp.

Este é o modo padrão se nenhum SDcard externo estiver conectado ao u-BLOX NINA W106.

Além disso, o Annex32 pode usar um SDcard externo como sistema de arquivos, permitindo até 16 Gbytes de espaço em disco.

Durante a inicialização, se um SDcard externo for detectado, ele será conectado automaticamente e usado como o sistema de arquivos padrão, caso em que o sistema de arquivo interno não será usado.

Como o u-BLOX NINA W106 contém uma boa quantidade de RAM, o script do usuário é copiado do disco para uma área dedicada na memória RAM onde é executado, junto com a lista das linhas do programa, os rótulos dos ramos e a lista do usuário definido sub-rotinas ..

Isso usa mais RAM em comparação com outras abordagens, mas permite uma execução mais rápida do programa.

Outra consideração de desempenho é que o 
u-BLOX NINA W106 deve ser capaz de executar várias atividades em segundo plano (servidor web, servidor de arquivos, etc.), portanto, precisa de memória livre suficiente para executar tais tarefas, e essas tarefas paralelas obviamente terão um impacto no desempenho do script ..

Portanto, em termos de desempenho, o interpretador não é particularmente rápido, mas deve ser rápido o suficiente para a maioria das tarefas que você pode exigir. 

Solicitações de dados do servidor (GET e POST)
O ANNEX inclui a funcionalidade de solicitar / enviar dados de / para o servidor usando solicitações HTTP GET e POST.

O GET é o método HTTP mais comum, geralmente usado para solicitar (GET) dados de um servidor, mas também pode ser usado para enviar dados ao servidor.

Isso é o que seu navegador faz ao digitar um url na barra de endereço.

Este método usa a url para incluir todos os dados a serem transferidos para o servidor e retorna a resposta do servidor.

Exemplo:

' do an HTTP GET request

a$ = WGET$("jsonplaceholder.typicode.com/comments?id=1&id=4", 80)

IFTTT e GOOGLE ASSISTANT

Configurando IFTTT




If This: Selecione a opção dois, onde # vai representar o número falado no Google Assistant




Then: defina que você deseja fazer um WebHock com ThingSpeak (NumberField será o número que Google Assistant irá retornar)



A URL acima deve ser obtida no Site ThingSpeak
GET https://api.thingspeak.com/update?api_key=xxxxxxxxxxxxxxxxx&field1=NumberField




Pronto!


Agora com o App do Google Assistant (usar mesma conta utilizado para entrar no IFTTT), diga uma frase com:

OK GOOGLE, please blink lamp 11 times

Veja o que será publicado no ThingSpeak




Google Assistant





Annex ESP32

A cada 15 segundos, ANNEX acessará o último registro publicado pelo IFTTT no ThingSpeak e fará um LED a quantidade de vezes solicitada no Google Assistant.

Ele filtrará o seguinte JSON
{"channel":{"id":1368213,"name":"ELETIVA II","description":"Demonstração Disciplina Eletiva II - BCC - SIS - FURB","latitude":"0.0","longitude":"0.0","field1":"annex","created_at":"2021-04-22T22:17:35Z","updated_at":"2021-07-20T17:02:54Z","last_entry_id":101},"feeds":[{"created_at":"2021-07-20T19:00:38Z","entry_id":101,"field1":" 11"}]}

pin.mode 18, OUTPUT pin(18) = 0 'comece apagado led wlog "Start" while 1=1 a$ = WGET$("https://api.thingspeak.com/channels/xxxxxxx/feeds.json?results=1", 80) b$ = JSON$(a$, "feeds[1].field1") 'separando campo field1 blink=val(b$) for l=1 to blink 'fazendo piscar "campo field1" vezes pin(18) = 1 pause 300 pin(18) = 0 pause 300 next l pause 15000 wend end

DÚVIDAS
suporte@smartcore.com.br

REFERÊNCIAS

A SmartCore fornece módulos para comunicação wireless, biometria, conectividade, rastreamento e automação.
Nosso portfólio inclui modem 2G/3G/4G/NB-IoT/Cat.M, satelital, módulos WiFi, Bluetooth, GNSS / GPS, Sigfox, LoRa, leitor de cartão, leitor QR code, mecanismo de impressão, mini-board PC, antena, pigtail, LCD, bateria, repetidor GPS e sensores.

Nenhum comentário:

Postar um comentário