Ceci est mon projet final de premier cycle de baccalauréat en informatique à Fundação Universidade Regional de Blumenau (Furb).
Il s'agit d'un système pour gérer le transport logistique / chaîne d'approvisionnement et suivi de la livraison, en utilisant un WiFi Lora 32 pour obtenir la géolocalisation des véhicules et envoyer via Lorawan à Kore Network Server qui transmettra les charges utiles à cette application.
Article | Ressources | Prérequis | Configuration | Courir | Techs | Licence
Application Web

Appareil


Article
Ressources
L'application a plus de fonctionnalités comme la connexion, la création de produits, les utilisateurs, les appareils et autres, mais les principaux sont répertoriés ci-dessous:
- Les adresses de l'utilisateur crud, se coordonne automatiquement lors de l'ajout d'un nouveau
- Les utilisateurs font des commandes
- Créer des cargos
- Générer la liste des packs de cargaison (PDF)
- Envoyer le réseau de géolocalisation du véhicule Lorawan Network
- Code à barres de l'ordre de numérisation
- Suivre les cargaisons
Condition préalable
Vous trouverez ci-dessous les logiciels répertoriés que vous devez installer pour exécuter l'application:
- Git
- Fil
- Node.js
- Postgresql
- mongodb
- Arduino ide
- Reactotron (facultatif)
Pour afficher la carte à Frontend et les adresses utilisateur de géocodage, il est utilisé API Mapbox, vous devez donc créer un compte et un jeton d'accès sur Mapbox.
Lorawan Network Server utilisé provient de Kore Wireless Company. Pour utiliser leurs services, vous devez les contacter et choisir / contracter un plan qui a plus de sens pour votre application. Ici, il a été utilisé le plus grand plan G.
Pour construire l'appareil, les composants ci-dessous sont nécessaires:
- Wifi lora 32 (v2)
- Gps gy-neo6mv2
- Protoboard 400 broches
- 4 cavaliers mâles à mâle
- Chargeur portable (ou autre chose à dispositif d'alimentation)
Installation
Arduino ide
- Comme indiqué précédemment, l'appareil utilisé était WiFi Lora 32, car vous devrez configurer votre IDE Arduino en suivant les instructions HELCTEC DOCS
- Installer tinygps ++
- Obtenez Heltec Chipid et licence pour votre appareil suivant les instructions
- Avec Chipid, vous devez le "transformer" à un Deveui, passant de 6 octets à 8 octets
- Par exemple: Si votre chipid est: 123456781122, votre Deveui sera: 0x12, 0x34, 0x56, 0xff, 0xff, 0x78, 0x11, 0x22
- Ouvrir le fichier de périphérique / lorawan_example.ino et définissez des valeurs sur les variables Deveui, Appeui et Appkey (les deux derniers que vous pouvez obtenir à Kore)
Lorawan Network Server (Kore)
Avec accès à Kore, vous devez créer un "Organização", un "aplicação" et deux HTTP "Encaminhamentos" (points de terminaison que Kore enverra les charges utiles):
- URL: https://deggautcc.loca.lt/cargos/geolocation (sélectionnez UpLink, Lora et Radio)
- Ce point de terminaison économisera la géolocalisation des véhicules dans PostgreSQL
- URL: https://deggautcc.loca.lt/lora (sélectionnez toutes les options sauf en double)
- Ce point de terminaison enregistre tous les messages dans MongoDB, pour avoir un historique / journaux de messages
- Créer un appareil (périphérique EUI que vous devez définir avec des valeurs que vous obtenez auparavant)
- Définir la configuration comme OTAA, Contador As 2, NS Security et Class A
Backend et frontend
- Duplicate .env.example Fichier et renommer sur .env dans les dossiers backend et frontend
- Définissez API_KEY_MAPBOX avec un jeton d'accès que vous avez obtenu dans Mapbox
- Créez une base de données dans PostgreSQL et définissez les données de connexions dans Backend / .env
- Créez une base de données dans MongoDB avec le nom TCC
- Créez un compte / projet dans Sentry et définissez la propriété Sentry_DSN dans Backend / .env (il n'est pas nécessaire, utilisé pour la surveillance des erreurs)
En cours d'exécution
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
L'extrémité avant
# Acccess frontend folder
$ cd logistical_management_and_monitoring_with_LoRa/frontend/
# Dependence install
$ yarn
# Run
$ yarn start
Appareil
- Compiler et télécharger le fichier lorawan_example.ino sur l'appareil
Techniques
| Backend | L'extrémité avant | Appareil |
|---|
| Node.js | React js | ESP32 Lorawan Heltec |
| Exprimer | Composants stylisés | Tinygps ++ |
| Séquestrer | Réagir | |
| Localtunnel (dev) | Redux et redux-saga | |
| Mapbox | React-map-gl | |
| Postgressql | Reactotron (Dev) | |
| mongodb | Formik | |
| JWT | promesse de CEP | |
| Sentinelle | réactable | |
Licence
Mit