sexta-feira, 23 de setembro de 2022

Simulando aplicação ANNEX BASIC no U-BLOX NINA W106 via WOKWI

Simulando aplicação ANNEX BASIC no U-BLOX NINA W106 via WOKWI

 

O objetivo deste BLOG é mostrar o potencial do ANNEX BASIC no Ambiente de Simulação WOKWI e assim desenvolver aplicações no U-BLOX NINA W106, tendo acesso à vários sensores e atuadores.

Teste de forma simulada o U-BLOX NINA W106 :)

++

U-BLOX NINA W106
GPIO_XX

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

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


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. 

Introdução

ANNEX WI-FI RDS é um poderoso interpretador de scripts para o popular módulo WI-FI ESP32 (u-BLOX NINA W106).
O módulo pode ser gerenciado com um IDE WEB dedicado e um conjunto de utilitários AnnexToolKit associado.

O ANNEX WI-FI RDS fornece as seguintes funcionalidades principais:
  • Servidor web assíncrono baseado em Websockets
  • Servidor web muito rápido/servidor de arquivos
  • Apenas uma porta TCP necessária para http e websockets
  • IDE integrado
  • Pode ser programado usando seu navegador web (mesmo com um telefone/tablet)
  • Pontos de interrupção, execução imediata de comandos, exibição de variáveis, passo único.
  • Ajuda sensível ao contexto disponível pressionando a tecla F2
  • Atualização OTA (Over the Air)
  • Poderoso utilitário de faca suíça associado AnnexToolKit
  • Programação de flash simplificada
  • Backup/restauração (de/de arquivos, para/de zip)
Funcionalidades do Interpretador Básico:

Variáveis de dupla precisão de ponto flutuante
Variáveis de string com tamanho ilimitado
Matrizes multidimensionais (pontos flutuantes ou string)
Manipulação de eventos assíncronsos
Manipulação de erros
I/O em todos os pinos disponíveis, incluindo PWM/SERVO
Controladores PID
Contadores de frequência
Entrada ADC analógica
Geração de tons
Suporte para SPI e I2C
Suporte protocolos TCP e UDP para comunicações
Suporte para envio de e-mails usando servidores SSL SMTP
Suporte para comunicações AJAX
Suporte para comunicações ESP-NOW
Suporte para comunicações MQTT
Suporte para transferência de arquivos FTP
Suporte algoritmos IMU Fusion 6 DOF e 9 DOF (Madgwick e Mahony)   
Forte integração com o javascript permitindo trocas entre script Básico e navegador web
Uma paleta completa de funções/comandos 
Mais de 300 Comandos/Funções disponíveis
Suporte para os seguintes módulos/componentes
  • Sensores de temperatura/umidade DHT11, DHT21 ou DHT22
  • Sensor de temperatura DS18B20
  • LCD HD44780 com módulo de interface I2C (1, 2 ou 4 linhas com 16 ou 20 chars por linha)
  • Display LCD baseado no chipset ST7920 com monocromático de 128x64 pixels 
  • Display OLED baseado no chipset SSD1306 ou SH1106 com monocromáticos 128x64 
  • Display TFT baseado em chipset ILI9341 com 320x240 pixels e 16 bits cores
  • Exibição TM1637 de 4 dígitos de 7 segmentos
  • TM1638 8 dígitos 7 segmentos display incluindo 8 leds e 8 botões
  • Exibição max7219 de 8 dígitos de 7 segmentos
  • Módulos de exibição de matriz de ponto MAX7219 8x8
  • Tiras led Neopixel WS2812
  • Tela de matriz de pontos Neopixel WS2812 8x8
  • Módulo PWM/SERVO PCA9685
  • Interface infravermelha com muitos protocolos RC (transmissão e recepção)
  • Módulo RTC (DS1307 ou DS3231)
  • Sensor ultrassônico HC-SR04 para medição de distância
  • Sensor de orientação absoluta BNO055
  • BME280 Sensor combinado de umidade e pressão
  • Proximidade Digital APDS9960, Luz Ambiente, RGB e Sensor de Gestos     

Primeiros Passos

  • Descompacte o pacote do Annex WI-Fi Basic para uma pasta de sua escolha.
  • Conecte o dispositivo ESP à porta Com serial do computador.
  • Execute o AnnexToolKit.exe da pasta pai descompactada.
  • Selecione o tipo de módulo, porta de comunicação e velocidade (taxa de transmissão) apropriados.
  • Se o seu dispositivo ESP não for capaz de 'flash automático', inicie-o no modo de flash manualmente (gpio0 a 0v na inicialização).
  • Clique no botão amarelo 'Flash Firmware + Dados' se estiver fazendo um flash pela primeira vez e siga as instruções na tela.
  • Após a conclusão bem-sucedida, o dispositivo será reinicializado e executará o novo firmware.
  • Conecte o wi-fi ao ESP SSID que aparecerá na lista de computadores de SSIDs Wifi disponíveis (leva alguns segundos).
  • Navegue até 192.168.4.1 para abrir a janela Saída padrão e, a seguir, clique com o botão direito do mouse no botão Editor para abri-lo em uma nova guia.
Estes são os primeiros passos para começar:

Faça o download do ANNEX  TOOLKIT para u-BLOX NINA W106 (ESP32), senha: annex


Abra o AnnexToolKit, selecione a Porta Serial, clique em Conectar e verifique o endereço IP mostrado na janela Serial Monitor. No exemplo foi escolhido o botão verde Flash Firmware ESP32 Only


Vendo se o boot ocorreu dentro do esperado


Neste caso, o Endereço é 192.168.1.8 porque foi pré-configurado para se conectar ao meu roteador wi-fi, caso contrário o endereço IP será padrão para 192.168.4.1 

Veja como pegar IP da sua REDE (modo Station)


Procurando e se conectando no ANNEX

Acessando 198.168.4.1 (IP inicial do ANNEX)

Coloque o SSID e SENHA de seu Access Point

Obtendo o IP da sua Rede Local

Uma vez configurado, ele entrará em sua REDE

Abra uma janela do navegador da Web e selecione o endereço IP do módulo. Clique em Editor


Agora você pode simplesmente digitar seu programa e salvá-lo no disco interno.

Podemos começar com um programa muito simples:

Digite print "Hello World" na janela do editor e clique em Save as, nomeie o programa /program/test.bas e clique em Save


Você pode ver na janela Serial Monitor que o arquivo foi salvo


A ajuda sensível ao contexto on-line está disponível para qualquer comando Annex. Isso requer que o computador seja conectado ao dispositivo e à internet ao mesmo tempo. Assim, o computador precisa de 2 interfaces de rede (uma para o dispositivo e outra para internet), ou o dispositivo deve ser configurado para logon ao seu roteador wi-fi para que ele esteja na mesma sub-rede que a conexão com a internet.

Ajuda online é muito fácil de usar, se você quiser ajuda para o comando PRINT, por exemplo, basta colocar o cursor na palavra imprimir na janela de edição e pressionar a tecla F2.

Esta janela pop-up aparecerá:


Agora você pode executar o programa clicando no botão Run

Na janela Serial Monitor você verá o resultado 


Agora você pode se divertir em experimentar qualquer programa usando a mesma lógica!

Escrevendo Hello SmartCore no terminal com a instrução Print



Por  Uri Shaked

Best  Simulator

Wokwi é um simulador de eletrônica online. Você pode usá-lo para simular Arduino, U-BLOX NINA W106 (ESP32) e muitas outras placas, componentes e sensores populares.
Simula várias partes (elementos Wokwi) como LEDs, shift registers, Buzzer, sensores (ultrassônico, temperatura, umidade etc. ) Display SSD, teclados e muito mais.

Você pode aprender programação BASIC no U-BLOX NINA W106 onde quer que esteja. Nenhum hardware é necessário. 

UBLOX 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
Super Pequena
Módulo baseado no ESP32, com 4MB FLASH
HOMOLOGADO PELA ANATEL

BREAKOUT U-BLOX NINA W106

Algumas características:

-Botão de RESET;
-Pequena;
-Botão de Modo BOOTLOADER (W106);
-Acesso às várias GPIOS.

Simulando BASIC no U-BLOX NINA W106

  • Abra o projeto abaixo


  • Baixe o ZIP abaixo

  • Click na área do programa em BASIC
  • Pressione F1 e escolha Load Custom Board File
  • Aponte para caminho da pasta que você descompactou, mais precisamente no Folder
C:\yourfolder\wokwi-boards-master\boards\esp32-nina-w10x


    De um Play e ficará assim!


    Thanks to Francesco (ANNEX) and Urish (WOKWI) in our "meeting"
 
    and see what Francesco wrote!

    Hi all,
    I'm happy to announce that the online simulator WOKWI includes also the support for Annex32.
    This has been possible thanks to the work of urish, the developer of WOKWI, Miguel (tcpipchip) and myself.

    It is now possible to run Annex32 projects including external "virtual" devices directly in a web browser.

    You can see some examples below

https://wokwi.com/projects/343447488070419027

https://wokwi.com/projects/343314500981621331

https://wokwi.com/projects/343446594012578387

https://wokwi.com/projects/343238432714130003

    You can take any example as reference, change the content of main.bas, add any virtual device and click on  the play button.
    You can then save and share your project to others, test H/W parts that you do not really own and do whatever you want.

    Hope you like it ....

Dúvidas:

suporte@smartcore.com.br

Referências:


Sobre a SMARTCORE

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.

Mais detalhes em www.smartcore.com.br

sexta-feira, 16 de setembro de 2022

U-BLOX NINA B302 LENDO BATIMENTO CARDÍACO E MANDANDO VIA BLE

U-BLOX NINA B302 LENDO BATIMENTO CARDÍACO E MANDANDO VIA BLE (ADVERSTISING)


O objetivo deste BLOG é mostrar um exemplo em ARDUINO (NRF52 ADAFRUIT) que permite o NINA B302 se comunicar com o MAX30100 via I2C e disponibilizar o batimento cardíaco via BLE ( BROADCASTING), bem como entrar em LOW ENERGY para economia de bateria, chegando em 600uA.