Uma biblioteca C incorporada independente da plataforma para o módulo Micchip RN2483 Lora.
NOTA: Este repositório não é atualmente mantido e foi escrito contra a v1.0 da especificação de Lorawan. Considere -o depreciado por enquanto . Deixe -me saber se você quiser
Esta é uma biblioteca C incorporada para interagir com o módulo Lora Microchip RN2483. Ele pretende ser simples e modular (o suficiente para facilitar a portá -lo para diferentes plataformas).
Uma das principais características desta biblioteca é a portabilidade. Uma biblioteca incorporada com qualquer E/S nunca pode ser realmente portátil, portanto, plataformas específicas são suportadas em ramos separados do repositório. A filial principal deste repositório é o código independente da plataforma principal. As filiais individuais (por exemplo platform/mbit ), são o que você realmente deseja usar se estiver tentando implantar isso para uso em uma plataforma.
A única funcionalidade específica de hardware requicada por esta biblioteca é a capacidade de r/w sobre UART para o módulo RN2483. Consequentemente, isso é tratado por um invólucro funções: read e write . Na filial principal , eles são simplesmente cheios de #error que diz para você implementá -los na compilação.
Para obter detalhes sobre a adição de suporte para uma plataforma específica, consulte 6. Adicionando plataformas .
Para exemplos de suporte específico da plataforma, consulte 5. Plataformas suportadas .
Há documentação do doxygen , basta executar doxygen doxycfg no diretório principal e ele gerará o documento/ pasta. Todos os comentários devem ser compatíveis com doxygen e eu tentei ser o mais completo possível, mas darei uma breve visão geral aqui por facilidade de uso.
A biblioteca é escrita no padrão C (C99) e fornece funcionalidade completa do módulo RN2483.
Existe uma função command que permite escrever qualquer comando válido no módulo (consulte a referência de comando para comandos válidos)
Há um comando initMAC que usa configurações definidas no arquivo rn2483.cfg (que é escrito para config.h por makefile ) para inicializar todas as configurações específicas de Lorawan que você precisa para conectar com êxito a rede Toa Lorawan.
Além disso, as outras funções notáveis são join (ingressar em uma rede) e tx (transmitir dados sobre rede conectada), que lidam com o handshake de Lorawan para você.
NOTA: Estou procurando expandir esta biblioteca no futuro e arrumá -la.
Verifique o arquivo RN2483.CFG para definir suas configurações de Lorawan e executar o Makefile
A configuração dependerá da sua plataforma; portanto, para ver o ReadMe da filial da plataforma específica. Não há função init ou qualquer coisa para a configuração dos pinos para se preocupar - tudo isso é feito nas funções read e write (implementadas por você, para a sua USECASE).
Na filial mestre , inicialmente tive funções printf e getc para isso (com a intenção de deixar o usuário redirecionar o stdin e o stdout fluir ou redefinir as funções com macros), mas depois de experimentar o processo de criação do BBC Micro: Bit para cada um.
Além da configuração, o uso geral deve ir:
Lembre -se de que você pode acessar qualquer outra funcionalidade do RN2483 através da função RN2483_Command ()
Consulte a filial: plataforma/mbit readme.md.
Eu tentei modularizar as alterações necessárias para adicionar uma plataforma o máximo possível. Isso é feito principalmente por meio das funções de READ/WRITE Wrapper no RN2483.C, mas se você olhar para o ramo BBC Micro: Bit, verá que, em alguns casos, precisará mudar mais do que isso (consulte o ReadMe da filial para obter detalhes).
Funções que precisam mudar no rn2483.c :
Obviamente, nunca é tão simples, então você pode encontrar alguns obstáculos que exigem mais modificações. Por exemplo, na filial da plataforma/mbit, tive que passar as dicas para o objeto serial do microbit.