Este es mi proyecto final de licenciatura sobre ciencias de la computación en Fundação Universidade Regional de Blumenau (FURB).
Es un sistema para administrar el transporte logístico/de la cadena de suministro y el seguimiento de la entrega, utilizando un WiFi Lora 32 para obtener la geolocalización de los vehículos y enviar a través de Lorawan a Kore Network Server que reenviará las cargas útiles a esa aplicación.
Artículo | Recursos | Prerrequisitos | Configuración | Corriendo | Techs | Licencia
Aplicación web

Dispositivo


Artículo
Recursos
La aplicación tiene más funcionalidades como inicio de sesión, crea productos, usuarios, dispositivos y otros, pero los principales se enumeran a continuación:
- Las direcciones de los usuarios crud, obteniendo coordenadas automáticamente al agregar una nueva
- Los usuarios hacen pedidos
- Crear cargos
- Generar la lista de paquetes de carga (PDF)
- Enviar la red de geolocalización del vehículo Lorawan Network
- Código de barras de escaneo del orden
- Rastrear los cargos
Requisitos previos
A continuación se muestran software en la lista que debe instalar para ejecutar la aplicación:
- Git
- Hilo
- Nodo.js
- Postgresql
- mongodb
- Arduino IDE
- Reactotron (opcional)
Para mostrar el mapa en las direcciones de usuario frontend y geocodificación, se utiliza la API MAPBOX, por lo que debe crear una cuenta y un token de acceso en Mapbox.
Lorawan Network Server utilizado es de Kore Wireless Company. Para usar sus servicios, debe comunicarse con ellos y elegir/contratar un plan que tenga más sentido para su aplicación. Aquí, se usó el plan más grande, G.
Para construir el dispositivo, son necesarios los componentes a continuación:
- Wifi Lora 32 (V2)
- GPS GY-NEO6MV2
- Protoboard 400 alfileres
- 4 saltadores de hombre a hombre
- Cargador portátil (u otra cosa para el dispositivo de alimentación)
Configuración
Arduino IDE
- Como se dijo antes, el dispositivo utilizado fue Wifi Lora 32, ya que necesitará configurar su Arduino IDE siguiendo las instrucciones de Helctec Docs
- Instale tinygps ++
- Obtenga Heltec Chipid y licencia para su dispositivo siguiendo las instrucciones
- Con Chipid, debes "transformarlo" a un Deveui, cambiando de 6 bytes a 8 bytes
- Por ejemplo: si su chipid es: 123456781122, su Deveui será: 0x12, 0x34, 0x56, 0xff, 0xff, 0x78, 0x11, 0x22
- Abra el archivo del dispositivo/lorawan_example.ino y establezca valores en las variables Deveui, Appeui y AppKey (los dos últimos que puede obtener en Kore)
Lorawan Network Server (Kore)
Con el acceso a Kore, debe crear un "Organização", un "Aplicação" y dos HTTP "Encaminhamentos" (puntos finales que Kore enviará las cargas útiles):
- URL: https://deggautcc.loca.lt/cargos/geolation (seleccione Uplink, Lora y Radio)
- Este punto final ahorrará la geolocalización del vehículo en PostgreSQL
- URL: https://deggautcc.loca.lt/lora (seleccione todas las opciones excepto duplicado)
- Este punto final guardará todos los mensajes en MongoDB, para tener un historial de mensajes/registros
- Cree un dispositivo (dispositivo EUI debe establecer con valores que obtenga anteriormente)
- Establezca la configuración como OTAA, Contador como 2, NS Security y Clase A
Backend y frontend
- Duplicar el archivo .env.example y cambie el nombre de .env en carpetas de backend y frontend
- Establezca API_KEY_MAPBOX con el token de acceso que obtuvo en Mapbox
- Cree una base de datos en PostgreSQL y establezca datos de conexiones en Backend/.env
- Cree una base de datos en MongoDB con el nombre TCC
- Cree una cuenta/proyecto en Sentry y establezca la propiedad Sentry_DSN en Backend/.env (no es necesario, utilizado para el monitoreo de errores)
Correr
Backend
# Repository clone
$ git clone https://github.com/gdeggau/logistical_management_and_monitoring_with_LoRa.git
# Acccess backend folder
$ cd logistical_management_and_monitoring_with_LoRa/backend/
# Dependence install
$ yarn
# Run
$ yarn dev
# Open a new terminal (script responsable to set API public)
$ yarn tunnel
Interfaz
# Acccess frontend folder
$ cd logistical_management_and_monitoring_with_LoRa/frontend/
# Dependence install
$ yarn
# Run
$ yarn start
Dispositivo
- Compilar y cargar el archivo lorawan_example.ino en el dispositivo
Técnicos
| Backend | Interfaz | Dispositivo |
|---|
| Nodo.js | Reaccionar js | ESP32 Lorawan Heltec |
| Expresar | Componentes de estilo | TinyGPS ++ |
| Secuestrar | Reaccionar | |
| Localtunnel (dev) | Redux y Redux-saga | |
| Mapa | React-map-gl | |
| Postgressql | Reactotron (dev) | |
| mongodb | Formik | |
| Jwt | prometa de CEP | |
| Centinela | mesa reaccionaria | |
Licencia
MIT