Inhaltsverzeichnis:

RFID + Farbsensor IoT-Projekt - Gunook
RFID + Farbsensor IoT-Projekt - Gunook

Video: RFID + Farbsensor IoT-Projekt - Gunook

Video: RFID + Farbsensor IoT-Projekt - Gunook
Video: Arduino Nano mit dem RFID Modul RC522 2024, November
Anonim
RFID + Farbsensor IoT-Projekt
RFID + Farbsensor IoT-Projekt

Die Idee dieses Projekts ist es, Menschen zu belohnen, die aus Kaffeetassen trinken und diese fachgerecht entsorgen. Nehmen Sie zum Beispiel ein Unternehmen wie Tim Hortons; im Jahr 2014 verzeichneten sie, dass jährlich 2 Milliarden Tassen Kaffee ausgeschenkt wurden. Obwohl ihre Becher recycelt werden können, werden sie derzeit nicht überall zum Recycling akzeptiert. Auf ihrer Website heißt es: „Wir haben derzeit Programme in einer Reihe von Restaurants in ganz Kanada, bei denen wir unseren Pappbecher (und andere Verpackungen) zum Recycling oder Kompostieren auffangen. Die Zahl der Standorte, an denen wir In-Store-Recycling anbieten, wächst weiter, da wir mit lokalen Entsorgungsunternehmen zusammenarbeiten, um unser Programm zu erweitern…“

Während sie als umweltbewusstes Unternehmen weiter expandieren und die Branche aufsteigen, glauben wir, dass sie auch die Anzahl der Kunden erhöhen und das Bewusstsein schärfen können, indem sie ein Anreizprämiensystem schaffen.

Dieses Projekt ist ein Versuch, ein grundlegendes System um diese Idee herum zu entwickeln.

Schritt 1: Teile

Teile
Teile
Teile
Teile
Teile
Teile
Teile
Teile
  • Raspberry Pi 3
  • Arduino Mega
  • Mini-Steckbrett
  • Female.male Überbrückungsdrähte
  • 2 x LEDs (rot & grün)
  • 2 x 330 Ohm Widerstände
  • TCS3200 Farbsensor
  • RC522 RFID-Lesegerät und -Tags
  • USB 2.0-Kabel Typ A/B
  • Computer und Internet
  • Kaffeetasse

Schritt 2: Hardware einrichten

Hardware einrichten
Hardware einrichten
Hardware einrichten
Hardware einrichten

Anschließen des TCS 3200 an den Arduino

VCC 5V

GND GND

S0 4

S1 5

S2 6

S3 7

E0 GND

AUS 8

Verbinden Sie RFID/LEDs mit Raspberry Pi

SDA 24

SCK 23

MOSI 19

MISO 21

Masse 6

RST 22

3.3V 1

GRÜNE LED 12 und 330 Ohm an GND

ROTE LED 11 und 330 Ohm an GND

Schritt 3: Farbsensor programmieren

Farbsensor programmieren
Farbsensor programmieren

TCS3200 erkennt Farblicht durch ein internes 8 x 8 Photodiodenarray. Ein Strom-Frequenz-Wandler wird verwendet, um den Messwert der Fotodiode in eine Rechteckwelle umzuwandeln, deren Frequenz proportional zur Intensität des Lichts ist.

Fotodioden haben drei verschiedene Farbfilter. Es gibt 16 Rotfilter, 16 Grünfilter, 16 Blaufilter und weitere 16 Fotodioden ohne Filter.

Damit die Fotodiode die Farbe lesen kann, müssen wir die Pins S2 und S3 steuern.

Farbtabelle:

Farbe S2 S3

Rot NIEDRIG NIEDRIG

Blau NIEDRIG HOCH

Grün HOCH HOCH

Jeder Sensor kann in der Frequenz leicht variieren. Bringen Sie den Sensor in die Nähe der Tasse. Verwenden Sie den Colour_Tester.ino-Code, um die richtigen Werte für Ihre spezielle Tasse zu finden und sich die angegebenen Werte im Serial Monitor zu merken. Dann schreiben Sie if-Anweisungen, um ein "yes" oder "no" auszugeben, wenn der Sensor die Tasse erkennt, wie in Sensor_Data.ino gezeigt.

Wenn Sie fertig sind, verbinden Sie das Arduino über ein USB-Kabel mit dem Raspberry Pi.

Schritt 4: Raspbian für RFID RC522 einrichten

Raspbian für RFID RC522 einrichten
Raspbian für RFID RC522 einrichten
Raspbian für RFID RC522 einrichten
Raspbian für RFID RC522 einrichten
Raspbian für RFID RC522 einrichten
Raspbian für RFID RC522 einrichten

1. Aktivieren Sie SPI (Serial Peripheral Interface), öffnen Sie das Terminal und führen Sie den folgenden Befehl aus.

sudo raspi-config

2. Wählen Sie mit den Pfeiltasten „5 Schnittstellenoptionen“und drücken Sie die Eingabetaste.

3. Wählen Sie mit den Pfeiltasten „P4 SPI“aus und drücken Sie die Eingabetaste.

4. Sie werden nun gefragt, ob Sie die SPI-Schnittstelle aktivieren möchten, wählen Sie mit den Pfeiltasten Ja und drücken Sie die Eingabetaste, um fortzufahren.

5. Nachdem die SPI-Schnittstelle erfolgreich aktiviert wurde, sollte der folgende Text auf dem Bildschirm erscheinen: „Die SPI-Schnittstelle ist aktiviert“. Starten Sie den Raspberry Pi neu, indem Sie Enter und dann ESC drücken. Geben Sie den folgenden Befehl in das Terminal Ihres Raspberry Pi ein, um Ihren Raspberry Pi neu zu starten.

sudo neu starten

6. Nachdem Ihr Raspberry Pi den Neustart abgeschlossen hat, überprüfen Sie, ob er tatsächlich aktiviert wurde. Führen Sie den folgenden Befehl aus, um zu sehen, ob spi_bcm2835 aufgeführt ist.

lsmod | grep spi

7. Installieren Sie Python-dev und git mit dem Befehl.

sudo apt-get install python-dev git

8. Starten Sie Node-Red, um einen Ordner ~/.node in Ihrem Home-Ordner zu erstellen. Führen Sie den Befehl aus

Knoten-Rot-Start

Greifen Sie mit Ihrem Browser auf die Benutzeroberfläche zu, zeigen Sie auf die Adresse https://:1880. Zum Beispiel befindet sich mein Pi in meinem Home-Office-Netzwerk unter der Adresse 192.168.0.17. Um auf Node-RED zuzugreifen, navigiere ich zu

Stoppen Sie nun den Node-Red Server mit dem Befehl.

Knoten-Rot-Stopp

9. Installieren Sie den Daemon-Knoten und den seriellen Knoten.

cd ~./node-red

npm i node-red-node-daemon npm i node-red-node-serialport

10. Installieren Sie SPI-Py.

cd ~

git clone https://github.com.lthiery/SPI-Py.git cd SPI-Py/ sudo python setup.py install

11. Extrahieren Sie diese Dateien aus der ZIP-Datei im Home-Verzeichnis Ihres Benutzers – d. h. /home/pi.

12. Starten Sie den Pi neu und starten Sie Node-Red erneut.

13. Testen Sie den Kartenleser, indem Sie das Skript über die Befehlszeile ausführen

cd ~

Python rfidreader.py

Wenn Sie ein Etikett innerhalb von ~ 1 cm des Hauptbereichs des Kartenlesers bewegen, druckt das Skript die eindeutige UID der Karte und ihren Typ. Es gibt verschiedene Arten von Karten, die gebräuchlichsten heißen MIFARE 1KB, aber es gibt noch andere. Nicht alle Karten verwenden das gleiche HF-Kommunikationsprotokoll. Seien Sie also nicht überrascht, wenn eine zufällig aufgenommene Karte nicht erkannt wird. Merken Sie sich die UID Ihrer Tags für später.

Schritt 5: Erstellen Sie einen Node-RED-Flow zum Lesen Ihres RFID-Tags und Farbsensors

Erstellen Sie einen Node-RED-Flow zum Lesen Ihres RFID-Tags und Farbsensors
Erstellen Sie einen Node-RED-Flow zum Lesen Ihres RFID-Tags und Farbsensors
Erstellen Sie einen Node-RED-Flow zum Lesen Ihres RFID-Tags und Farbsensors
Erstellen Sie einen Node-RED-Flow zum Lesen Ihres RFID-Tags und Farbsensors
Erstellen Sie einen Node-RED-Flow zum Lesen Ihres RFID-Tags und Farbsensors
Erstellen Sie einen Node-RED-Flow zum Lesen Ihres RFID-Tags und Farbsensors

Verbinden Sie sich über einen Browser mit Node-RED auf Ihrem Pi – entweder von einem anderen Computer oder auf dem Pi selbst.

1. Klicken Sie oben rechts auf das Hamburger-Symbol neben der roten Bereitstellungsschaltfläche.

2. Gehen Sie zu Importieren und klicken Sie auf Zwischenablage.

3. Kopieren Sie den gesamten Textinhalt in die Datei node-red-flow.txt und fügen Sie ihn in die Zwischenablage ein und drücken Sie auf Importieren.

4. Wir müssen sicherstellen, dass alles richtig konfiguriert ist. Klicken Sie zunächst auf den orangefarbenen seriellen Knoten (oben links). Klicken Sie auf das Stiftsymbol und dann auf das Suchersymbol und wählen Sie den seriellen Port aus, mit dem das Arduino verbunden ist. Klicken Sie dann auf die rote Schaltfläche Aktualisieren, gefolgt von der roten Schaltfläche Fertig.

5. Als nächstes konfigurieren wir den lila MQTT-Knoten (neben dem seriellen Knoten). Klicken Sie auf das Stiftsymbol. Geben Sie die IP-Adresse des Brokers ein. Klicken Sie nach Abschluss auf die rote Schaltfläche Aktualisieren und die rote Schaltfläche Fertig.

6. Schließlich konfigurieren wir den orangefarbenen Funktionsknoten namens JSON to Object neben dem RFIDReader-Knoten. Die Funktion enthält eine switch-Anweisung. Dies nimmt die UID von Tags und benennt sie um. In unserem Fall hatten wir zwei Tags, die wir in Benutzer 1 und Benutzer 2 umbenannt haben.

WICHTIGER HINWEIS: Wenn Sie mehr als zwei Tags verwenden möchten, müssen Sie die Skripte/den Ablauf ändern.

Schritt 6: Bereitstellen und Dashboard

Bereitstellung und Dashboard
Bereitstellung und Dashboard
Bereitstellung und Dashboard
Bereitstellung und Dashboard
Bereitstellung und Dashboard
Bereitstellung und Dashboard
Bereitstellung und Dashboard
Bereitstellung und Dashboard

Alles ist eingerichtet und einsatzbereit. Drücken Sie oben rechts auf die rote Schaltfläche Bereitstellen.

Klicken Sie auf das Balkendiagramm-Symbol darunter, gefolgt von dem Symbol, das wie ein Kästchen mit einem Pfeil aussieht. Es sollte ein neues Fenster mit den Widgets RFID&SENSOR TABLE und RFID-RC522 erscheinen.

Klicken Sie auf die Schaltfläche Erstellen, um eine neue Tabelle zu erstellen und mit dem Testen Ihrer Tags zu beginnen. Sie sollten die Tabelle sehen, die die verschiedenen Tags, die Anzahl der erkannten Punkte/Zeiten und das Datum/die Uhrzeit anzeigt. Währenddessen sollte auf dem Steckbrett die grüne LED aufleuchten, wenn ein Tag erkannt wird, andernfalls leuchtet das rote Licht. (Um die Tabelle zu löschen, drücken Sie Clear und um die Tabelle zu löschen, drücken Sie Delete). Der Farbsensor sollte auf die gleiche Weise funktionieren. Wenn die Tasse erkannt wird, wird der schwarze Punkt grün.

Schritt 7: Zukunft

  • Besser aussehende Benutzeroberfläche
  • Mehr Benutzer
  • Kamera-/Fotodatenbank für genauere Kaffeetassenerkennung
  • Senden Sie Punktaktualisierungen an Twitter-Konten