SmartPostBox: умный почтовый ящик на Arduino MKR Fox 1200 и Sigfox
Необходимые компоненты
- Arduino MKR Fox 1200 (с встроенным Sigfox-модулем) — 1 шт.
- Лазерный модуль (5В) — 1 шт.
- Фоторезистор (LDR) — 1 шт.
- Резистор 1 кОм — 1 шт. (подтяжка для фоторезистора)
- Короб для 2×AA/AAA батарей — 1 шт.
- Элементы питания AA/AAA — 2 шт.
- Перемычки, паяльник
Инструменты и сервисы
- Arduino Web Editor (или классическая IDE)
- Аккаунт Sigfox (backend) для настройки коллбэка на email
О проекте
SmartPostBox — это IoT-устройство, которое уведомляет вас по email, когда в почтовый ящик кладут письмо. Лазер направлен на фоторезистор через весь ящик. Когда конверт прерывает луч, сопротивление фоторезистора растёт, напряжение на аналоговом входе падает — Arduino отправляет пакет в сеть Sigfox, которая пересылает уведомление на почту. Устройство автономно работает от батарей месяцев (Sigfox — сверхнизкое потребление).
Принцип работы
- Лазер постоянно светит на фоторезистор (норма ~950 на АЦП 10 бит).
- Если значение падает ниже 800 (перекрытие лучом) — срабатывает условие.
- Arduino открывает Sigfox-пакет, отправляет пробел
" "(данные не нужны, само событие — триггер). - Sigfox backend получает пакет → срабатывает Callback → отправляет email на заданный адрес.
- Флаг
posпредотвращает повторные отправки до извлечения письма (значение возвращается >800).
Схема подключения
- Лазер: VCC → 5V (или VIN), GND → GND.
- Фоторезистор: один вывод → A1, второй → 3,3В; резистор 1 кОм от A1 на GND (нижнее плечо делителя).
- Батарейный отсек: подключается к контактам батарейки на плате MKR Fox (плата сама переключается между USB и батареей).
- Антенна Sigfox — в соответствующий разъём (u.FL или пайка провода).
Код (основные фрагменты)
// Глобальные переменные
int lightIntensity;
int pos = 0; // 0 — луч свободен, 1 — письмо обнаружено, ждём извлечения
bool proDebug = false; // true — вывод в Serial для отладки (требует USB)
void setup() {
if (proDebug) Serial.begin(9600);
SigFox.begin(); // инициализация модема
// настройка пинов не требуется: лазер всегда включен, фоторезистор на A1
}
void loop() {
lightIntensity = analogRead(A1);
if (proDebug) { Serial.print("Light: "); Serial.println(lightIntensity); }
if (lightIntensity < 800) { // луч прерван
if (pos == 0) { // первое срабатывание
pos = 1;
sendSigfoxPacket();
}
} else { // луч восстановлен — письмо забрали
pos = 0;
}
delay(1000); // опрос раз в секунду
}
void sendSigfoxPacket() {
SigFox.beginPacket();
if (proDebug) Serial.println("Parsing Packet");
SigFox.print(" "); // константный байт
int ret = SigFox.endPacket(true); // ждём подтверждения
if (proDebug) { Serial.print("Status: "); Serial.println(ret); }
}
Настройка Sigfox Callback (email)
- Войдите в бэкенд Sigfox (backend.sigfox.com).
- Device Type → Callbacks → New.
- Type: Data Uplink.
- Channel: Email.
- Recipient: ваш email.
- Subject:
SmartPostBox(или своё). - Message (тело письма):
Hello There,
This is to let you know that you have received mail in your post box.
Be sure to check it out.
Device {device}, Over and Out.
Переменная {device} подставит ID устройства. Доступны также {time}, {lat}, {lng} и др.
Корпус и монтаж
Корпус нужен, чтобы держать лазер и фоторезистр точно напротив друг друга, и чтобы конверт проходил между ними. Автор сделал из картона: две треугольные стенки, сходящиеся к центру (один луч длиннее из-за размеров лазера). Файлы для 3D-печати не предоставлены — нужно подогнать под свой ящик. Главное: жёсткая фиксация оптики, чтобы вибрации не давали ложных срабатываний.
Особенности и ограничения
- Sigfox — глобальная сеть LPWAN, покрытие нужно проверить в вашем регионе.
- Плата MKR Fox 1200 включает 2 года подписки Sigfox (потом платная).
- Потребление в режиме ожидания микроамперы — батарей хватает на месяцы.
- Ложные срабатывания возможны от солнечного света, попадающего на фоторезистор — лучше закрыть его тюбиком/тубусом.
Ссылки
- Arduino MKR Fox 1200 гайд: официальный туториал
- Sigfox Callback документация.
Производственный процесс
- Синтаксис нетлистов SPICE: именование компонентов, пассивные и активные элементы, определение источников
- Интегральные схемы (ИС): компактные мощные чипы, питающие современную электронику
- Цифровые кости на Arduino: генератор случайных чисел с LCD-дисплеем и кнопкой
- DIY детектор землетрясений на ADXL335 с усилением ОУ OP07
- Умные шторы: автоматическое управление светом на Arduino с солнечной энергией
- MotionSense: умная система обнаружения проникновения на Arduino и ESP8266
- Набор MOSMusic: MOSFET, Arduino и управление светом по музыке
- Микроэлектроника: наука о сверхмалых электронных компонентах
- Основные компоненты сверлильного станка: подробный обзор
- Ключевые компоненты двигателя внутреннего сгорания