Умная RFID-система учёта вещей: Raspberry Pi + Arduino + Azure IoT
Компоненты и материалы
- Raspberry Pi 2 Model B — 1 шт.
- Arduino UNO — 1 шт.
- UHF RFID-модуль JT2850 — 1 шт.
- UHF RFID-антенна JT606 — 1 шт.
Инструменты
- ПК с Windows 10 и Visual Studio 2015
- Android-телефон
Сервисы и ПО
- Windows 10 IoT Core (на Raspberry Pi)
- Microsoft Azure (Web App, SQL Database, Notification Hub)
- Visual Studio 2015
О проекте
Идея
Вы часто теряете вещи дома? Приклеиваем RFID-тег на предмет, регистрируем в системе. При поиске — запрос с телефона, система опрашивает все RFID-ридеры в комнатах и сообщает, где вещь.
Архитектура
- Несколько UHF RFID-модулей в разных комнатах → каждый подключён к своему Arduino UNO.
- Все Arduino подключены к Raspberry Pi 2 (Windows 10 IoT Core) по последовательным портам.
- При поиске: телефон → Wi-Fi → Raspberry Pi → опрос всех Arduino → чтение RFID → возврат локации ридера → телефон.
- Данные (ID тега, название, тип, комната, фото) хранятся в Azure SQL через Web API.

Настройка Raspberry Pi (Windows 10 IoT Core)
- Установите Windows 10 IoT Core на Pi 2: руководство.
- Подключите Pi к ПК патч-кордом. Windows IoT Core Watcher покажет IP-адрес.
- В Visual Studio 2015: File → New → Project → Visual C# → Background Application (IoT).
- Properties → Debug: Platform = ARM, Target Device = Remote Machine, Remote Machine =
, Uncheck «Use authentication». - Пишите код в
StartupTask.cs. Отладка: F5 → Remote Machine.


Создание Web API на Azure
- Visual Studio: New Project → ASP.NET Web Application → MVC (ASP.NET 4.5.2) → No Authentication → Host in the cloud (Azure).
- Войдите в Azure, создайте Web App + SQL Database.
- Entity Framework Code First: Tools → NuGet Package Manager → Package Manager Console:
Install-Package EntityFramework Enable-Migrations Add-Migration Initial Update-Database - Добавьте модель
MyThing(Id, Rfid, Name, Type, Location, Image, Status, CreatedAt, LastUpdatedAt). - Scaffold: Controllers → Add → New Scaffolded Item → Web API 2 Controller with actions, using Entity Framework.
- Publish → Microsoft Azure Web Apps → настройте connection string, Enable Code First Migrations → Publish.

Windows Universal App (клиент)
- New Project → Windows Universal → Blank App.
- Замените файлы на MyThingApp из GitHub.
- Отладка: x64 / Local Machine.

Push-уведомления (Notification Hub)
- Резервируйте имя приложения в Dev Center.
- Проект → Store → Associate App with the Store.
- Создайте Notification Hub в Azure: руководство.
- В
App.xaml.csдобавьте регистрацию канала уведомлений. - В Web API
MyThingControllerпосле создания записи отправляйте toast-уведомление с RFID.

Код
Arduino-скетч для RFID-модуля
#include <SoftwareSerial.h>
SoftwareSerial mySerial(10, 11); // RX, TX
void setup() {
Serial.begin(9600);
while (!Serial) ; // для Leonardo
mySerial.begin(9600);
}
void loop() {
if (mySerial.available()) {
// команда чтения тега
byte message[] = {0xA0,0x06,0x80,0x00,0x01,0x02,0x01,0xD6};
mySerial.write(message, sizeof(message));
// возврат данных в Serial
if(Serial.available()) Serial.write(mySerial.read());
}
}
Полный код на GitHub: where-is-my-thing
3D-модели / Чертежи
uhf_reader_jt2850.svg— векторный чертеж RFID-модуля (4 копии)
Схемы (Fritzing)
Подключение Arduino к UHF RFID модулю: Fritzing.org

Производственный процесс
- Microsoft Azure Cheat Sheet 2020 — полное руководство по сервисам и архитектуре Azure
- FDM 3D-печать сегодня: текущее состояние, вехи и будущие перспективы
- Определение периметра (Edge): где на самом деле происходят пограничные вычисления
- Индустрия 4.0 сегодня: ландшафт и вылук на 2017 год
- 4 передовые альтернативы пассивному RFID для точного отслеживания активов
- Интегрированная система контроля доступа с QR, RFID и верификацией температуры
- Происхождение металлов: от звезд к промышленности
- Выбор правильного места разработки: мейкерспейсы, акселераторы и производственные партнеры
- Происхождение концепции пиления: от древних инструментов к современным машинам
- Где сжатый воздух питает повседневные процессы