Industrielle Fertigung
Industrielles Internet der Dinge | Industrielle Materialien | Gerätewartung und Reparatur | Industrielle Programmierung |
home  MfgRobots >> Industrielle Fertigung >  >> Manufacturing Technology >> Herstellungsprozess

Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266

Komponenten und Zubehör

BauteilMenge
Arduino Nano 33 BLE Sense1
ESP8266 ESP-011
Arducam Mini 2MP Plus1
MAX7219 Display (4-in-1, 32×8)1
Summer1
SG90 Micro-Servo (oder MG995/MG959)2
Adafruit Micro-Lipo Lader1
Adafruit LiPo-Akku1
Arduino MKR WiFi 10101
RGB-LED (gemeinsame Kathode)1
Ultraschallsensor HC-SR041

Benötigte Werkzeuge

Apps & Online-Dienste

Projektübersicht

Hintergrund

Die Pandemie erzwang Distanzierung. Viele Geschäfte schlossen, Millionen Jobs gingen verloren (insb. Gastronomie, Einzelhandel, Unterhaltung). Offene Läden kämpfen mit Unsicherheit über Personen-Dichte, Maskenpflicht und Berührungsrisiken. Wie kann man sicherstellen, dass ein Geschäft zu jedem Zeitpunkt sicher betretbar ist?

Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266

Lösungsansatz

Automatisierung häufig berührter Geräte für berührungslose Interaktion. Sechs Teilprojekte:

  1. Smart Intercom (TinyML, Arduino 33 BLE Sense): Personenerkennung per Computer Vision → Klingel & LED-Matrix „Person“ ohne Tastendruck.
  2. Temperatur-Monitoring (IoT, ThingSpeak): Ultraschall erkennt Person → AMG8833 misst Temperatur → Dashboard & Alarm bei Fieber (>38,1 °C).
  3. Berührungsloser Aufzug (Spracherkennung, TinyML): „up“/„down“ → Servo drückt Taster.
  4. Maskenerkennung (TinyML + IoT): Erkennung Maske/keine Maske → Dashboard für Trends & Restriktionen.
  5. Warteschlangen-Management (TinyML + IoT): Personenzählung am Eingang → max. 50 Personen, dann 15 Min Wartezeit → LED-Matrix & Dashboard.
  6. Personenüberwachung & Selbstdesinfektion (UV-Licht): Zählung pro Gang → Schwellenwerte (25/50/100/150) → LED-Ampel (grün/blau/rot) & UV-Desinfektion ab 150 Personen.

Hardware-Details

Arduino Nano 33 BLE Sense

Leistungsstarker nRF52840 (64 MHz, 1 MB Flash, 256 KB RAM), Bluetooth, NFC, ultra-low-power. Ideal für TinyML (TensorFlow Lite).

Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266

ESP8266 ESP-01

Wi-Fi-Modul für Microcontroller, selbstständiger SoC, bis 9 GPIOs.

Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266

Arducam Mini 2MP Plus

2 MP SPI-Kamera (OV2640), kleine Bauform, einfache Anbindung per SPI/I2C.

Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266

Arduino MKR WiFi 1010

SAMD21 Cortex-M0, u-blox NINA-W10 (WiFi/BLE), ECC508 Crypto-Chip, LiPo-Lader, RGB-LED.

Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266

Software-Tools

Implementierungen im Detail

1. Berührungsloser Aufzug (Spracherkennung)

Sprachbefehle „up“/„down“ steuern Servo, der existierende Taster betätigt. Vorteile gegenüber Ultraschall/Geste: größere Distanz, weniger Fehlauslösungen.

Training in Edge Impulse: 1:30 min Daten (je 2 s pro Befehl), Fenster 300 ms, Keras NN. Accuracy 91,2 % (Training), 75 % (Test). Deployment als Arduino Library.

Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266

Code-Snippet (Servo-Steuerung):

if (found_command[0] == "up") {
  last_command_time = current_time;
  digitalWrite(LEDG, LOW);  // LED an
  servo_7.write(0);         // Taster drücken
  delay(100);
  digitalWrite(LEDG, HIGH); // LED aus
  servo_7.write(180);       // zurück
}
if (found_command[0] == "down") {
  last_command_time = current_time;
  digitalWrite(LEDG, LOW);
  servo_7.write(0);
  delay(100);
  digitalWrite(LEDG, HIGH);
  servo_7.write(180);
}
Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266

2. Smart Intercom (Gesichtserkennung / Personendetektion)

Vorgefertigtes TensorFlow-Modell (Klassen: unused, person, notperson). Arducam liefert 96×96 Bilder an Nano 33 BLE Sense. Bei person_score > no_person_score → Summer an, LED-Matrix zeigt „Person“. Optional: Servo betätigt bestehenden Klingeltaster für Video-Freischaltung.

Kern-Logik (detection_responder.cpp):

uint8_t person_score = output->data.uint8[kPersonIndex];
uint8_t no_person_score = output->data.uint8[kNotAPersonIndex];
if (person_score > no_person_score) {
  digitalWrite(LEDG, LOW);
  digitalWrite(LEDR, HIGH);
  digitalWrite(5, LOW);
  myDisplay.print("Person");
  servo_8.write(0); delay(500); servo_8.write(180); // Video-Freischaltung
} else {
  digitalWrite(LEDG, HIGH);
  digitalWrite(LEDR, LOW);
}
Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266

3. Autonomes Temperatur-Screening (IoT)

HC-SR04 erkennt Person (≤20 cm) → MKR WiFi 1010 öffnet Tor (Servo), aktiviert AMG8833, sendet Temperatur an ThingSpeak. Bei >38,1 °C → Tor schließt, Summer alarmiert.

Logik:

void loop() {
  ultra();
  servo1.write(0); // Tor öffnen
  if (distance <= 20) {
    float temp = amg.readThermistor();
    Send_Data(temp); // ThingSpeak
    if (temp > 38.1) {
      servo1.write(180); // Tor schließen
      digitalWrite(6, HIGH); // Summer
    }
  }
}
Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266

ThingSpeak-Dashboard: Temperatur vs. Zeit, einbettbar für Besucher.

4. Warteschlangen-Management (TinyML + IoT)

Zwei Stationen (Ein-/Ausgang) mit Personendetektion (gleiches TF-Modell). Zählung pro Station → ThingSpeak (Felder Entry/Exit). Bei 50 Personen: Tor schließt, 15 Min Wartezeit auf LED-Matrix. Wartezeit-Berechnung aus Differenz Entry-Exit.

Detection Responder (Entry):

if (person_score > no_person_score) {
  digitalWrite(LEDG, LOW); digitalWrite(LEDR, HIGH);
  servo_8.write(0); count++;
  if (count % 50 == 0) {
    myDisplay.print("Waiting 15min"); delay(60000);
  }
} else {
  digitalWrite(LEDG, HIGH); digitalWrite(LEDR, LOW);
  servo_8.write(180);
}
Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266

5. Maskenerkennung (TinyML + IoT)

Eigenes Modell (Transfer Learning, MobileNetV2 0.35, 813 Trainingsbilder). Accuracy 92,6 % (Training), 98,15 % (Test). Deployment auf Nano 33 BLE Sense. Logik: Maske erkannt → Tor öffnen, Zähler count++; keine Maske → Tor geschlossen, count2++. Beide Zähler an ThingSpeak (Mask/No-Mask Trends).

Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266

6. Personenüberwachung & Selbstdesinfektion (UV)

Pro Gang ein System. Personenzählung → Schwellenwerte pro Warengruppe (Lebensmittel niedriger, Elektronik höher). LED-Ampel: grün (sicher), blau (Achtung), rot (kontaminiert), UV-Licht bei Überschreitung (z. B. 150 Personen) → Zähler Reset.

Schwellen-Beispiel (Kleidung):

if (count 1-50)   LED_GREEN;
if (count 51-75)  LED_BLUE;
if (count 76-100) LED_RED;
if (count 101-110) UV_ON;
if (count > 111)  count = 0;

Daten per ESP8266 an ThingSpeak (4 Felder: Food, Sports, Clothes, Electronics). Floor-Map-Visualisierung möglich.

Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266

Code-Repositories (GitHub)

Schaltpläne

Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266
Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266
Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266
Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266
Spectrino: TinyML & IoT berührungslose Lösungen mit Arduino Nano 33 BLE Sense & ESP8266

Herstellungsprozess

  1. Raspberry Pi 3 mit DHT11 verbinden und Daten an ThingsIo.ai Cloud hochladen
  2. Den richtigen Wireless Protocol für IoT Asset Tracking Solutions wählen
  3. Klassisches Pong-Spiel auf Arduino UNO mit OLED-Display bauen – Schritt-für-Schritt-Tutorial
  4. Echtzeit-IoT-Herzfrequenzmonitor mit Arduino & MAX30100
  5. Pixie: DIY NeoPixel-Armbanduhr mit Arduino Pro Mini – Schick & Selbstgebaut
  6. Interaktives Nextion HMI Projekt mit Arduino Mega und Sensoren
  7. Pflanzengesundheit mit TinyML bewerten: Praktischer Leitfaden
  8. Echtzeit-Zelluläre Automaten auf Arduino mit 128x64 OLED-Display
  9. Azure IoT Schwimmbadsteuerung: Smarte Sensoren & Fernüberwachung
  10. Open-Wagon-LKW-Operationen mit IoT-Tracking-Lösungen optimieren