segunda-feira, 3 de julho de 2023

LSM110A MESH - Meshtastic

 



LSM110A Starter KIT
Módulo utilizado no Mesh

O que é Meshtastic?


Meshtastic é um projeto que permite usar rádios LoRa baratos como uma plataforma de comunicação fora da rede em áreas sem infraestrutura de comunicação existente ou confiável1. Os rádios criam uma rede em malha, permitindo que os usuários compartilhem sua localização e mensagens de texto com o grupo.

Baixando Meshtastic (sem LittleFS, HardCorde) (ver Ref para discussão)

git clone https://github.com/maxgerhardt/Meshtastic-device.git
cd 
git checkout LoRa-e5 
git pull

Altere (para ser compatível com o LSM110A) STM32WLE5JCInterface.h em arquivo em /firmware/src/mesh para

// https://github.com/Seeed-Studio/LoRaWan-E5-Node/blob/main/Middlewares/Third_Party/SubGHz_Phy/stm32_radio_driver/radio_driver.c static const float tcxoVoltage = 1.7; /* https://github.com/SeongJiIoT/LSM1x0A_SDK_LoRaWAN104/tree/main/Document * LSM100A module ONLY transmits through RFO_HP * Receive: PB12=0, PC13=0 * Transmit(high output power, SMPS mode): PB12=0, PC13=1 */ static const RADIOLIB_PIN_TYPE rfswitch_pins[3] = {PB12, PC13, RADIOLIB_NC}; static const Module::RfSwitchMode_t rfswitch_table[4] = { {STM32WLx::MODE_IDLE, {LOW, LOW}}, {STM32WLx::MODE_RX, {HIGH, LOW}}, {STM32WLx::MODE_TX_HP, {HIGH, HIGH}}, END_OF_MODE_TABLE};

Altere  main.cpp em arquivo em /firmware/src/mesh para

 if ((config.lora.region == Config_LoRaConfig_RegionCode_ANZ) && (!rIf->wideLora())) {
        LOG_WARN("Radio chip does not support 2.4GHz LoRa. Reverting to unset.\n");

Altere  platformio.ini em /variants/wio-e5

[env:wio-e5]
extends = stm32wl5e_base
build_flags = ${stm32wl5e_base.build_flags} -Ivariants/wio-e5 -DHAL_DAC_MODULE_ONLY
  -DSERIAL_UART_INSTANCE=1 -DPIN_SERIAL_RX=PA3 -DPIN_SERIAL_TX=PA2
[env:wio-e5]
extends = stm32wl5e_base
build_flags = ${stm32wl5e_base.build_flags} -Ivariants/wio-e5 -DHAL_DAC_MODULE_ONLY
  -DSERIAL_UART_INSTANCE=1 -DPIN_SERIAL_RX=PA3 -DPIN_SERIAL_TX=PA2 -DPIN_WIRE_SDA=PA11 -DPIN_WIRE_SCL=PA12


Altere em RadioInterface.cpp em /src

void initRegion()
{
    const RegionInfo *r = regions;
    for (; r->code != Config_LoRaConfig_RegionCode_UNSET && r->code != Config_LoRaConfig_RegionCode_ANZ;
         r++) // TODO remove hardcoded region
        ;
    myRegion = r;
    LOG_INFO("Wanted region %d, using %s\n", config.lora.region, r->name);
}

Altere em  configuration.h em /src/

#ifndef HAS_TELEMETRY
//#define HAS_TELEMETRY 0
#endif

Compile


Grave no LSM110A em 3 módulos


Execute Meshtastic via WEB para enviar mensagens



Thanks to


Referências


Dúvidas

FORUM

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

Nenhum comentário:

Postar um comentário