Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Guía Paso a Paso para Desplegar una Pasarela LoRa RAK 831 en Raspberry Pi 3

Este proyecto te lleva a través de todos los pasos necesarios para poner en marcha tu módulo RAK 831 LoRa Gateway con WiFi como backhaul.

Historia

Introducción

Esta guía paso a paso está dirigida a desarrolladores que quieren desarrollar su propia pasarela LoRa usando el impresionante módulo frontal de radio LoRa RAK831 de RAK Wireless. La guía asume conocimientos básicos del ecosistema Raspberry Pi, el hardware y el SO Debian asociado. También asume conocimientos básicos de GPIO y periféricos presentes en la Raspberry Pi. ¡EMPECEMOS:

¿Qué es LoRa?

LoRa Alliance™ Technology. LoRaWAN™ es una especificación de Red de Área Amplia de Baja Potencia (LPWAN) destinada a Things inalámbricos operados por batería en una red regional, nacional o global. LoRaWAN apunta a requisitos clave del Internet de las Cosas como comunicación bidireccional segura, movilidad y servicios de localización.

El diagrama anterior muestra las diversas partes de la arquitectura inalámbrica LoRa. Algunas de las partes importantes se explican brevemente a continuación:

Características Clave de la Tecnología LoRa y el Protocolo LoRaWAN

El RAK 831 es un frontal de radio LoRa; es decir, actúa como receptor de paquetes de datos LoRa entrantes y los reenvía a un software/hardware host de gestión agregadora. También puede transmitir paquetes de datos LoRa basándose en la petición de la placa host. En nuestro caso, una Raspberry Pi 3 es la placa host controlando el frontal RAK 831.

Elegir el Backhaul

¿Qué es un backhaul? El backhaul se refiere a cómo la Raspberry Pi se conectará a Internet. Esta guía se centra en usar WiFi como backhaul, pero también podrías usar Ethernet o 3G/4G. Si tienes Ethernet disponible cerca de la pasarela, prefiérelo sobre WiFi o 3G/4G. Esto es porque tener una señal de radio adicional dentro del recinto causará ruido. El software puede manejar el entorno ruidoso, así que no es un gran problema, pero menos ruido, mejor. Puedes combinar esta opción con Power-over-Ethernet para minimizar el cableado hasta la pasarela.

Por otro lado, si eliges WiFi en lugar de Ethernet, intenta usar un dongle con antena externa y mueve la antena fuera del recinto para tener menos ruido dentro de la caja.

Configurar el Hardware:

Antes de conectar nada y encender, hagamos las siguientes configuraciones en la Raspberry Pi y el módulo RAK 831:

RASPBERRY PI

1) Consigue la placa Raspberry Pi 3 y ten lista una tarjeta micro SD de 8GB con el software Raspbian. Incluso puedes comprar una tarjeta SD NOOBS con el software pre-cargado. Sobre cómo flashear el SO en la tarjeta SD, sigue las instrucciones aquí: https://www.raspberrypi.org/learning/hardware-guide/

2) Conecta la Raspberry Pi a una fuente de alimentación 5V 2 amperios. ESTO ES MUY IMPORTANTE. El módulo LoRa puede consumir 700 mA pico durante transacciones inalámbricas activas, así que ten un buen adaptador de alimentación para la Raspberry Pi.

RAK 831:

1) Antes de encender la placa, consigue las antenas que venían en tu kit y conéctalas al terminal de tornillo de antena. ESTO ES ESENCIAL.

Detalles de Conexión:

Aquí hay una tabla mostrando cómo conectar el módulo rak831 con la Raspberry Pi:

Para entender la distribución de pines de la Raspberry Pi ve a: https://www.raspberrypi.org/documentation/usage/gpio/ para detalles

Notas:

Habilitar SPI:

El periférico SPI no está activado por defecto. Para habilitarlo, haz lo siguiente.

El sistema reiniciará. Cuando vuelva, inicia sesión y ejecuta el siguiente comando:
>ls /dev/*spi*
La Pi debería responder con:
/dev/spidev0.0 /dev/spidev0.1
Estos representan dispositivos SPI en los pines chip enable 0 y 1, respectivamente. Estos pines están cableados internamente en la Pi. Ordinariamente, esto significa que la interfaz soporta como máximo dos periféricos, pero hay casos donde múltiples dispositivos pueden encadenarse en cascada, compartiendo una sola señal chip enable.

Alimentar la Placa:

Como con cualquier proyecto inalámbrico, tienden a requerir más potencia de la que la placa host puede proporcionar vía los pines de alimentación. Los dos esquemas a continuación enumeran cómo puedes alimentar el RAK 831 y la Raspberry Pi 3.

1) Alimentar el rail de 5V desde la Raspberry Pi

2) Alimentar el rail de 5V en la Raspberry Pi y RAK831 por separado

Instalación de Software:

En la Raspberry Pi hagamos los siguientes pasos para instalar el software esencial:

Usa la utilidad raspi-config para habilitar SPI ([5] Interfacing options -> P4 SPI) y también expandir el sistema de archivos ([7] Advanced options -> A1 Expand filesystem):

$ sudo raspi-config
Sudo apt-get update
Sudo apt-get upgrade
Sudo apt-get install git
$ sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Y añade el siguiente bloque al final del archivo, reemplazando SSID y contraseña para que coincidan con tu red:

network={
ssid="El_SSID_de_tu_wifi"
psk="Tu_contraseña_wifi"
}
$ 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": "el id que anotaste en la salida de consola de install.sh",
"servers": [{
"server_address": "el router al que quieres conectar",
"serv_port_up": 1700,
"serv_port_down": 1700,
"serv_enabled": true
}],
"ref_latitude": la lat de la pasarela rak 831,
"ref_longitude": la long de la pasarela rak 831,
"ref_altitude": 40,
"contact_email": "email de contacto del propietario de la pasarela",
"description": "una breve descripción"
}
}

Nota:

Para una lista de routers válidos ver el enlace aquí:https://www.thethingsnetwork.org/wiki/Backend/Connect/Gateway

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

Para quienes buscan usar mp_pkt_fwd en lugar del viejo poly packet forwarder, ve aquí e instala con las instrucciones proporcionadas:

https://github.com/kersing/packet_forwarder/tree/master/mp_pkt_fwd. De nuevo puedes ver el archivo global_conf..json en la raíz del proyecto, solo asegúrate de editar el archivo (secciones importantes descritas abajo) y copiarlo a la carpeta bin después de la compilación.

Entidades Configurables en global_conf.json:

El archivo global_conf.json se encuentra en ./bin/global_conf.json desde la base de tu directorio de proyecto tras ejecutar el script de instalación. Aquí hay una lista de algunas entidades que podrías querer editar en el archivo global_conf.json para tu configuración particular de pasarela:

1) Configuración "radio_0" o "radio_1", especialmente el parámetro Frecuencia y los parámetros min y max frequency sweep.

2) Sección "gateway_conf". Especialmente el gateway ID o el EUI de tu pasarela.

3) Puerto server up y down en el mismo objeto gateway_conf junto con tu dirección de servidor TTN o la dirección de tu propio servidor de aplicación si está disponible.

Reiniciar la Placa:

Cada vez que iniciamos la Raspberry Pi, es buena práctica reiniciar el módulo LoRa RAK831 adjunto. Hay dos formas de hacerlo:

  • Vía Script Shell:

Un pequeño script shell puede escribirse para reiniciar el RAK831 antes de que el driver LoRa pueda acceder al hardware. El contenido del script shell puede verse como el siguiente ejemplo (asumiendo que el GPIO 17 (pin 11) de la Raspberry Pi está conectado al pin de reset del 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 líneas pueden guardarse en un archivo llamado "rak831_reset.sh". El usuario debe llamar a este script una vez después de cada arranque para poner el IC concentrador en un estado limpio.

  • Vía Wiring Pi:

Si el sistema host es una Raspberry Pi, el usuario puede escribir una pequeña herramienta en C para reiniciar el RAK831. Para acceder a los pines GPIO de la Raspberry Pi hay una librería llamada "wiringPi" que se encarga de los detalles de bajo nivel. La librería puede descargarse de https://wiringpi.com. Consulta este sitio para instrucciones de instalación y uso. El contenido del archivo RAK831_reset.c puede verse como el siguiente:

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

El usuario debe llamar a esta herramienta una vez después de cada arranque para poner el IC concentrador en un estado limpio.

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

Registrar la Pasarela en la Red TTN:

Para que tus nodos envíen datos a la nube, TheThingsNetwork proporciona un servicio cloud para analizar y almacenar los datos enviados por nodos LoRa vía una pasarela LoRa.

Leer Más Detalle: Primeros pasos con la Pasarela LoRa RAK 831 y RPi3

Proceso de manufactura

  1. Monitorizar eficientemente temperaturas de salas con Raspberry Pi y Nagios
  2. Centro de Energía Doméstica: Monitorización de paneles solares fotovoltaicos, térmicos y temperaturas con Raspberry Pi y Moteino
  3. Integración de datos de sensores en Raspberry Pi: Guía práctica
  4. Construya un Controlador Domótico 433 MHz con Sensorflare y Raspberry Pi
  5. Seguimiento Facial Pan/Tilt en Tiempo Real en Raspberry Pi – Guía Práctica
  6. Construye un sistema aeropónico automatizado con Raspberry Pi y sensor de humedad
  7. Integrar radar pulsado Acconeer A111 con Raspberry Pi: guía práctica
  8. Primeros Pasos con TJBot: Construye, Configura y Controla por Voz tu Robot IA
  9. NanoPi K1 Plus por $35: SBC tipo Raspberry Pi con 2 GB RAM, CPU Allwinner H5, HDMI, Gigabit Ethernet
  10. Construye una Pasarela LoRa de Canal Único de Bajo Coste con Raspberry Pi
  11. Construye una puerta de enlace LoRa con el módulo RAK831 en Raspberry Pi 3 – Guía paso a paso