Table des matières:

Smart B.A.L (boîte aux lettres connectée) : 4 étapes
Smart B.A.L (boîte aux lettres connectée) : 4 étapes

Vidéo: Smart B.A.L (boîte aux lettres connectée) : 4 étapes

Vidéo: Smart B.A.L (boîte aux lettres connectée) : 4 étapes
Vidéo: La première boîte aux lettres connectée de Signée - Village Start-Up 2024, Juillet
Anonim
Smart B. A. L (boîte aux lettres connectée)
Smart B. A. L (boîte aux lettres connectée)

Vous en avez marre de vérifier à chaque fois votre boîte aux lettres alors qu'il n'y a rien à l'intérieur. Vous souhaitez savoir si vous recevez votre courrier ou un colis lors d'un déplacement. La boîte aux lettres connectée est donc faite pour vous. Il vous avertira si le facteur a déposé un courrier ou un colis, directement sur votre smartphone au moyen d'un email, grâce aux dernières technologies LORAWAN made in France. Nous allons étape par étape comment concevoir un prototype tout au long de cette instructable.

Étape 1: Équipement

Équipement
Équipement

Langages utilisés: C/C++

Connaissances de base en électronique numérique.

Exigences matérielles:

Grove - Gyro numérique 3 axes:

Kit module sigfox avec antenne:

Bouton poussoir aléatoire (choisissez ce que vous voulez).

Nucleo F030R8:

Logiciels requis:

Un ordinateur avec un bon navigateur pour travailler avec le compilateur Mbed.

Étape 2: préparez votre appareil

Préparez votre appareil
Préparez votre appareil

Tout d'abord, nous devons connecter tous les modules à la puce.

Alimentez le module Sigfox et le gyroscope avec une tension de 3,3 ! Connectez ensuite les fils UART au module Sigfox (PA_9, PA_10) et les fils I2C au gyroscope (PB_10; PB_11). Connectez le bouton avec les broches PB_3. une fois terminé, compilez le code ci-dessous.

Vous pouvez tester le prototype en plaçant le gyroscope sur une boîte aux lettres et obtenir quelques valeurs liées au mouvement et ainsi vérifier s'il s'agit d'un colis qui a été déposé ou d'une lettre.

#include "mbed.h" #include "ITG3200.h" //---------------------------------- -- // Configuration hyperterminal // 9600 bauds, données 8 bits, pas de parité //------------------------------ ------ Ordinateur série (SERIAL_TX, SERIAL_RX); Sigfox série (PA_9, PA_10, NULL, 9600); InterruptIn bouton(PB_3); Gyroscope ITG3200 (PB_11, PB_10); application int volatile; entier facteur=0; Minuterie t; Pile analogique (A3); AnalogIn ref_batt(ADC_VREF); void lol() { pc.printf("appui\r\n"); application=1; } /* void batt() { pc.printf("batterie faible !\r\n"); }*/ int main() { int x, y, z; //Définir la bande passante la plus élevée. gyro.setLpBandwidth(LPFBW_42HZ); tampon de caractères[20]; bouton.fall(&lol); bouton.mode(Dérouler); //batterie_faible.rise(&batt); //batterie_faible.mode(PullDown); pc.printf("commencement\r\n"); while(1) { app=0; x = gyro.getGyroX(); y = gyro.getGyroY(); z = gyro.getGyroZ(); if(x > 5000) { t.start(); pc.printf("première minute\r\n"); while(t.read() <10); pc.printf("fin temps\r\n"); //pc.printf("app= %d\r\n", app); if(app == 0) { sigfox.printf("AT$SF=636f757272696572\r\n"); //colis: 636f6c69732e202020 sigfox.scanf("%s", tampon); pc.printf("%s\r\n", tampon); } pc.printf("fin si\r\n"); t.stop(); t.reset(); } /* if(batterie.read() <= (2.8*ref_batt.read()/1.23)) pc.printf("batterie faible\r\n"); sigfox.printf("AT$SF=636f757272696572\r\n"); //colis: 636f6c69732e202020 wait(10); sigfox.printf("AT$P=1"); attendre(10); sigfox.printf("AT$P=0\r\n");*/ } }

Étape 3: Assemblage PCB

Le prototype précédent est trop gros pour le mettre sur boîte aux lettres. Voici quelques fichiers Gerber pour imprimer votre circuit et assembler votre composant.

Étape 4: Site Web principal

Site Web principal
Site Web principal
Site Web principal
Site Web principal

Nous avons basé notre architecture backend sur IBM Cloud (IBM IoT Watson Platform et NodeRED) et sur des requêtes API REST. L'IBM Cloud a été utilisé pour gérer la communication entre les différentes parties de notre système. Comme vous pouvez le voir sur notre flux NodeRED, nous contrôlons toutes les demandes reçues de l'API Sigfox (qui envoie les messages depuis notre appareil) et de notre site Web Wix (pour l'enregistrement d'un nouvel appareil). De plus, le cloud est responsable de l'envoi de l'e-mail de notification au client et de l'enregistrement d'un nouveau client dont les informations seront stockées dans notre base de données basée sur le cloud (MongoDB). Ainsi, NodeRED gère essentiellement les requêtes API REST et les requêtes de base de données (INSERT et SELECT) pour garantir que la bonne notification sera envoyée au bon client à temps.

Conseillé: