INHOUDSOPGAWE:

Smart B.A.L (gekoppelde posbus): 4 stappe
Smart B.A.L (gekoppelde posbus): 4 stappe

Video: Smart B.A.L (gekoppelde posbus): 4 stappe

Video: Smart B.A.L (gekoppelde posbus): 4 stappe
Video: Сводные таблицы Excel с нуля до профи за полчаса + Дэшборды! | 1-ое Видео курса "Сводные Таблицы" 2024, Julie
Anonim
Smart B. A. L (gekoppelde posbus)
Smart B. A. L (gekoppelde posbus)

U is moeg daarvoor om elke keer na u posbus te kyk terwyl daar niks binne is nie. U wil weet of u u pos of 'n pakkie tydens 'n reis ontvang, dus die gekoppelde posbus is vir u. Dit sal u in kennis stel as die posman per e -pos 'n pos of 'n pakkie direk op u slimfoon gedeponeer het, danksy die nuutste tegnologie wat LORAWAN in Frankryk vervaardig het. Ons gaan stap vir stap hoe om 'n prototipe in hierdie instruksies te ontwerp.

Stap 1: toerusting

Uitrusting
Uitrusting

Gebruikte tale: C/C ++

Basiese kennis in digitale elektronika.

Hardeware vereistes:

Grove-3-as digitale gyro:

Kit sigfox-module met antenne:

Willekeurige drukknoppie (kies wat u wil hê).

Nucleo F030R8:

Sagteware vereistes:

'N Rekenaar met 'n goeie blaaier om saam met Mbed -samesteller te werk.

Stap 2: Berei u toestel voor

Berei u toestel voor
Berei u toestel voor

Eerstens moet ons al die modules aan die chip koppel.

Voed die Sigfox -module en die gyroscoop met 3,3 spanning! Koppel dan die UART -drade aan die Sigfox -module (PA_9, PA_10) en die I2C -drade aan die gyroscoop (PB_10; PB_11). Verbind die knoppie met PB_3 -penne. Stel die onderstaande kode saam as u klaar is.

U kan die prototipe toets deur die gyro op 'n posbus te plaas en 'n paar waardes te kry wat verband hou met die beweging, en kyk of dit 'n pakket is of 'n brief.

#include "mbed.h" #include "ITG3200.h" // ---------------------------------- -// Hyperterminal konfigurasie // 9600 bauds, 8-bis data, geen pariteit // ------------------------------ ------ Seriële rekenaar (SERIAL_TX, SERIAL_RX); Seriële sigfox (PA_9, PA_10, NULL, 9600); InterruptIn bouton (PB_3); ITG3200 gyro (PB_11, PB_10); vlugtige int app; int facteur = 0; Timer t; AnaloogIn battery (A3); AnaloogIn ref_batt (ADC_VREF); void lol () {pc.printf ("appui / r / n"); app = 1; } /* void batt () {pc.printf ("batterie faible! / r / n"); }*/ int main () {int x, y, z; // Stel die hoogste bandwydte in. gyro.setLpBandwidth (LPFBW_42HZ); char buffer [20]; bouton.fall (& lol); bouton.mode (PullDown); // battery_faible.rise (&batt); // battery_faible.mode(PullDown); pc.printf ("aanvang / r / n"); terwyl (1) {app = 0; x = gyro.getGyroX (); y = gyro.getGyroY (); z = gyro.getGyroZ (); as (x> 5000) {t.start (); pc.printf ("debuut -minuut / r / n"); terwyl (t.read () <10); pc.printf ("fin temps / r / n"); //pc.printf("app= %d / r / n ", app); as (app == 0) {sigfox.printf ("AT $ SF = 636f757272696572 / r / n"); // colis: 636f6c69732e202020 sigfox.scanf ("%s", buffer); pc.printf ("%s / r / n", buffer); } pc.printf ("fin as / 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 wag (10); sigfox.printf ("AT $ P = 1"); wag (10); sigfox.printf ("AT $ P = 0 / r / n");*/}}

Stap 3: Monteer PCB

Die vorige prototipe is te groot om dit in die posbus te plaas. Hier is 'n paar Gerber -lêers om u kring af te druk en u komponent te monteer.

Stap 4: Back-end webwerf

Back-end webwerf
Back-end webwerf
Back-end webwerf
Back-end webwerf

Ons het ons backend -argitektuur gebaseer op IBM Cloud (IBM IoT Watson Platform en NodeRED) en op API REST -versoeke. Die IBM Cloud is gebruik om die kommunikasie tussen verskillende dele van ons stelsel te bestuur. Soos u op ons NodeRED -vloei kan sien, beheer ons alle versoeke wat vanaf die Sigfox API ontvang word (wat die boodskappe vanaf ons toestel stuur) en vanaf ons Wix -webwerf (vir die registrasie van 'n nuwe toestel). Die wolk is ook verantwoordelik vir die stuur van die kennisgewing-e-pos aan die kliënt en vir die registrasie van 'n nuwe kliënt waarvan die inligting in ons wolkgebaseerde databasis (MongoDB) gestoor word. NodeRED bestuur dus basies die API REST -versoeke en databasisnavrae (INSERT en SELECT) om te verseker dat die regte kennisgewing betyds na die regte kliënt gestuur word.

Aanbeveel: