O objetivo deste BLOG é demonstrar como é possível utilizar o ANNEX BASIC para programação do WISOL LSM110A. Foi utilizado o Starter Kit LSM110A para o teste. O exemplo enviará dados para o Gateway Dragino via LoRA (ABP, AU915) e os mesmos podem ser encaminhados para o servidor dedicado, dispensando uso do servidor LoRaWAN TTN, CHIRPSTACK ou nem mesmo acesso à Internet.
Será utilizado o STACK da RAKWIRELLES
O LSM110A é um módulo de última geração que integra o STMicroelectronics STM32WL. É muito menos consumo atual para o dispositivo IoT para estender a vida útil da bateria. E, também suporta ambas as tecnologias – Sigfox e LoRa – com o próprio módulo LSM110A.
BASIC ANNEX RDS
Best Embedded Basic Interpreter
ESP-NOW, BLE, MQTT...ÓTIMO PARA IoT
Veja o HELP do BASIC ANNEX RDS
Veja também FORUM
INTRODUÇÃO AO ANNEX BASIC
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
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
ESCREVENDO Hello SmartCore no TERMINAL COM A INSTRUÇÃO Print
CÓDIGO EM ANNEX BASIC
WDT = 0
pin.mode 12, output : pin(12) = 0
serial2.mode 115200, 13, 15
onserial2 rec2
pause 1000
gosub RESET_LSM110A
gosub boot
do
gosub Send_Package
pause 19500
loop
END
' -------------------
boot:
pause 20000
printAT "AT+NWM=1" ' enable LoRaWAN
printAT "AT+NJM=0" ' ABP
printAT "AT+APPSKEY=11111111111111111111111111111111" ' APPSKEY
printAT "AT+NWKSKEY=11111111111111111111111111111111" ' NWKSKEY
printAT "AT+DEVADDR=11111111" ' DEVADDR
printAT "AT+BAND=6" ' AU915
printAT "AT+MASK=0002" ' MASK (regional parameters)
printAT "AT+CLASS=A" ' CLASS A
printAT "AT+TXP=14" ' TX POWER 14
printAT "AT+ADR=1" ' adaptative data rate
printAT "AT+PNM=1" ' private network
return
' -------------------
Send_Package:
print "Sending Package"
printAT "AT+MASK=0002"
a$= STR$(rnd(255), "%02x", 1)
b$= STR$(rnd(255), "%02x", 1)
c$= STR$(rnd(255), "%02x", 1)
package$= "AT+SEND=2:" + a$ + b$ + c$
print package$
printAT package$
return
' -------------------
rec2:
r$ = serial2.input$
print r$
return
' -------------------
SUB printAT(message$)
print2 message$ + chr$(13) + chr$(10)
pause 500
END SUB
RESET_LSM110A:
pin(12) = 1
pause 1
pin(12) = 0
pause 1
return
No Gateway da Dragino, cadastre os parâmetros ABP
Log - System Log (Dragino)
Mon Dec 11 10:43:48 2023 daemon.info lora_pkt_fwd[1635]: PKT_FWD~ DATA_UNCONF_UP-> {"DevAddr": "11111111", "FCtrl": ["ADR": 1, "ADRACKReq": 0, "ACK": 0, "RFU" : "RFU", "FOptsLen": 1], "FCnt": 2, "FPort": 2, "MIC": "8013DB6E"}
Mon Dec 11 10:43:48 2023 daemon.info lora_pkt_fwd[1635]: RXTX~ {"rxpk":[{"tmst":700687564,"time":"2023-12-11T13:43:48.070726Z","chan":5,"rfch":1,"freq":917.800000,"stat":1,"modu":"LORA","datr":"SF10BW125","codr":"4/5","lsnr":7.8,"rssi":-82,"size":17,"data":"QBERERGBAgACApS5r27bE4A="}]}
Para entender os dados de "data" (BASE64) acompanhe o vídeo a partir do tempo 07:19
MONTAGEM
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.
Nenhum comentário:
Postar um comentário