U-BLOX NINA W102 PROGRAMADO EM LUA
O objetivo deste BLOG é demonstrar como é possível utilizar programar o módulo U-BLOX NINA W102 com a linguagem de Scripts Lua.
UBLOX NINA W102
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
SMARTCORE
A SmartCore fornece módulos para comuniçã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
Lua
Lua é uma linguagem de programação interpretada, de script em alto nível, com tipagem dinâmica e multiparadigma, reflexiva e leve, projetada por Tecgraf da PUC-Rio em 1993 para expandir aplicações em geral, de forma extensível (que une partes de um programa feitas em mais de uma linguagem), para prototipagem e para ser embarcada em softwares complexos, como jogos.
É uma linguagem de script também projetada para sistemas embarcados. É poderoso, mas pequeno o suficiente para funcionar em plataformas de microcontroladores.
COMPILAÇÃO do LUA para NINA W102
Aqui está a VM (VIRTUAL BOX)
Para compilar foi seguido passo a passo o roteiros abaixo:
Algumas dicas importantes
-Foi realizado um downgrade no PYPARSING
-Partitions escolhidad foi partitions_2MB.csv
-Alterado Flash de 4MB par 2MB
-Utilizei UBUNTU 18 (VM)
Seguem algumas imagens importantes
Gravando na FLASH do NINA W102 - make flash
Alterando tamanho flash para gravar no W102 - make menuconfig
Definindo tamanho da Partição - make menuconfig
Compilando Programa - make menuconfig
Módulos Disponíveis para o LUA (Padrão)
Interagindo com Lua via ChiliPeppr ESP32 Web IDE
Ótimo Roteiro
Exemplo Blynk Original
Exemplo
-- ChiliPeppr - Blink built-in LEDs on ESP32 devices
m = {}
-- Config
m.pins = {NINA_W102 = 32} -- GPIO
m.value = 0
m.duration = 500
m.ctr = 0
function m.toggleLED ()
if m.value == 0 then
m.value = 1
else
m.value = 0
end
print("Toggled...")
-- print("Toggling")
for key, value in pairs(m.pins) do
local pin = value
gpio.write(pin, m.value)
-- print("Toggled " .. pin)
end
-- m.ctr = m.ctr + 1
-- if m.ctr > 10 then
-- m.mytimer:unregister()
-- end
end
-- Initialise the pins
print("Initializing pins")
for key, value in pairs(m.pins) do
print("Initting LED pin for ESP32 device: ", key, "pin:", value)
gpio.config( { gpio={value}, dir=gpio.OUT } )
end
-- tmr.alarm(0, duration, 1, toggleLED)
m.mytimer = tmr.create()
m.mytimer:alarm(m.duration, tmr.ALARM_AUTO, m.toggleLED)
MONTAGEM
Questões: suporte@smartcore.com.br
FONTES:
Nenhum comentário:
Postar um comentário