Este documento é um guia básico (resumo) sobre instalação do STM32CubeIDEpara a módulo LoRa/SigFox LSM110A LoRa/Sigfox da Seongji então gerar o APP EndNode, bem como os primeiros acessos à rede LoRaWAN e envio de pacotes. Também é mostrado como configurar para trabalhar em uma faixa de frequências e região.
Baseado no Software do oficial da STM, modificado para rodar no LSM110A, pois o SDK da WISOL hoje contém apenas projeto para gerar APP para comandos AT.
Será enviada um texto qualquer, através de comandos AT, utilizando OTA, CLASS A, com CONFIRMAÇÃO de envio.
LSM110A Starter KIT
Módulo
O LSM110A é um módulo de última geração que integra o STMicroelectronics STM32WL.
Passo 8. Após as modificações acima, rebuild o exemplo e programe para o seu LSM110A. Abra STM32CubeProgrammer, conecte o ST-LINK ao seu PC, segure RESET Buttonseu dispositivo, clique Connecte solte RESET Button:
Conectando S-TLINK V2 no LSM110A Starter KIT, via SWD, Reset antes de gravar
Etapa 9. Certifique-se de que a proteção de leitura esteja AA, se for exibida como BB, selecione AAe clique em Apply:
Etapa 10. Agora, vá para a Erasing & Programmingpágina, selecione o caminho do arquivo hexadecimal (por exemplo: C:\STM32CubeWL\Projects\NUCLEO-WL55JC\Applications\LoRaWAN\LoRaWAN_End_Node\STM32CubeIDE\Debug\LoRaWAN_End_Node.hex), selecione as opções de programação conforme a imagem a seguir e clique em Start Programming!
Você verá a mensagem Download verificado com sucesso , assim que a programação terminar.
Etapa 11. Se o seu LoRaWAN® Gateway e CHIRPSTACK estiverem configurados, o LSM110A será conectado com sucesso após a reinicialização!
Alterando BAND MASK
Em RegionAU915.c, a máscara utilizada para compatibilizar com configuração utilizada no Gateway LoRaWAN
/**
* @brief Configure Radio Switch.
* @param Config: Specifies the Radio RF switch path to be set.
* This parameter can be one of following parameters:
* @arg RADIO_SWITCH_OFF
* @arg RADIO_SWITCH_RX
* @arg RADIO_SWITCH_RFO_LP
* @arg RADIO_SWITCH_RFO_HP
* @retval BSP status
*/int32_tBSP_RADIO_ConfigRFSwitch(BSP_RADIO_Switch_TypeDefConfig){switch(Config){caseRADIO_SWITCH_OFF:{/* Turn off switch */HAL_GPIO_WritePin(RF_SW_CTRL3_GPIO_PORT,RF_SW_CTRL3_PIN,GPIO_PIN_RESET);HAL_GPIO_WritePin(RF_SW_CTRL1_GPIO_PORT,RF_SW_CTRL1_PIN,GPIO_PIN_RESET);HAL_GPIO_WritePin(RF_SW_CTRL2_GPIO_PORT,RF_SW_CTRL2_PIN,GPIO_PIN_RESET);break;}caseRADIO_SWITCH_RX:{/*Turns On in Rx Mode the RF Switch */HAL_GPIO_WritePin(RF_SW_CTRL3_GPIO_PORT,RF_SW_CTRL3_PIN,GPIO_PIN_SET);HAL_GPIO_WritePin(RF_SW_CTRL1_GPIO_PORT,RF_SW_CTRL1_PIN,GPIO_PIN_SET);HAL_GPIO_WritePin(RF_SW_CTRL2_GPIO_PORT,RF_SW_CTRL2_PIN,GPIO_PIN_RESET);break;}caseRADIO_SWITCH_RFO_LP:{/*Turns On in Tx Low Power the RF Switch */HAL_GPIO_WritePin(RF_SW_CTRL3_GPIO_PORT,RF_SW_CTRL3_PIN,GPIO_PIN_SET);HAL_GPIO_WritePin(RF_SW_CTRL1_GPIO_PORT,RF_SW_CTRL1_PIN,GPIO_PIN_SET);HAL_GPIO_WritePin(RF_SW_CTRL2_GPIO_PORT,RF_SW_CTRL2_PIN,GPIO_PIN_SET);break;}caseRADIO_SWITCH_RFO_HP:{/*Turns On in Tx High Power the RF Switch */HAL_GPIO_WritePin(RF_SW_CTRL3_GPIO_PORT,RF_SW_CTRL3_PIN,GPIO_PIN_SET);HAL_GPIO_WritePin(RF_SW_CTRL1_GPIO_PORT,RF_SW_CTRL1_PIN,GPIO_PIN_SET);HAL_GPIO_WritePin(RF_SW_CTRL2_GPIO_PORT,RF_SW_CTRL2_PIN,GPIO_PIN_SET);break;}default:break;}returnBSP_ERROR_NONE;}
ChirpStack -Revision Mac 1.0.2
Testando o APP endNode
Conecte o LSM110A Starter KIT na USB do computador e abra um emulador de terminal na COMM que foi criada (9600,N,8,1) e veja o que deve aparecer.
Este documento é um guia básico (resumo) sobre instalação do STM32CubeIDEpara a módulo LoRa/SigFox LSM110A LoRa/Sigfox da Seongji então gerar o APP EndNode, bem como os primeiros acessos à rede LoRaWAN e envio de pacotes. Também é mostrado como configurar para trabalhar em uma faixa de frequências e região.
Baseado no Software do oficial da STM, modificado para rodar no LSM110A, pois o SDK da WISOL hoje contém apenas projeto para gerar APP para comandos AT.
Será enviada uma temperatura (RANDOM) em pequenos intervalos, OTA, CLASS A, com CONFIRMAÇÃO de envio.
LSM110A Starter KIT
Módulo
O LSM110A é um módulo de última geração que integra o STMicroelectronics STM32WL.
Etapa 2. Extraia o arquivo ZIP e navegue atéC:\STM32CubeWL-main\Projects\NUCLEO-WL55JC\Applications\LoRaWAN\LoRaWAN_End_Node\STM32CubeIDE
Etapa 3. Clique duas vezes no arquivo .project
Etapa 4. Clique com o botão direito do mouse no projeto e clique em Properties
Etapa 5. Navegue até C/C++ Build > Settings > MCU Post build outputs, marque Convert to Intel Hex (-O ihex) e clique em Apply and Close
Etapa 6. Clique em Build 'Debug' e ele deve compilar sem erros
Agora modifique Device EUI, Application EUI, Application KEY e LoRawan Region
Etapa 7. Pegue as credenciais no CHIRPSTACK, obtenha seu Application EUI e copie-o para a definição de macro LORAWAN_JOIN_EUIem LoRaWAN/App/se-identity.h, por exemplo, o aplicativo EUI aqui é 80 00 00 00 00 00 00 0x07:
Etapa 8. Além disso, você pode modificar o Device EUI e Application Key, definindo a definição de macro LORAWAN_DEVICE_EUIe LORAWAN_NWK_KEYem LoRaWAN/App/se-identity.h. Certifique -se de que LORAWAN_DEVICE_EUIe LORAWAN_NWK_KEYsão iguais a Device EUIe App Keyno console CHIRPSTACK.
Passo 10. Após as modificações acima, rebuild o exemplo e programe para o seu LSM110A. Abra STM32CubeProgrammer, conecte o ST-LINK ao seu PC, segure RESET Buttonseu dispositivo, clique Connecte solte RESET Button:
Conectando S-TLINK V2 no LSM110A Starter KIT, via SWD, Reset antes de gravar
Etapa 11. Certifique-se de que a proteção de leitura esteja AA, se for exibida como BB, selecione AAe clique em Apply:
Etapa 12. Agora, vá para a Erasing & Programmingpágina, selecione o caminho do arquivo hexadecimal (por exemplo: C:\STM32CubeWL\Projects\NUCLEO-WL55JC\Applications\LoRaWAN\LoRaWAN_End_Node\STM32CubeIDE\Debug\LoRaWAN_End_Node.hex), selecione as opções de programação conforme a imagem a seguir e clique em Start Programming!
Você verá a mensagem Download verificado com sucesso , assim que a programação terminar.
Etapa 13. Se o seu LoRaWAN® Gateway e CHIRPSTACK estiverem configurados, o LSM110A será conectado com sucesso após a reinicialização! Um pacote LoRaWAN® confirmado será enviado para CHIRPSTACK em pequenos intervalos.
Felicidades! Agora você conectou o LSM110A à rede LoRaWAN®! Agora você pode prosseguir para desenvolver aplicativos LoRaWAN® End Node mais empolgantes!
Alterando BAND MASK
Em RegionAU915.c, a máscara utilizada para compatibilizar com configuração utilizada no Gateway LoRaWAN
/**
* @brief Configure Radio Switch.
* @param Config: Specifies the Radio RF switch path to be set.
* This parameter can be one of following parameters:
* @arg RADIO_SWITCH_OFF
* @arg RADIO_SWITCH_RX
* @arg RADIO_SWITCH_RFO_LP
* @arg RADIO_SWITCH_RFO_HP
* @retval BSP status
*/int32_tBSP_RADIO_ConfigRFSwitch(BSP_RADIO_Switch_TypeDefConfig){switch(Config){caseRADIO_SWITCH_OFF:{/* Turn off switch */HAL_GPIO_WritePin(RF_SW_CTRL3_GPIO_PORT,RF_SW_CTRL3_PIN,GPIO_PIN_RESET);HAL_GPIO_WritePin(RF_SW_CTRL1_GPIO_PORT,RF_SW_CTRL1_PIN,GPIO_PIN_RESET);HAL_GPIO_WritePin(RF_SW_CTRL2_GPIO_PORT,RF_SW_CTRL2_PIN,GPIO_PIN_RESET);break;}caseRADIO_SWITCH_RX:{/*Turns On in Rx Mode the RF Switch */HAL_GPIO_WritePin(RF_SW_CTRL3_GPIO_PORT,RF_SW_CTRL3_PIN,GPIO_PIN_SET);HAL_GPIO_WritePin(RF_SW_CTRL1_GPIO_PORT,RF_SW_CTRL1_PIN,GPIO_PIN_SET);HAL_GPIO_WritePin(RF_SW_CTRL2_GPIO_PORT,RF_SW_CTRL2_PIN,GPIO_PIN_RESET);break;}caseRADIO_SWITCH_RFO_LP:{/*Turns On in Tx Low Power the RF Switch */HAL_GPIO_WritePin(RF_SW_CTRL3_GPIO_PORT,RF_SW_CTRL3_PIN,GPIO_PIN_SET);HAL_GPIO_WritePin(RF_SW_CTRL1_GPIO_PORT,RF_SW_CTRL1_PIN,GPIO_PIN_SET);HAL_GPIO_WritePin(RF_SW_CTRL2_GPIO_PORT,RF_SW_CTRL2_PIN,GPIO_PIN_SET);break;}caseRADIO_SWITCH_RFO_HP:{/*Turns On in Tx High Power the RF Switch */HAL_GPIO_WritePin(RF_SW_CTRL3_GPIO_PORT,RF_SW_CTRL3_PIN,GPIO_PIN_SET);HAL_GPIO_WritePin(RF_SW_CTRL1_GPIO_PORT,RF_SW_CTRL1_PIN,GPIO_PIN_SET);HAL_GPIO_WritePin(RF_SW_CTRL2_GPIO_PORT,RF_SW_CTRL2_PIN,GPIO_PIN_SET);break;}default:break;}returnBSP_ERROR_NONE;}
ChirpStack -Revision Mac 1.0.2
Testando o APP endNode
Conecte o LSM110A Starter KIT na USB do computador e abra um emulador de terminal na COMM que foi criada (115200,N,8,1) e veja o que deve aparecer.