segunda-feira, 13 de novembro de 2023

LSM110A - Conectando gateways comerciais à nuvem

 

Testado pelo Suporte da Smartcore, muita atenção para Inbond Rules

AWS + ChirpStack

1 Amazon Web Services

1.1 Criando uma conta

A Amazon oferece um serviço de nuvem gratuitovocê só precisa criar uma conta na Amazon. Porém, há um limite: 750 horas por mês durante um período de 12 meses. É importante ressaltar que você precisa de um cartão de débito para verificar sua identidade para poder utilizar o serviço.

1.2 Selecionando uma instância em execução

Depois de fazer login em sua conta, você precisa selecionar qual instância irá executar. Para o propósito deste tutorial, usaremos EC2. Selecione-o no AWS Management Console.

Figura 1 | Console de gerenciamento da AWS

Na tela a seguir você pode ver suas instâncias em execução, pares de chaves, grupos de segurança, etc.

Pressione o botão azul “Launch Instance”.

Figura 2 | Iniciando uma instância

Existem muitas opções para o sistema operacional, mas usaremos o Ubuntu. Role para baixo e escolha Ubuntu Server 18.04 LTS (mais recente no momento deste documento). Clique no botão “Select”.

Figura 3 | Selecionando o sistema operacional

Na próxima janela você poderá configurar sua Instância, porém deixaremos como está. Basta selecionar t2.Micro para o tipo de instância como na Figura 4 e clicar em “Review and Launch”

Figura 4 | Selecionando o sistema operacional

Confirme sua escolha e inicie (Figura 5). Os grupos de segurança serão editados na próxima seção para que você possa prosseguir e confirmar sua escolha pressionando o botão “Iniciar” (Figura 5).

1.3 Criando chaves e acessando a instância AWS via SSH

Para ter uma sessão SSH para a Instância, precisamos criar as chaves de acesso apropriadas. Assim, após o lançamento você verá a janela da Figura 6.

Figura 6 | Criação de par de chaves

Escolheremos Criar um novo par de chaves no menu suspenso e daremos a ele um nome apropriado. Por fim, clique no botão “Download Key Pair” (Figura 7).

Figura 7 | Criando um novo par de chaves

Depois de salvar as chaves em um local de sua escolha, você pode iniciar a instância através do botão azul (Figura 7).

Na Figura 8 abaixo você pode ver os parâmetros da sua instância. Observe os campos destacados com o retângulo vermelho. Estes são o URL e o endereço IP reais para acessar esta instância (esses são apenas um exemplo; você terá um conjunto diferente).

Figura 8.1 | Parâmetros de instância

Para ter acesso SSH à Instância usaremos PuTTY . Baixe e instale-o.

Na página Instância AWS marque sua instância e clique em “Conectar”. Isso exibirá a página de instruções. Seguiremos o procedimento também.

Observe que primeiro precisamos converter as chaves do formato .pem para o formato .ppk , pois é isso que o PuTTY usa. Isso é feito com o PuTTYgen, que vem como padrão com o pacote PuTTY.

  1. Execute o PuTTYgen (se você estiver processando o Windows, basta digitá-lo no menu Iniciar após instalar o PuTTY e você o encontrará).
  2. Nas janelas principais selecione o Tipo de chave a ser gerada como RSA (deve ser a escolha padrão). Nas versões mais antigas é denominado SSH-2 RSA .
Figura 8.2 | Janela principal do PuTTYgen

3. Pressione “Carregar” para selecionar os arquivos principais gerados pela AWS (certifique-se de selecionar Todos os arquivos (*.*) no menu suspenso, pois por padrão apenas os arquivos .ppk são mostrados

4. Depois de carregar as chaves com sucesso, você pode salvá-las em .ppk com o botão “Save Private Key”. Use o mesmo nome do arquivo .pem original . A extensão ppk será adicionada automaticamente. PuTTYgen exibe um aviso sobre como salvar as chaves sem senha. Ignore e escolha Sim.

Nota: Uma senha em uma chave privada é uma camada extra de proteção. Mesmo que sua chave privada seja descoberta, ela não poderá ser usada sem a senha. A desvantagem de usar uma senha é que ela dificulta a automação porque é necessária a intervenção humana para fazer logon em uma instância ou para copiar arquivos para uma instância.

Figura 9 | PuTTYgen Salvando a chave pública

5. Como sua chave privada agora está no formato correto, você pode criar uma sessão SSH com PuTTY. Abra o cliente e selecione SSH

Figura 10 | Janela principal do PuTTY

6. Você precisa do nome de host correto .

Está no formato user_name@public_dns_name

Vejamos um exemplo:

Nome de usuário: ubuntu

Public_dns_name: ec2–3–120–237–38.eu-central-1.compute.amazonaws.com

Nome do host: ubuntu@ec2–3–120–237–38.eu-central-1.compute.amazonaws.com

Figura 11 | Janela principal do PuTTY com nome do host

7. Agora precisamos dizer ao PuTTY para usar nossas chaves. No painel Categoria expanda Connections , expanda SSH e selecione Auth . Clique no botão “Browse” e procure seu arquivo .ppk

Nota: Se você quiser salvar esta configuração para uso futuro, volte para o

Sessão e insira um nome na caixa de texto Sessão salva e clique em Salvar.

Figura 12.1 | Autenticação PuTTY SSH

8. Clique no botão “Open” para iniciar a sessão. Se esta for sua primeira conexão, o PuTTY solicitará confirmação (clique em Sim). Você deverá ver a janela da linha de comando da sua instância agora.

Figura 12.2 | Linha de comando PuTTY SSH

1.4 Instalando o ChirpStack

É sempre uma boa ideia fazer uma atualização e upgrade de seus pacotes. Para fazer isso execute os seguintes comandos no terminal:

sudo apt update sudo apt upgrade

Após a conclusão do procedimento, iremos instalar o ChirpStack e suas dependências. Para fazer isso primeiro precisamos instalar o Git com o comando:

git clone https://github.com/RAKWireless/install_ChirpStack_on_ubuntu.git

Após a conclusão da clonagem, abra a pasta recém-criada com o comando: cd install_ChirpStack_on_ubuntu

Execute o script de instalação:

sudo ./install.sh

Após a conclusão da instalação verifique se tudo correu bem executando os comandos:

sudo journalctl -f -n 100 -u lora-app-server sudo journalctl -f -n 100 -u ChirpStack

Você não deverá ver erros como na Figura 13. Certifique-se de interromper a saída dos comandos acima com a combinação de teclas “Ctrl+z” para poder continuar com o processo de configuração.

Caso você queira usar o Semtech Packet Forwarder para conectar seu Gateway ao LoRa Network Server, vá para a Seção 1.5. Se você for usar a ponte MQTT, prossiga diretamente para a Seção 1.6.

Figura 13 | Saída de controle de diário ChirpStack (sem erros)

1.5 Instalando a Ponte Gateway

Forneceremos um esboço de como realizar a instalação. Para obter informações detalhadas, você pode visitar ChirpStack.io.

Execute o seguinte comando:

sudo apt-key adv — keyserver keyserver.ubuntu.com — recv-keys 1CE2AFD36DBCCA00 sudo echo “deb https://artifacts.ChirpStack.io/packages/3.x/deb stable main” | sudo tee

/etc/apt/sources.list.d/ChirpStack.list sudo apt-get update

Isso atualizará os repositórios do Ubuntu. Prossiga com a instalação da própria Bridge:

sudo apt-get install lora-gateway-bridge

Inicie o serviço Bridge:

sudo systemctl iniciar lora-gateway-bridge

Verifique se está funcionando como deveria:

journalctl -u lora-gateway-bridge -f -n 50

Figura 14 | Saída de controle de diário do Gateway Bridge (sem erros)

1.6 Configurar a segurança da AWS

Por padrão, todo o tráfego de entrada para uma instância da AWS é bloqueado, apenas a porta 22 (SSH) está aberta. Você precisa adicionar um conjunto de regras para que o Gateway e o LoRa Network Server possam se comunicar:

· O Semtech Packet Forwarder necessita da porta UDP 1700;

· Ponte MQTT (não segura) necessita da porta TCP 1883 ;

· Ponte MQTT (segura) necessita da porta TCP 8883 ;

· ChirpStack Web Ui precisa da porta TCP 8080 .

Assim, abra a guia Security Groups no AWS Dashboard:

Figura 15 | Grupos de segurança da AWS

Selecione o grupo de segurança desejado (instância do Ubuntu). Se você tiver várias instâncias, poderá usar a data e hora de criação do grupo como um guia para saber qual é o que você deseja.

Clique no botão “Action” e no menu suspenso selecione Edit Inbound Rules:

Figura 16 | Regras de entrada do grupo de segurança

Na janela que se abriu pressione o botão “Add Rule” e adicione todas as 4 regras que mencionamos anteriormente (consulte a Figura 17):

Figura 17 | Adicionando regras de entrada

Nota: É uma boa prática nomeá-los de acordo com o que cada um deles representa, como na Figura 17.

Certifique-se de Salvar com o botão no canto inferior direito.

Por fim, verifique se as regras que você criou estão funcionando, inserindo o endereço IP público da sua instância usando a porta 8080 em uma janela do navegador. Você deverá ver a página de login da UI da Web do ChirpStack (por exemplo 3.120.237.38:8080 como na Figura 18).

Figura 18 | Página de login do ChirpStack

Nota: O nome de usuário/senha padrão é admin/admin . Além disso, existem perfis criados na instalação do RAKwireless ChirpStack, então você não precisa criá-los sozinho e pode prosseguir diretamente para adicionar seu Gateway.

1.7 Configurando seu Gateway

1.7.1 Configurando o Semtech Packet Forwarder

Na UI da Web do Gateway, vá para a guia LoRa Gateway e abra o submenu LoRa Packet Forwarder.

Para detalhes sobre as opções de configuração do Gateway consulte o link .

Por padrão, o Gateway está configurado para apontar para TTN, usando o Semtech Packet Forwarder. Você só precisa alterar o endereço do servidor para encaminhar o tráfego para o seu ChirpStack em execução na instância Ubuntu (AWS). Insira o endereço IP público da sua instância no campo marcado com o retângulo vermelho na Figura 19.

Figura 19 | Configuração do encaminhador de pacotes ChirpStack

Salve e aplique as alterações e vá para a UI da Web do ChirpStack em execução na instância AWS (Endereço IP: 8080). Vá para a guia Gateway. Pressione o botão “Create”.

Figura 20 | Criação de gateways ChirpStack

Na próxima janela insira o nome do gateway, EUI e descrição. Selecione um servidor de rede e um perfil de serviço no menu suspenso (lembre-se de que eles estão pré-configurados com a imagem RAKwireless). Por fim, clique no botão “Create Gateway”.

Figura 21 | Parâmetros do gateway ChirpStack

Supondo que você inseriu os parâmetros corretamente, você deverá ver o status do seu gateway, conforme visto em alguns segundos na guia Detalhes do gateway (Figura 22). Você também pode monitorar Live LoRa Frames na guia com o mesmo nome para ver o tráfego de entrada.

Figura 22 | Detalhes do gateway ChirpStack

1.7.2 Configurando a Ponte MQTT

Se você deseja usar o MQTT Bridge para encaminhar seu tráfego LoRa para o seu servidor de rede LoRa, você precisa configurar seu Gateway para usar o Bridge em vez do Packet Forwarder.

Volte para a UI da Web do Gateway e vá para o submenu Packet Forwarder. Altere o protocolo no menu suspenso para LoRa Gateway MQTT Bridge. Salvar e aplicar

Figura 23 | Protocolo de ponte MQTT do gateway

Em seguida, vá para o submenu LoRa Gateway MQTT Bridge. Habilite a funcionalidade com o controle deslizante azul e escolha o tipo de LoRa Network Server que você usará (isso é importante porque há diferença nos modelos de tópico MQTT, JSON vs Protobuf, para 2x vs 3x respectivamente). Por último, defina o endereço para o endereço da instância AWS e a porta para 1883, salve e aplique.

Figura 24 | Parâmetros da ponte MQTT do gateway

Por último, você precisa adicionar o Gateway no ChirpStack se ainda não o fez (por exemplo, se você o usou com o Packet Forwarder antes). Isto é feito da mesma forma que na Seção 1.7.1.

Isso conclui o tutorial.
Postagem original aqui



Dúvidas

suporte@smartcore.com.br

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