Оглавление:

Smart B.A.L (подключенный почтовый ящик): 4 шага
Smart B.A.L (подключенный почтовый ящик): 4 шага

Видео: Smart B.A.L (подключенный почтовый ящик): 4 шага

Видео: Smart B.A.L (подключенный почтовый ящик): 4 шага
Видео: Почтовые ящики - КАК их укротить / Mailboxes 2024, Июль
Anonim
Smart B. A. L (подключенный почтовый ящик)
Smart B. A. L (подключенный почтовый ящик)

Вы устали каждый раз проверять свой почтовый ящик, пока внутри ничего нет. Вы хотите знать, получите ли вы почту или посылку во время поездки, поэтому подключенный почтовый ящик для вас. Он уведомит вас, если почтальон отправил письмо или посылку, прямо на ваш смартфон по электронной почте, благодаря новейшим технологиям LORAWAN, сделанным во Франции. В этом руководстве мы шаг за шагом рассмотрим создание прототипа.

Шаг 1: оборудование

Оборудование
Оборудование

Используемые языки: C / C ++

Базовые знания в области цифровой электроники.

Требования к оборудованию:

Grove - 3-осевой цифровой гироскоп:

Комплект модуля sigfox с антенной:

Случайная кнопка (выбирайте, что хотите).

Nucleo F030R8:

Программные требования:

Компьютер с хорошим браузером для работы с компилятором Mbed.

Шаг 2. Подготовьте устройство

Подготовьте свое устройство
Подготовьте свое устройство

Во-первых, нам нужно подключить все модули к микросхеме.

Подключите модуль Sigfox и гироскоп к напряжению 3,3 В! Затем подключите провода UART к модулю Sigfox (PA_9, PA_10) и провода I2C к гироскопу (PB_10; PB_11). Подключите кнопку с выводами PB_3. когда закончите, скомпилируйте код ниже.

Вы можете протестировать прототип, поместив гироскоп на почтовый ящик, и получить некоторые значения, связанные с движением, и таким образом проверить, был ли это депонированный пакет или письмо.

#include "mbed.h" #include "ITG3200.h" // ---------------------------------- - // Гипертерминальная конфигурация // 9600 бод, 8-битные данные, без четности // ------------------------------ ------ Последовательный компьютер (SERIAL_TX, SERIAL_RX); Последовательный sigfox (PA_9, PA_10, NULL, 9600); Бутон InterruptIn (PB_3); Гироскоп ITG3200 (PB_11, PB_10); приложение volatile int; int facteur = 0; Таймер t; Аккумулятор AnalogIn (A3); AnalogIn 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; // Устанавливаем максимальную пропускную способность. gyro.setLpBandwidth (LPFBW_42HZ); char buffer [20]; bouton.fall (& lol); bouton.mode (PullDown); //batterie_faible.rise(&batt); //batterie_faible.mode(PullDown); pc.printf ("начало / г / п"); в то время как (1) {приложение = 0; х = gyro.getGyroX (); y = gyro.getGyroY (); z = gyro.getGyroZ (); если (x> 5000) {t.start (); pc.printf ("минута дебюта / r / n"); в то время как (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", буфер); pc.printf ("% s / r / n", буфер); } pc.printf ("Fin if / 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"); ждать (10); sigfox.printf ("AT $ P = 0 / r / n"); * /}}

Шаг 3: Сборка печатной платы

Предыдущий прототип слишком велик, чтобы положить его в почтовый ящик. Вот несколько файлов Gerber для печати вашей схемы и сборки вашего компонента.

Шаг 4. Внутренний веб-сайт

Внутренний веб-сайт
Внутренний веб-сайт
Внутренний веб-сайт
Внутренний веб-сайт

Наша внутренняя архитектура основана на IBM Cloud (IBM IoT Watson Platform и NodeRED) и на запросах API REST. IBM Cloud использовалось для управления связью между различными частями нашей системы. Как вы можете видеть в нашем потоке NodeRED, мы контролируем все запросы, полученные от Sigfox API (который отправляет сообщения с нашего устройства) и с нашего веб-сайта Wix (для регистрации нового устройства). Кроме того, облако отвечает за отправку клиенту электронного письма с уведомлением и за регистрацию нового клиента, информация о котором будет храниться в нашей облачной базе данных (MongoDB). Таким образом, NodeRED в основном управляет запросами API REST и запросами к базе данных (INSERT и SELECT), чтобы гарантировать, что правильное уведомление будет отправлено нужному клиенту вовремя.

Рекомендуемые: