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 gratuito; você 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.
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”.
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”.
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”
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.
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).
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).
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.
- Execute o PuTTYgen (se você estiver processando o Windows, basta digitá-lo no menu Iniciar após instalar o PuTTY e você o encontrará).
- 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 .
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.
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
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
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.
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.
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.
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
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:
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:
Na janela que se abriu pressione o botão “Add Rule” e adicione todas as 4 regras que mencionamos anteriormente (consulte a Figura 17):
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).
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.
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”.
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”.
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.
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
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.
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
Nenhum comentário:
Postar um comentário