Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Guia Passo a Passo para Implantar Gateway LoRa RAK 831 no Raspberry Pi 3

Este projeto o leva por todos os passos necessários para colocar seu módulo RAK 831 LoRa Gateway em funcionamento com Wi-Fi como backhaul.

História

Introdução

Este guia passo a passo visa desenvolvedores que querem desenvolver seu próprio gateway LoRa usando o incrível módulo front-end de rádio RAK831 da RAK Wireless. O guia assume conhecimento básico do ecossistema Raspberry Pi, hardware e SO Debian associado. Também assume conhecimento básico de GPIO e periféricos presentes no Raspberry Pi. Vamos começar:

O que é LoRa?

LoRa Alliance™ Technology. LoRaWAN™ é uma especificação de Rede de Área Ampla de Baixa Potência (LPWAN) destinada a Things sem fio operados por bateria em rede regional, nacional ou global. LoRaWAN visa requisitos-chave da Internet das Coisas como comunicação bidirecional segura, mobilidade e serviços de localização.

O diagrama acima mostra as várias partes da arquitetura sem fio LoRa. Algumas partes importantes são explicadas brevemente abaixo:

Principais Características da Tecnologia LoRa e Protocolo LoRaWAN

· GEOLOCALIZAÇÃO: Permite rastreamento de baixa potência sem GPS

· BAIXO CUSTO: Reduz custos de três formas: investimento em infraestrutura, despesas operacionais e sensores de nó final

· PADRONIZADO: Interoperabilidade global aprimorada acelera adoção e implantação de redes e aplicações IoT baseadas em LoRaWAN

· BAIXA POTÊNCIA: Protocolo projetado especificamente para baixo consumo, estendendo vida útil da bateria até 20 anos

· LONGO ALCANCE: Estação base única fornece penetração profunda em áreas urbanas/indoor densas, além de conectar áreas rurais até 30 milhas

· SEGURO: Criptografia AES128 ponta a ponta embutida

· ALTA CAPACIDADE: Suporta milhões de mensagens por estação base, ideal para operadores de rede pública atendendo muitos clientes

O RAK 831 é um frontend de rádio LoRa; ou seja, atua como receptor de pacotes de dados LoRa recebidos e os encaminha para um software/hardware host de gerenciamento agregador. Também pode transmitir pacotes LoRa com base na solicitação da placa host. No nosso caso, um Raspberry Pi 3 é a placa host controlando o frontend RAK 831.

Escolhendo o Backhaul

O que é backhaul? Backhaul refere-se a como o Raspberry Pi será conectado à Internet. Este guia foca no uso de Wi-Fi como backhaul, mas você também pode usar Ethernet ou 3G/4G. Se você tem Ethernet disponível perto do gateway, prefira-a sobre Wi-Fi ou 3G/4G. Isso porque ter um sinal de rádio adicional dentro do gabinete causará ruído. O software pode lidar com ambiente ruidoso, então não é um grande problema, mas quanto menos ruído, melhor. Você pode combinar esta escolha com Power-over-Ethernet para minimizar cabeamento até o gateway.

Por outro lado, se escolher Wi-Fi em vez de Ethernet, tente usar um dongle com antena externa e mova a antena para fora do gabinete para ter menos ruído dentro da caixa.

Configurar o Hardware:

Antes de conectar qualquer coisa e ligar, vamos fazer as seguintes configurações no Raspberry Pi e no módulo RAK 831:

RASPBERRY PI

1) Obtenha a placa Raspberry Pi 3 e prepare um cartão micro SD de 8GB com software Raspbian. Você pode até comprar um cartão SD NOOBS com software pré-carregado. Sobre como gravar o SO no cartão SD, siga as instruções aqui: https://www.raspberrypi.org/learning/hardware-guide/

2) Conecte o Raspberry Pi a fonte de alimentação 5V 2amps. ISTO É MUITO IMPORTANTE. O módulo LoRa pode consumir 700 mA de pico durante transações wireless ativas e, portanto, tenha uma boa fonte para alimentar o Raspberry Pi.

RAK 831:

1) Antes mesmo de ligar a placa, pegue as antenas que vieram no seu kit e conecte-as ao terminal de parafuso da antena. ISTO É ESSENCIAL.

Detalhes de Conexão:

Aqui está uma tabela mostrando como conectar o módulo rak831 com o Raspberry Pi:

Para entender o layout de pinos do Raspberry Pi, acesse: https://www.raspberrypi.org/documentation/usage/gpio/ para detalhes.

Notas:

Habilitar SPI:

O periférico SPI não é ligado por padrão. Para habilitá-lo, faça o seguinte.

O sistema reiniciará. Quando voltar, faça login e digite o seguinte comando
>ls /dev/*spi*
O Pi deve responder com
/dev/spidev0.0 /dev/spidev0.1
Estes representam dispositivos SPI nos pinos de chip enable 0 e 1, respectivamente. Estes pinos são hardwired dentro do Pi. Ordinariamente, isso significa que a interface suporta no máximo dois periféricos, mas existem casos onde múltiplos dispositivos podem ser encadeados em margarida, compartilhando um único sinal de chip enable.

Fornecer Energia à Placa:

Como em qualquer projeto wireless, eles tendem a exigir mais energia do que a placa host pode fornecer via pinos de alimentação. Os dois esquemas abaixo enumeram como você pode alimentar o RAK 831 e Raspberry Pi 3.

1) Alimentar trilho 5v do Raspberry Pi

2) Alimentar trilho 5v no Raspberry Pi e RAK831 separadamente

Instalação de Software:

No Raspberry Pi, vamos fazer os seguintes passos para obter o software essencial instalado:

Use utilitário raspi-config para habilitar SPI ([5] Opções de interface -> P4 SPI) e também expandir sistema de arquivos ([7] Opções avançadas -> A1 Expandir sistema de arquivos):

$ sudo raspi-config

Sudo apt-get update
Sudo apt-get upgrade
Sudo apt-get install git

$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

E adicione o seguinte bloco no final do arquivo, substituindo SSID e senha para corresponder à sua rede:

network={
ssid="The_SSID_of_your_wifi"
psk="Your_wifi_password"
}

$ git clone -b spi https://github.com/ttn-zh/ic880a-gateway.git ~/ic880a-gateway
$cd ~/ic880a-gateway
$ sudo ./install.sh spi

{
"gateway_conf": {
"gateway_ID": "o id que você anotou na saída do console install.sh",
"servers": [
{
"server_address": "o router ao qual você quer conectar",
"serv_port_up": 1700,
"serv_port_down": 1700,
"serv_enabled": true
}
],
"ref_latitude": a lat do gateway rak 831,
"ref_longitude": o long do gateway rak 831,
"ref_altitude": 40,
"contact_email": "email de contato do proprietário do gateway",
"description": "uma breve descrição"
}
}

Nota:

Para lista de routers válidos, verifique o link aqui:https://www.thethingsnetwork.org/wiki/Backend/Connect/Gateway

https://github.com/TheThingsNetwork/gateway-conf/blob/master/US-global_conf.json

para aqueles que querem usar o mp_pkt_fwd em vez do antigo poly packet forwarder, ouça aqui e instale o mesmo com as instruções fornecidas:

https://github.com/kersing/packet_forwarder/tree/master/mp_pkt_fwd. Novamente você pode ver o arquivo global_conf..json na raiz do projeto, apenas certifique-se de editar o arquivo (seções importantes descritas abaixo) e copiar o mesmo para a pasta bin após compilação.

Algumas Entidades Configuráveis no global_conf.json:

O arquivo global_conf.json pode ser encontrado em ./bin/global_conf.json a partir da base do seu diretório de projeto após o script de instalação ter rodado. Aqui está uma lista de algumas entidades que você pode querer editar no arquivo global_conf.json para sua configuração particular de gateway:

1) Configuração "radio_0" ou "radio_1", especialmente o parâmetro Frequência e os parâmetros min e max frequency sweep.

2) Seção "gateway_conf". Especialmente o gateway ID ou EUI do seu gateway.

3) Porta server up e down no mesmo objeto gateway_conf junto com endereço do servidor TTN ou endereço do seu próprio servidor de aplicação se disponível.

Resetando a Placa:

Sempre que iniciamos o Raspberry Pi, é boa prática resetar o módulo LoRa RAK831 anexado. Existem duas maneiras de fazer isso:

Um pequeno script shell pode ser escrito para resetar o RAK831 antes que o driver LoRa possa acessar o hardware. O conteúdo do script shell pode parecer com o seguinte exemplo (assumindo que GPIO 17 (pino 11) do Raspberry Pi está conectado ao pino de reset do RAK831):

#!/bin/bash
echo "17" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio17/direction
echo "1" > /sys/class/gpio/gpio17/value
sleep 5
echo "0" > /sys/class/gpio/gpio17/value
sleep 1
echo "0" > /sys/class/gpio/gpio17/value

Estas linhas podem ser armazenadas em um arquivo chamado "rak831_reset.sh". O usuário deve chamar este script uma vez após cada boot para obter o IC concentrador em estado limpo.

Se o sistema host é um Raspberry Pi, o usuário pode escrever uma pequena ferramenta C para resetar o RAK831. Para acessar os pinos GPIO do Raspberry Pi, existe uma biblioteca chamada "wiringPi" que cuida dos detalhes de baixo nível. A biblioteca pode ser baixada de https://wiringpi.com. Consulte este site para instruções de instalação e uso. O conteúdo do arquivo RAK831_reset.c pode parecer com o seguinte:

#include
#include
#define GPIO_RESET_PIN 0 // veja mapeamento wiringPi!
int main() {
wiringPiSetup();
pinMode(GPIO_RESET_PIN, OUTPUT);
digitalWrite(GPIO_RESET_PIN, HIGH);
sleep(5);
digitalWrite(GPIO_RESET_PIN, LOW);
return;
}

O usuário deve chamar esta ferramenta uma vez após cada boot para obter o IC concentrador em estado limpo.

gcc -Wall -o blink blink.c -lwiringPi
sudo ./blink

Registrar o Gateway na Rede TTN:

Para que seus nós enviem dados para a nuvem, TheThingsNetwork fornece um serviço de nuvem para analisar e armazenar os dados enviados por nós LoRa via um gateway LoRa.

Leia Mais Detalhes: Getting started with the RAK 831 Lora Gateway and RPi3

Processo de manufatura

  1. Monitoramento Eficiente de Temperatura de Salas com Raspberry Pi e Nagios
  2. Home Energy Centre: Monitoramento Solar PV, Painéis Térmicos e Temperaturas de Ambientes com Raspberry Pi e Moteino
  3. Integração de Dados de Sensores no Raspberry Pi: Guia Prático
  4. Construa um Controlador Doméstico Inteligente 433 MHz com Sensorflare e Raspberry Pi
  5. Rastreamento Facial Pan/Tilt em Tempo Real no Raspberry Pi – Guia Prático
  6. Construa um Sistema Aeropônico Automatizado com Raspberry Pi e Sensor de Umidade
  7. Integrando Radar Pulsado Acconeer A111 com Raspberry Pi: Guia Prático
  8. Primeiros Passos com TJBot: Construa, Configure e Controle por Voz seu Próprio Robô de IA
  9. NanoPi K1 Plus por $35: SBC Estilo Raspberry Pi com 2 GB RAM, CPU Allwinner H5, HDMI, Gigabit Ethernet — Ideal para Quiosques, Media Centers e Projetos DIY
  10. Construa um Gateway LoRa de Canal Único de Baixo Custo com Raspberry Pi