Comment créer un système intelligent de suivi des colis à l’aide de l’IoT

Smart Parcel Tracking System Using IoT
S. Non Composants But Alternatives
1. Tableau de géolinker GeoLinker GL868_ESP32 est une carte de développement open source prête pour la production qui combine un modem GSM ESP32-S3 et SIM868, utilisée à des fins de suivi.

2. IoT / Carte Nano SIM normale Airtel M2M IoT SIM recommandée (3 mois de données gratuites avec l’achat de la carte). Toute SIM compatible 2G fonctionne. SIM 2G classique
3. Batterie Li-Ion/LiPo 3,7 V Utilisé pour alimenter la carte et tester

4. Câble USB-C Programmation, tests et chargement

Configuration matérielle de la carte GeoLinker connectée à la batterie pour le système de suivi des colis utilisant GPS et IoT

  • Coordonnées GPS
  • Nombre total d’impacts
  • Valeur d’impact maximale
  • Nombre de vibrations
  • Nombre de secousses
  • Nombre de sauts
  • Durée du trajet
  • Pourcentage de batterie
#define DEVICE_ID "Device_ID"
#define API_KEY "YOURAPIKEY"
#define ALERT_NUMBER “YOURNUMBER"
#define IMPACT_THRESHOLD_MG 600.0f
#define SEVERE_IMPACT_MG 4000.0f
GeoLinker.begin(DEVICE_ID, API_KEY);
GeoLinker.setOperatingMode(MODE_SMS_CALL);
GeoLinker.setTimeOffset(5, 30);
GeoLinker.enableFullPowerOff(false);
static bool accelInit() {
Wire.begin();
Wire.beginTransmission(LIS3DH_ADDR);
Wire.write(LIS3DH_CTRL_REG1);
Wire.write(0x57);
Wire.endTransmission();
Wire.beginTransmission(LIS3DH_ADDR);
Wire.write(LIS3DH_CTRL_REG4);
Wire.write(0x10);
Wire.endTransmission();
return true;
}
float dynamicMg = accelMagnitude(ax, ay, az);
if (dynamicMg > IMPACT_THRESHOLD_MG) {
impactCount++;
impactsSinceLastPush++;
}
static ImpactBand classifyImpact(float mg) {
if (mg < BAND_VIBRATION_MAX)
 return BAND_VIBRATION;
if (mg <= BAND_JERK_MAX)
 return BAND_JERK;
return BAND_JUMP;
}
if (dynamicMg > SEVERE_IMPACT_MG && !severeAlertSent) {
 severeAlertSent = true;
 sendSevereImpactAlert(dynamicMg, &alertGPS, hasEverHadFix);
}
if (GeoLinker.getLocationNow(gps) && gps->valid) {
  Serial.printf("[GPS] Fix: %.6f, %.6f\n",
                gps->latitude,
                gps->longitude);
  return true;
}
lastKnownGPS = gps;
hasEverHadFix = true;
GeoLinker.setPayloads({
{"impacts", (float)impactCount},
{"peak_mg", peakImpact},
{"ride_min", (float)rideMinutes},
{"vib_count", (float)bandCount[BAND_VIBRATION]},
{"jerk_count", (float)bandCount[BAND_JERK]},
{"jump_count", (float)bandCount[BAND_JUMP]}
});
int code = GeoLinker.gsm.httpPOST(
  "http://www.raspberryme.cloud/api/v1/geolinker",
  API_KEY,
  "application/json",
  payload);
Problème rencontré Cause possible Solution
Les impacts ne sont pas détectés L’accéléromètre LIS3DHTR ne communique peut-être pas correctement via I2C, ou le seuil d’impact configuré peut être trop élevé pour les niveaux de vibration ressentis. Vérifiez que l’accéléromètre s’initialise avec succès lors du démarrage et surveillez les valeurs brutes d’accélération via Serial Monitor.
La localisation GPS ne se met pas à jour Le module GPS peut ne pas avoir une vue dégagée sur le ciel, ce qui entraîne une faible réception satellite. Placez l’appareil à l’extérieur dans une zone dégagée et prévoyez suffisamment de temps pour l’acquisition du satellite avant de commencer la surveillance.
Les coordonnées GPS semblent inexactes Les réflexions des signaux satellites, les obstructions ou le nombre insuffisant de satellites peuvent réduire la précision du positionnement. Assurez le fonctionnement dans une zone ouverte et attendez que des satellites supplémentaires améliorent la précision du GPS avant de vous fier aux données de localisation.
L’appareil redémarre de manière inattendue Les fluctuations de l’alimentation électrique, une faible tension de la batterie ou une consommation de courant excessive peuvent entraîner des réinitialisations du système. Utilisez une source d’alimentation stable, assurez-vous d’une capacité de batterie adéquate et vérifiez toutes les connexions électriques.
Les lectures du pourcentage de batterie semblent incorrectes Les paramètres d’étalonnage de la batterie peuvent ne pas correspondre aux caractéristiques réelles de la batterie. Vérifiez les mesures de tension de la batterie et ajustez la configuration de la plage de la batterie si nécessaire.
La connexion GPRS échoue après la transmission de SMS Le modem GSM peut ne pas réussir à se reconnecter au réseau GPRS après l’envoi d’un SMS Vérifiez le processus de reconnexion GPRS et assurez-vous que le modem se reconnecte avant de tenter des téléchargements vers le cloud.

Notifications d'alerte SMS du système intelligent de suivi des colis affichant des rapports d'impact et de synthèseTableau de bord de suivi des colis en direct affichant les données de points de cheminement, le nombre d'impacts et l'emplacement sur CircuitDigest Cloud

Youtube video

Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

Youtube video