Aplicativos paralelos em um u-BLOX NINA W106 usando a plataforma Toit para IoT
Aplicativos paralelos usando a plataforma Toit para IoT
Com a plataforma Toit, os desenvolvedores podem tratar o u-BLOX NINA W106 como um computador comum, instalando aplicativos tão facilmente quanto em um computador ou telefone. Usando a linguagem de alto nível Toit, é fácil implementar funcionalidades e aplicativos, enquanto a plataforma Toit garante que o dispositivo continue funcionando, não importa o que aconteça. Este projeto testa a plataforma Toit conectando um sensor BME280 a um u-BLOX NINA W106 e lendo os dados deste sensor. Os dados são publicados no log do console Toit.
Para este projeto, você precisa de u-blox NINA W106.
Além disso, precisamos de um sensor BME280. O sensor no link abaixo é uma escolha adequada para este projeto:
- O Sensor de Pressão BME280 é um exclusivo modelo capaz de realizar a medição de pressão atmosférica, umidade e temperatura, também conhecido como barômetro é um módulo digital de alta capacidade e resolução, utilizado nas mais diversas aplicações junto a microcontroladores, entre eles, o Arduino.
- Sensor de Pressão BME280;
- Modelo:BME280;
Uma conta gratuita pode ser criada em toit.io. Os primeiros 100 MB de dados que fluem do u-BLOX NINA W106 para a plataforma são gratuitos. Siga o link abaixo e clique em " Experimentar gratuitamente " na página da web:
Ao se inscrever, uma organização é criada no console do Toit e você receberá um e-mail para definir sua senha. Você pode fazer logon no console e ver seus dispositivos depois de reivindicá-los (consulte a próxima seção).
Provisione e reivindique seu u-BLOX NINA W106Um guia rápido sobre como instalar o software Toit necessário em seu computador, provisionar seu u-BLOX NINA W106 e, posteriormente, reivindicá-lo para que ele apareça no console Toit pode ser encontrado aqui:
Depois de reivindicar o dispositivo, ele deve aparecer na lista de dispositivos em alguns segundos. Clique no dispositivo para obter mais informações sobre ele.
Aplique o RESET
Conectando o HWConectar o sensor BME280 ao u-blox NINA W106.
- SDA -> GPIO17
- SCL -> GPIO18
Finalmente, é claro que precisamos conectar 3,3V e GND.
Para implantar um aplicativo, precisamos de algum código Toit e de um arquivo de agendamento YAML.
O código Toit é relativamente autoexplicativo, veja abaixo. Primeiro, precisamos de bibliotecas para GPIO, I2C e acesso a sensores. Na função principal configuramos o barramento I2C com endereço 0x77 e configuramos GPIO 17 e 18 para serem SDA e SCL, respectivamente. Também criamos um objeto sensor que contém métodos para ler dados do sensor. O comando print imprime os dados no log no console do Toit, com formatação.
// Filename: bme280.toit
import gpio
import serial.protocols.i2c as i2c
import drivers.bme280
main:
bus := i2c.Bus
--sda=gpio.Pin.out 17
--scl=gpio.Pin.out 18
device := bus.device 0x77
bme := drivers.Bme280 device
bme.on
print "Temperature: $(%.1f bme.read_temperature) C"
print "Humidity: $(%.1f bme.read_humidity) %"
print "Pressure: $(%.1f bme.read_pressure / 100) hPa"
bme.off
Também precisamos de um arquivo YAML. O arquivo YAML cuida do agendamento do código Toit, ou seja, quando o código deve ser executado. Damos o nome de " Measure THP ", apontamos para o arquivo Toit bme280.toit e, finalmente, instruímos o sistema a executar o código quando instalamos o aplicativo e, posteriormente, a cada cinco segundos.
// Filename: bme280.yaml
name: "Measure THP"
entrypoint: bme280.toit
triggers:
on_install: true
on_interval: 5s
Código Toit e arquivo YAML para impressão da horaO código Toit para imprimir um carimbo de hora formatado no log é o seguinte:
// Filename: time.toit
main:
time := Time.now.local
print "Current Time: $(%02d time.h):$(%02d time.m):$(%02d time.s) - $(%02d time.day)/$(%02d time.month)"
No arquivo YAML, optamos por executar esse código Toit assim que instalamos o aplicativo e, em seguida, a cada cinco segundos.
// Filename: time.yaml
name: "Timestamp"
entrypoint: time.toit
triggers:
on_install: true
on_interval: 5s
Como implantar os aplicativosCom os arquivos Toit e YAML acima salvos, podemos implantar esses aplicativos no u-BLOX NINA W106 usando os seguintes comandos, desde que você nomeou o u-BLOX NINA W106 como " Toit1 " no console do Toit e que os nomes dos arquivos YAML são " bme280.yaml " e " time .yaml ":
$ toit device -d Toit1 deploy bme280.yaml
successfully deployed the job Measure THP on Toit1
$ toit device -d Toit1 deploy time.yaml
successfully deployed the job Timestamp on Toit1
Vá para o console do Toit e clique no seu dispositivo. Os dois aplicativos instalados agora devem estar listados na guia APPS. Observe os botões "Desinstalar" na extrema direita. Eles podem ser usados para desinstalar o aplicativo correspondente:
Se mudarmos para a guia LOGS, devemos ver os dados de temperatura, umidade e pressão barométrica sendo publicados no log.
Agora você pode tentar modificar o código e reimplantar o aplicativo. Observe que você não precisa desinstalar um aplicativo antes de reimplantá-lo.
Abaixo um exemplo mais simples!
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
Nenhum comentário:
Postar um comentário