Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Smart Pill Dispenser: Умный дозатор лекарств с IoT и AWS

Компоненты и материалы

Microchip AVR-IoT WA Development Board×1
Arduino Mega 2560×1
Сервопривод SG90 (микро)×4
Nextion NX8048T070 (7" HMI сенсорный экран)×1
Adafruit 16-канальный PWM/Серво драйвер I2C×1
Динамик 0.25Вт 8 Ом×1
IR-фототранзистор (Adafruit)×4
IR-светодиод 940 нм (Adafruit)×4
Ультразвуковой датчик HC-SR04×1
Parallax Feedback 360° High-Speed Servo×1
БП 5В 2А×1

Инструменты

Софт и облачные сервисы

О проекте

Зачем этот проект?

На рынке два типа дозаторов: механические и автоматические. Оба требуют ручной разкладки таблеток, делая пациента зависимым. В условиях COVID-19 у родственников меньше возможностей ухаживать. SmartPill решает: автоматическая разкладка, доступность для людей с нарушениями зрения/слуха, независимость пациента.

Принцип работы

Система = SmartPill Dispenser (железо) + SmartPill Web App (веб-интерфейс врача/опекуна).

SmartPill Dispenser — механика

Все детали (кроме экрана) 3D-печать PLA. STL-файлы открыты.

  1. База — опора, отверстия для ультразвукового датчика, клапан для выдачи в стаканчик.
  2. Слайдер — верхняя часть держит контейнеры, склон для таблеток, ниша для электроники.
  3. Боковины — защита от влаги, пыли.
  4. Экран Nextion — интерфейс пациента.
  5. Верхние крышки — защита и разделение барабана от контейнеров.
  6. Parallax Servo 360° — поворачивает барабан.
  7. Барабан — соединяет загрузку с контейнерами.
  8. Задняя дверца — доступ к контейнерам.
  9. Динамики — голосовые подсказки.
  10. HC-SR04 — детект снятия стаканчика.
  11. 4 контейнера — каждый с SG90 для дозирования. Расширяемо.

Сборка

Электроника

Мозг — Arduino Mega: сервоприводы (PWM), Nextion, RTC (I2C), звук, UART ↔ AVR-IoT. IR-барьеры (фототранзистор + IR LED) на аналоговых входах детектируют выдачу таблеток. Рекомендуется монтаж на деревянной плате / протоборде по схеме.

SmartPill Web App

Frontend: Ionic + Angular. Backend: AWS API Gateway (HTTP API) + Lambda + DynamoDB.

Структура приложения

Пример кода (TypeScript)

// post.service.ts
getPosts() { return this.http.get(this.API); }
createPost(pill, deposit, weight, morning, afternoon, night) {
  return this.http.post(this.API, {pill, deposit, weight, morning, afternoon, night});
}
removePost(id) { return this.http.delete(`${this.API}/${id}`); }

// page-edit-pill
ngOnInit() {
  this.route.paramMap.subscribe(paramMap => {
    if (paramMap.get('postId')) {
      this.postService.getPostById(paramMap.get('postId')).subscribe(res => {
        this.post = res; this.editing = true;
      });
    }
  });
}
// Шаблон: {{ editing ? 'Update Your' : 'Create your' }} Deposit
// Кнопка: (click)="editing ? updatePost() : savePost()"

Amazon Web Services — бессерверная архитектура

Компоненты:

Настройка AWS (кратко)

  1. Зарегистрировать AVR-IoT в AWS IoT Core (Microchip гайд). Настроить WiFi на плате.
  2. Создать таблицы DynamoDB с PK = id.
  3. Создать Lambda-функции (репозиторий GitHub), прикрепить роль с AmazonDynamoDBFullAccess (только для демо!).
  4. IoT Core → Rules: SELECT * FROM 'confirmationpill' → Action: Lambda smartpill-confirmationpill.
  5. EventBridge: 3 правила (cron UTC) для утра/дня/вечера → Target: Lambda smartpill-dispensepill.
  6. API Gateway: HTTP API, интеграции с Lambda, маршруты per таблице, деплой → HTTP endpoint.
  7. S3: бакет, Static Website Hosting → index.html, загрузка билда Angular.

Протокол AVR-IoT ↔ Arduino

Два MQTT-топика:

Пример dispensepill:

{ "cmd": "dispensepill", "npills": 2,
  "intake": { "time": "morning" },
  "pills": {
    "1": { "pill": "Ibuprofeno", "qty": 1, "deposit": 1, "weight": 200 },
    "2": { "pill": "Paracetamol", "qty": 2, "deposit": 2, "weight": 500 }
  }
}

IoT → Arduino по UART: D Ibuprofeno 1 1 200 D Paracetamol 2 2 500 \n

Arduino → IoT: pill 1 (успех) → IoT → AWS: { "time":"morning", "state":"ok" }

Прошивка AVR-IoT

На базе Microchip CLI. Добавлена команда pill с колбэком, парсящим ответ Arduino и шлющим JSON в confirmationpill. CLI перенесён на USART1 (пины RX/TX) для связи с Mega. Добавлена подписка на кастомный топик dispensepill с JSON-парсером и колбэком receiveddispenseFromCloud(). Структуры данных в IoTPill.h.

Репозитории кода

CAD и схемы

Производственный процесс

  1. Наука и производство снотворных: от древних средств к современной фармакологии
  2. Противозачаточные таблетки: история, польза, риски и производство
  3. Умный бармен: создайте свою Raspberry Pi-станцию для коктейлей
  4. Умный светофор: адаптивное уличное освещение на базе IoT
  5. Интеллектуальное умное мусорное ведро: оптимизация сбора отходов с IoT-датчиками
  6. Умная теплица IoT на Arduino и Azure: датчики, автополив и удалённый контроль
  7. UnifiedWater v1: полный набор датчиков качества воды на Arduino MKR GSM
  8. Умные шторы: автоматическое управление светом на Arduino с солнечной энергией
  9. Autodesk Smart Manufacturing: автоматизируйте рабочий процесс и свяжите разработку продукта
  10. Умное производство (Smart Manufacturing): трансформация производства с IoT