Este é o meu projeto final de graduação em ciência da computação na Fundação Universidade Regional de Blumenau (FURB).
É um sistema para gerenciar o transporte de cadeia logística/suprimento e entrega de rastreamento, usando um WiFi Lora 32 para obter a geolocalização de veículos e enviar via Lorawan para o Kore Network Server, que encaminhará as cargas úteis para esse aplicativo.
Artigo | Recursos | Pré -requisitos | Configuração | Executando | Técnicos | Licença
Aplicativo da Web

Dispositivo


Artigo
Recursos
O aplicativo possui mais funcionalidades como login, criar produtos, usuários, dispositivos e outros, mas os principais estão listados abaixo:
- Os endereços do usuário Crud, obtendo coordenadas automaticamente ao adicionar um novo
- Os usuários fazem pedidos
- Crie Cargos
- Gerar Lista de Pacote de Cargo (PDF)
- Enviar a rede de geolocação de veículos Rede Lorawan
- Scan Ordem de código de barras do pedido
- Cargas de rastreamento
Pré -requisitos
Abaixo estão os softwares listados que você deve instalar para executar o aplicativo:
- Git
- Fio
- Node.js
- PostGresql
- MongoDB
- Arduino IDE
- Reactotron (opcional)
Para mostrar o mapa nos endereços do usuário do front -end e geocodificação, ele é usado a API do MapBox, para que você deve criar uma conta e um token de acesso no MapBox.
O Lorawan Network Server usado é da Kore Wireless Company. Para usuários seus serviços, você deve entrar em contato com eles e escolher/contratar um plano que faça mais sentido para o seu aplicativo. Aqui, foi usado o maior plano, G.
Para construir o dispositivo, são necessários componentes abaixo:
- Wifi Lora 32 (V2)
- GPS gy-neo6mv2
- Protoboard 400 pinos
- 4 jumpers masculino para masculino
- Carregador portátil (ou outra coisa para o dispositivo de energia)
Configurar
Arduino IDE
- Como dito antes, o dispositivo utilizado era o WiFi Lora 32, pois você precisará configurar seu Arduino IDE após as instruções do Helctec Docs
- Instale o TinyGPS ++
- Obtenha chipid Heltec e licença para seu dispositivo seguindo as instruções
- Com Chipid, você deve "transportar" para um Deveui, mudando de 6 bytes para 8 bytes
- Por exemplo: se o seu chipid for: 123456781122, seu Deveui será: 0x12, 0x34, 0x56, 0xff, 0xff, 0x78, 0x11, 0x22
- Abra o dispositivo/lorawan_example.ino e defina valores como variáveis Deveui, Appeui e AppKey (os dois últimos que você pode obter em Kore)
Lorawan Network Server (Kore)
Com o acesso a Kore, você precisa criar uma "organização", um "Aplicação" e dois http "Encaminhamentos" (pontos de extremidade que Kore enviará as cargas úteis):
- URL: https://deggautcc.loca.lt/cargos/geolocation (selecione Uplink, Lora e Radio)
- Este terminal salvará a geolocalização do veículo no PostgreSQL
- URL: https://deggautcc.loca.lt/lora (selecione todas as opções, exceto duplicado)
- Este terminal salvará todas as mensagens no MongoDB, para ter um histórico de mensagens/logs
- Crie um dispositivo (dispositivo eu deve definir com valores que obtém anteriormente)
- Defina a configuração como OTAA, contador como 2, NS Security e Classe A
Back -end e front -end
- Duplicar .env.example Arquivo e renomear para .env nas pastas de back -end e front -end
- Defina API_KEY_MAPBOB com token de acesso que você obteve no MapBox
- Crie um banco de dados no PostgreSQL e defina dados de conexões no back -end/.env
- Crie um banco de dados em MongoDB com o nome do TCC
- Crie uma conta/projeto em Sentry e defina a propriedade Sentry_DSN no back -end/.env (não é necessário, usado para monitoramento de erros)
Correndo
Back -end
# 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
Front-end
# Acccess frontend folder
$ cd logistical_management_and_monitoring_with_LoRa/frontend/
# Dependence install
$ yarn
# Run
$ yarn start
Dispositivo
- Compilar e fazer upload do arquivo lorawan_example.ino para o dispositivo
Técnicos
| Back -end | Front-end | Dispositivo |
|---|
| Node.js | Reaja js | Esp32 Lorawan Heltec |
| Expressar | Componentes estilizados | Tinygps ++ |
| Sequeleizar | Reactstrap | |
| LocalTunnel (Dev) | Redux e Redux-Saga | |
| Mapbox | REACT-MAP-GL | |
| Postgressql | Reactotron (Dev) | |
| MongoDB | Formik | |
| JWT | CEP-PROMISHE | |
| Sentinela | React-Table | |
Licença
Mit