sábado, 1 de abril de 2023

Micropython no LSM110A - PISCANDO LED

Micropython no LSM110A

LSM110A SENDO PROGRAMADO EM MICROPYTHON

O objetivo deste BLOG é demonstrar como é possível utilizar programar o módulo LoRa LSM110A com a linguagem de Scripts MicroPython para piscar um LED.

BETA BETA BETA BETA

LSM110A Starter KIT
Módulo

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.

Você pode trocar Sigfox ou LoRa com ele para que você também possa reduzir o custo. É altamente otimizado para solução de IoT (Alto Consumo de Energia, Baixo Custo)

A LSM110A completou a certificação verificada Sigfox Rc2, certificação Rc4 e certificação LoRaWAN versão 1.0.4 classe A, C.

MICROPYTHON 

O MicroPython é uma implementação enxuta e eficiente da linguagem de programação Python 3 que inclui um pequeno subconjunto da biblioteca padrão do Python e é otimizada para ser executada em microcontroladores e em ambientes restritos.

O MicroPython é repleto de recursos avançados, como um prompt interativo, números inteiros de precisão arbitrária, fechamentos, compreensão de listas, geradores, tratamento de exceções e muito mais. No entanto, é compacto o suficiente para caber e executar com apenas 256k de espaço de código e 16k de RAM.

O MicroPython pretende ser o mais compatível possível com o Python normal, para permitir a transferência de código com facilidade da área de trabalho para um microcontrolador ou sistema incorporado.

COMPILAÇÃO MicroPython para LSM110A (WSL2)

Após fazer git em 






Gravação com STM32 PROGRAMMER

Execute explorer.exe . no WSL2 para mostrar a pasta onde estão os binários para gravação

STM32 CUBE


Apontar para aquela basta e abrir firmware.hex|

Execução


Para interagir com o MicroPython, recomendo MU Editor


ESP32 ?

CÓDIGO

import pyb import time print("LEDs with MicroPython is easy") # Initialization of LEDs (LED_1, LED_2, LED_3) led_bleu = pyb.LED(1) led_vert = pyb.LED(2) led_rouge = pyb.LED(3) # Initialization of the LED counter led_counter = 0 # Create an infinite loop while 1: if led_counter == 0: led_bleu.on() led_rouge.off() led_vert.off() elif led_counter == 1: led_bleu.off() led_vert.on() led_rouge.off() else: led_bleu.off() led_vert.off() led_rouge.on() # We want to turn on the next LED at the next iteration of the loop led_counter = led_counter + 1 if led_counter > 2: led_counter = 0 # the System falls asleep for 500ms time.sleep_ms(500)


Salve o programa e execute!


// LEDs
#define MICROPY_HW_LED1                    (pin_B15) // blue
#define MICROPY_HW_LED2                   (pin_B9) // green
#define MICROPY_HW_LED3                    (pin_B11) // red

Tem que alterar para o LSM110A e recompilar o Python Engine.

Questões: suporte@smartcore.com.br

Sobre a 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