Inhaltsverzeichnis:
- Schritt 1: Die Teile
- Schritt 2: Die Montage
- Schritt 3: Programmierung des Arduino Yun
- Schritt 4: Installation von MySQL
- Schritt 5: Installation von PHP5
- Schritt 6: Installation des Connectors MySQL für PHP5 und Python
- Schritt 7: Codes
- Schritt 8: Dateien Python
- Schritt 9: Dateien PHP
- Schritt 10: Schließlich das Programm des Arduino YÚN
- Schritt 11: Frohes neues Jahr
Video: Kontrollieren Sie den Zugriff von Arduino YÚN mit MySQL, PHP5 und Python - Gunook
2024 Autor: John Day | [email protected]. Zuletzt bearbeitet: 2024-01-30 07:19
Hallo Freunde!
Nun, wie Sie wissen, im September das neue Premiere-Shield von Arduino, Arduino YUN. Dieser kleine Freund hat ein Linux-Embedded-System, mit dem wir alles ausführen können, was Sie sich vorstellen können (zumindest bisher). Zwar gibt es sehr wenig Informationen zu diesem neuen Board, aber mit Abgang in der Anleitung, die die Arduino-Seite bereitstellt (die später verlinkt wird), plus ein wenig Wissen über viele Linux, lässt sich ein großes Projekt mit Control Access durchführen. Dieses Mal werde ich erklären, wie dieses Projekt durchgeführt wird, aber auf eine ausreichende Weise durch unser Arduino. Dies funktioniert dank eines MySQL-Datenbankservers, der sich in unserem YUN ansiedelt. Diese Datenbank speichert zwei Tabellen, eine für Benutzer, die mit einem bestimmten RFID verbunden sind, und eine andere Tabelle, um Aufzeichnungen über alle Karten zu führen, die durch unseren Leser gegangen sind. Während wir die Programmiersprachen PHP und Python-Skripte verwenden, um einige grundlegende durchzuführen und mit unseren Daten zu arbeiten. Darüber hinaus verwenden wir als Hardware-Overhead einen Leser ID-20 neben einem seriellen LCD mit 16 Zeichen sowie einer RGB-LED, die unsere Informantenstatus sein werden. Wir können diese Zugriffskontrolle verwenden, alles, was uns einfällt, modifizieren und ein Relais oder eine andere Idee hinzufügen. Es kann für alles verwendet werden, wo Sie Karten haben und eine Aufzeichnung wünschen. Denken Sie daran, dass dieses Dokument eine kostenlose Veröffentlichung ist, kommerzielle Nutzung und ausgenommene Änderungen sind nicht erlaubt. Ich hoffe, es ist ein weitaus umfangreicherer Weg der Open-Source-Elektronik. Also gehen wir zum nächsten Schritt, den die Parteien brauchen!
Schritt 1: Die Teile
Für dieses Projekt benötigen wir: * Arduino YUN https://www.sparkfun.com/products/12053 $71.95 * RFID Reader ID-20 (125 kHz) https://www.sparkfun.com/products/11828 34,95 $ * RFID-Lesegerät Breakout https://www.sparkfun.com/products/8423 0,95 $ * Einfaches 16x2 Zeichen LCD 5V https://www.sparkfun.com/products/790 16,95 $ * Seriell aktivierter LCD-Rucksack https://www. sparkfun.com/products/258 $16.95 * LED RGB 5mm https://www.sparkfun.com/products/105 $1.95 * Summer https://www.sparkfun.com/products/7950 $1.95 * Somes Header Pin und Draht $5.00 ca.. Alles in allem, wenn Sie im Geschäft Sparkfun kaufen, wird alles in der Nähe von 150 US-Dollar liegen. Wenn Sie in Lateinamerika leben, würde ich empfehlen, die Teile bei www.olimex.cl zu kaufen, einem sehr guten chilenischen Elektronikgeschäft.
Schritt 2: Die Montage
Wenige Verbindungen zu tun, die Festlegung kurz erklären. Für RGB-LED muss der rote LED-Pin auf Pin 9 des Arduino liegen, die grüne LED sollte auf Arduino Pin 8 gehen und die blaue LED sollte auf Pin 7 des Arduino liegen. Für den ID-20 müssen Sie die folgenden Pins wie in der Tabelle angegeben in entsprechender Reihenfolge verbinden, Pinleser mit Arduino Pin: Pin ID-20 zu Pin Arduino ID-20 / Arduino PIN 1 -- GND PIN 2 -- 5V PIN 7 -- GND PIN 9 -- PIN 10 PIN 10 -- SUMMER PIN 11 -- 5V Und schließlich werden für den seriellen LCD-Anschluss nur 5V und GND-Pins des Arduino benötigt, während der serielle LCD-RX-Pin an Pin 11. geht des Arduinos.
Schritt 3: Programmierung des Arduino Yun
Um unser Projekt zu erstellen, müssen wir mit dem Teil der Software beginnen und einige Dateien auf unserem Arduino opkg Yun installieren:
- MySQL-Server
- PHP5
- MySQLdb für Python 2.7
- Mod von PHP5 zu MySQL
Denken Sie daran, dass in Bridge standardmäßig Python 2.7 installiert ist, sodass Sie dafür nie ein Update installieren müssen. Starten Sie die Protokollierung von SSH wagen Sie es, unser Arduino Yun einzugeben. Geben Sie nach dem Start den folgenden Befehl ein, um die Liste der Anwendungen opkg zu aktualisieren:
opkg-Update
Schritt 4: Installation von MySQL
Jetzt werden wir die Installation und Konfiguration von MySQL Server einrichten, geben Sie die folgenden Befehle in die Konsole ein:
- opkg install libpthread libncurses libreadline mysql-server
- sed -i 's, ^datadir.*, datadir = /srv/mysql/, g' /etc/my.cnf
- sed -i 's, ^tmpdir.*, tmpdir = /tmp/, g' /etc/my.cnf
- mkdir -p /srv/mysql
- mysql_install_db –-force
- /etc/init.d/mysqld start
- /etc/init.d/mysqld aktivieren
- mysqladmin -u Root-Passwort 'tu-nueva-clave'
Sobald Sie mit der Eingabe unserer Codes fertig sind und den MySQL-Server gestartet haben, sollten Sie die Datenbank konfigurieren, die manipuliert wird. Bevor wir jedoch mit der Eingabe der Codes beginnen, müssen wir die Felder verstehen, die unsere Tabelle enthalten. Der Vorstand soll aus 5 Kursen bestehen, 'id', 'name', 'name', 'email', 'rfid', um einige von ihnen zu vermarkten. Ich werde ihre Verwendung kurz erklären.
- 'id': ist das Feld oder die Attribut int-Spalte, die uns die der Benutzer-ID zugewiesene Nummer mitteilt. Diese Nummer wird von derselben Datenbank zugewiesen und dient zur Indexierung unserer Datensätze.
- 'nombre': Attributspalte wird 'varchar' sein kann durch den Namen angegeben werden, mit dem unser Kartenbenutzer identifiziert wird.
- ' apellido': Attributspalte wird ' varchar ' sein kann durch den Nachnamen angegeben werden, mit dem unser Benutzer verbunden ist.
- 'correo': ist die Attributspalte 'varchar', die die E-Mail des zugehörigen Benutzers enthält.
- 'rfid': ist die Attributspalte 'varchar', die den Code der von Ihnen verwendeten RFID-Karte enthält.
(Ich werde die Variablen auf Spanisch verwenden, weil dies meine Muttersprache ist und ich c mag:) Jetzt können wir unsere Datenbank problemlos konfigurieren, daher erstellen wir einen 'arduino'-Aufruf MySQL. Sie müssen den folgenden Code eingeben:
mysqladmin -u root -p arduino erstellen
Wir fragen nach dem Passwort, das wir zuvor bei der Installation eingegeben haben, wir werden es übermitteln, um die Erstellung der Basis abzuschließen. Wenn das alles fertig ist, geben wir die Abfrage an MySQL ein, Sie sollten den folgenden Code in die Konsole eingeben:
mysql -root -p
Auch hier fragen wir nach dem Passwort, Sie müssen es erneut übermitteln. Sobald wir uns im MySQL-Konsolenbefehl befinden, sollte der Zeiger ('mysql>') eingabebereit erscheinen. Das erste, was wir tun werden, ist, die Basis für 'arduino'-Daten zu verschieben, um daran zu arbeiten. Dies geschieht durch Eingabe des folgenden Befehls in der MySQL-Konsole:
NUTZUNG arduino
Wir glauben, dass die Namenstabelle 'usuariosrfid' in der Datenbank für dieses Projekt verwendet wird, geben Sie diesen Code in die MySQL-Konsole ein:
- CREATE TABLE `usuariosrfid` (
- `id` int(255) NICHT NULL AUTO_INCREMENT,
- `nombre` varchar(300) NICHT NULL,
- `apellido` varchar(300) NICHT NULL,
- `correo` varchar(300) NICHT NULL,
- `rfid` varchar(300) NICHT NULL,
- PRIMÄRSCHLÜSSEL (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=latein1 AUTO_INCREMENT=0;
* Denken Sie daran, dass das Drücken der EINGABETASTE am Ende der Befehlszeile in der MySQL-Konsole nicht ausgeführt wird, bis Sie das ';' Daher steht am Ende des Codes ';' Um die Installation und Konfiguration von MySQL abzuschließen, füllen wir einige Testfelder in unserer Basis aus. Geben Sie die folgenden Zeilen ein:
- EINFÜGEN IN `usuariosrfid` (`id`, `nombre`, `apellido`, `correo`, `rfid`) WERTE
- (1, 'Pedro', 'Suarez', '[email protected]', '1234a-12345-b-123c'),
- (4, 'Matias', 'Lopez', '[email protected]', '987a-9876b-987c');
Fahren Sie nun mit der Erstellung der Tabelle 'ControlUsuarios' fort, die alle vom Leser passierenden RFID-Codes aufnehmen wird. Diese Tabelle besteht aus 3 Feldern, 'id', 'rfid', 'date'.
- 'id' ist das Feld oder die Attribut int-Spalte, die die ID jedes Datensatzes für die Indizierung enthält.
- 'rfid'-Attribut ist die Spalte 'varchar', die den RFID-Tag-Code enthält, der vom Leser gelesen wurde.
- 'date' ist die Attributspalte 'varchar', die das Datum enthält, an dem die Karte gelesen wurde.
Um die Tabelle 'ControlUsuarios' zu erstellen, geben wir folgenden Code in die MySQL-Konsole ein:
- CREATE TABLE `ControlUsuarios` (
- `id` int(255) NICHT NULL AUTO_INCREMENT,
- `rfid` varchar(300) NICHT NULL,
- `fecha` varchar(300) NICHT NULL,
- PRIMÄRSCHLÜSSEL (`id`)
- ) ENGINE=MyISAM DEFAULT CHARSET=latein1 AUTO_INCREMENT=0;
Geben Sie schließlich 'exit;' in der Konsole, um die MySQL-Abfrage zu beenden und zu SHH zurückzukehren, damit wir mit PHP5 beginnen können.
Schritt 5: Installation von PHP5
Fahren Sie mit der Installation und Konfiguration von PHP5 fort. Diese Installation ist einfacher als MySQL, daher sollte sie nichts kosten. Installieren Sie zuerst das opkg-Paket aus dem Arduino Yun, das Sie herunterladen und installieren, also geben Sie dies in der SSH-Konsole von Arduino ein:
opkg installieren php5 php5-cgi
Einmal heruntergeladen und PHP5 auf unserem Arduino Yun installiert, so dass wir die Root-Datei uHTTPd konfiguriert haben, den HTTP-Server, der Arduino-Standard bringt, empfehle ich Ihnen, nur diesen http-Server zu verwenden, da er vielseitiger und zugänglicher in der Konfiguration ist, nicht Apache oder Lighttpd sind schwieriger einzurichten, wenn Sie neu in diesem Bereich sind. Um dies zu konfigurieren, verwenden Sie den Dateieditor 'vi' SSH, dafür müssen Sie über Mindestkenntnisse verfügen, um diesen Editor zu verwenden. Beginnen Sie mit der Eingabe dieses Codes in der Konsole, um auf die Einstellungsdatei uHTTPd zuzugreifen:
vi /etc/config/uhttpd
Drücken Sie 'i', um die Datei zu bearbeiten, und gehen Sie dann zu der Codezeile, die Sie geschrieben haben '# list interpreter. "php = /usr/bin /php-cgi"'. Sie müssen das Zeichen '#' am Anfang der Zeile löschen, dann die Escape-Taste (Taste 'ESC') drücken. Sie müssen den Server uHTTPd neu starten, dazu sollten Sie in der Befehlskonsole von SSH folgenden Code eingeben:
/etc/init.d/uhttpd Neustart
Schritt 6: Installation des Connectors MySQL für PHP5 und Python
Fahren Sie mit der Installation und Konfiguration der Module fort, um die MySQL-Datenbank mit PHP und Python zu verbinden. Beginnen wir mit dem PHP-Connector. Geben Sie den folgenden Code ein:
- opkg installiere php5-mod-mysql
- sed -i 's,;extension=mysql.so, extension=mysql.so, g' /etc/php.ini
Sobald es fertig ist, muss der Server uHTTPd nicht neu gestartet werden, er ist sofort einsatzbereit. Fahren Sie nun mit dem Konnektor für Python fort, dafür müssen Sie folgenden Code eingeben:
opkg installiere python-mysql
Mit diesem letzten Schritt haben wir unseren Arduino Yun für unser Projekt mit dem Kartenleser ID-20 RFID 125khz bereit. Beenden Sie diesen Teil mit Feedback zu dem, was wir getan haben:
- Wir haben den MySQL-Server auf unserem Arduino Yun installiert, dann konfiguriert und mit dem Einfügen von Testdaten abgeschlossen.
- Installieren Sie die PHP-Ergänzung auf unserem Server.
- Wir haben die Installation und Konfiguration von MySQL Connector für PHP und Python abgeschlossen.
Schritt 7: Codes
In diesem Bereich besprechen wir die für dieses Projekt zu verwendenden Programmiercodes. Wir verlassen mit Python-Code, der in zwei Dateien unterteilt ist: 'comprobar.py', die eine Verbindung zur Datenbank herstellt und Yun Arduino sucht, wenn das Ergebnis darin enthalten ist, und die Datei 'control. py ', verantwortlich für die Aufzeichnung jeder Karte, die vom Leser ID-20 gelesen wird, unabhängig davon, ob sie in der Datenbank der registrierten Benutzer enthalten ist oder nicht. Fahren Sie dann mit der Beschreibung der PHP-Dateien fort, sind: 'consultaRelacion.php', 'consultaControl.php', 'index.php' 'modificar2.php', 'modificar.php', 'borrar.php', 'delete2. php ', ' guardar.php '' consulta.php ', ' configuracion.php '. Für diese Dateien redundaremos beide, weil sie leicht zu verstehen sind. Schließen Sie schließlich mit dem Code ab, der als unsere Arduino-Skizze angezeigt wird.
Schritt 8: Dateien Python
Wie bereits erwähnt, funktionierten unsere Python-Skripte mit der Bibliothek oder Klasse 'MySQLdb', die bereits zuvor installiert wurde. Beginnen Sie damit, eine Datei mit '.py' namens 'comprobar.py' in unserem Editor zu erstellen. Ich empfehle diese Fälle für die Programmierung in Python, dem Editor Sublime Text 3, den Sie auf deren Website www.sublimetext.com herunterladen können. Beginnen wir mit dem Importieren der Bibliothek, um eine Verbindung zu unserer MySQL-Datenbank herzustellen, der Bibliothek 'sys', die es uns ermöglicht, mit unserem Arduino Yun zu kommunizieren:
- MySQLdb importieren
- Importsystem
Nach dem Import dieser Bibliotheken oder Klassen fügen wir Ihrem Code Variablen hinzu, die die Verbindungsdaten aus unserer MySQL-Datenbank bone:
- host = "127.0.0.1" # entspricht der Adresse unseres MySQL-Servers.
- user = "your-seat" # ist der Benutzer unserer Datenbank.
- passw = "your-password" ist für das Passwort des Benutzers. base = "arduino" # Dies ist der Name der verwendeten Datenbank.
Beginnen Sie nun mit den Basisskriptcodes:
- während Wahr:
- db= MySQLdb.connect(host, user, passw, base)
- cur = db.cursor()
- resultado = cur.execute("""SELECT * FROM usuariosrfid WHERE rfid LIKE %s ORDER BY id""", (sys.argv[1],))
- if (resultado == 1):
- 1. drucken
- sys.exit(1)
- anders:
- 2. drucken
- sys.exit(1)
Wenn wir erkennen, im Urteil 'cur.execute result = ("" "SELECT * FROM WHERE rfid usuariosrfid LIKE% s ORDER BY id" "" (sys.argv [1]))' Befehl, um unsere Abfrage auszuführen, vergleichen Sie die Variable '(sys.argv [1])', was der Code von der Arduino-RFID-Karte mit allen Felddaten ist return 1, wenn dies nicht wahr ist und es keine Gleichheit zwischen dem Code vom Arduino und einem Teil der Basis gibt, geben wir 2 zurück. Diese Zahlen werden vom Arduino empfangen. Wir fahren mit der nächsten Datei 'control.py' fort. Diese Datei funktioniert genauso wie oben, nur einen Nachgeschmack auf einem Tisch. Diese gespeicherten Datensätze werden von dem mit unserem Arduino Yun verbundenen Leser ID-20 gesammelt, damit wir alle registrierten Benutzer behalten können, die unseren RFID-Leser verwenden.
Schritt 9: Dateien PHP
Fahren Sie dann mit den Dateien fort. ' Php', das den Ordner von unserem Server behält. Denken Sie dazu daran, dass diese Dateien, sobald sie fertig sind, im Sketch unseres Projekts gespeichert werden, der automatisch die IDE Arduino generiert Dies, dass, wenn wir zu unserer Arduino-Skizze Yun gehen, wir über Wi-Fi hochladen, also lasse ich es auf der gleichen Seite Handbuch Arduino, www.arduino. cc / de / Guide / Arduino Yun # toc14, der mehr darüber erklärt und wie Sie eine MicroSD-Karte für diese Art von Projekt vorbereiten sollten, bei der die Dateien auf dem Server gespeichert werden sollen. Die PHP-Dateien sind 10 ' consultaRelacion.php ', ' consultaControl.php ', ' index.php' ' modificar2.php ', ' modificar.php ', ' borrar.php ', ' borrar2.php ', 'guardar. php ' ' consulta.php ', ' configuracion.php ', die mit den anderen verlinkt werden, um ein Basismenü zu erhalten, das immer aktiv und zugänglich ist. Erklären Sie einfach die Datei 'configuracion.php', die als Konnektor mit unserer Datenbank fungiert. In unserem Editor planen wir folgenden Code in der Datei ein:
- <? php
- // Datenserver und Datenbank
- $server = "localhost";
- $ username = "Ihr Platz";
- $ passwort = "passwort";
- $ database_name = "arduino";
Dies sind die Daten, die eine Verbindung zu unserer Datenbank im Arduino herstellen müssen, werden die gleichen sein, die wir in unseren Python-Skripten verwenden. Beenden Sie die Programmierung der Connect-Anweisung, die unser Skript verwendet hat:
- $conexion=mysql_connect($server, $username, $password) or die("Problemas al tratar de establecer la conexion");
- $bd_sel=mysql_select_db($database_name) or die("Probleme bei der Auswahl der Datenbasis");
- ?>
Die anderen Dateien sind angehängt.
Schritt 10: Schließlich das Programm des Arduino YÚN
Wir sind zum Hauptteil dieses Tutorials gekommen, der Programmierung unseres Arduino Yun. Keine Details werden den gesamten Code hervorheben, da er ziemlich umfangreich ist. Erwähnen Sie nur die folgenden wichtigen Punkte:
- Der Code besteht aus 6 Hauptfunktionen und 13 Nebenfunktionen, die nur eine Unterstützung für die Verwendung des Serial LCD darstellen.
- Importiert werden nur drei Klassen, 'SoftwareSerial.h', mit denen wir Serial Attached eingeben, um eine Verbindung mit dem ID-20 und Serial LCD herzustellen, die Hauptklasse 'Bridge.h', mit der wir die Verbindung zwischen Linux und ATMEGA32U4 herstellen, und die Klasse 'Process.h' wird für Beratungsprozesse in Linux dienen.
- Definieren Sie nur drei Pins, die andere frei verwenden.
Der Code ist beigefügt
Schritt 11: Frohes neues Jahr
Ich setze dies akribisch fort, um Ihnen zu dienen und Ihnen zu helfen, mehr Informationen über das Arduino Yun zu erhalten. Lassen Sie alle Dateien am Ende angehängt. Für Sprecher der spanischen Sprache lasse ich dieses Tutorial jedoch auf Spanisch mit den erforderlichen Dateien. Ich wünsche Ihnen ein frohes neues Jahr, viel Spaß und Erfolg in diesem Jahr 2014!
Empfohlen:
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Erfahren Sie, wie Sie mit PROCESSING eine Echtzeitschnittstelle in ARDUINO erstellen !!!!): 5 Schritte (mit Bildern)
SCARA-Roboter: Lernen über Vorwärts- und inverse Kinematik !!! (Plot Twist Learn How to Make a Real Time Interface in ARDUINO Using PROCESSING !!!!): Ein SCARA-Roboter ist eine sehr beliebte Maschine in der Industriewelt. Der Name steht sowohl für Selective Compliant Assembly Robot Arm als auch für Selective Compliant Articulated Robot Arm. Es ist im Grunde ein Roboter mit drei Freiheitsgraden, da er die ersten beiden Displ
Scratch mit Makey Makey Click kontrollieren – wikiHow
3 Möglichkeiten zur Steuerung von Kratzern mit Makey Makey Click: In dieser Anleitung lernen Sie DREI Möglichkeiten kennen, den "Klick" Eingabe mit Scratch. Wir zeigen Ihnen auch, wie Sie auf die Rückseite Ihres Makey Makey klicken
Kontrollieren Sie die LED aus Ihrem WiFi-Netzwerk! SPEEEduino V1.1: 4 Schritte (mit Bildern)
Kontrollieren Sie die LED von Ihrem WiFi-Netzwerk aus! SPEEEduino V1.1: Was ist das SPEEEduino? Das SPEEEduino ist ein Wi-Fi-fähiges Mikrocontroller-Board, das auf dem Arduino-Ökosystem basiert und für Pädagogen entwickelt wurde. Der SPEEEduino kombiniert den Formfaktor und den Mikrocontroller des Arduino mit dem ESP8266 Wi-Fi SoC, wodurch
Remote-SSH-Zugriff auf Raspberry Pi 2: 5 Schritte
Remote-SSH-Zugriff auf Raspberry Pi 2: Wollten Sie schon immer einen Raspberry Pi "im Feld" und trotzdem darauf zugreifen können? Hier ist eine einfache Möglichkeit, den Remote-SSH-Zugriff auf Ihren Raspberry Pi 2 (und auch andere Modelle) zu aktivieren. Es gibt zwar Lösungen, die ein VPN beinhalten oder einen Por
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Hinzugefügte Informationen: 4 Schritte
So erhalten Sie Musik von fast jeder (Haha) Website (solange Sie sie hören können, können Sie sie bekommen … Okay, wenn sie in Flash eingebettet ist, können Sie es möglicherweise nicht) BEARBEITET!!!!! Zusätzliche Informationen: Wenn Sie jemals auf eine Website gehen und ein Lied abspielen, das Sie mögen und es wollen, dann ist hier das anweisbare für Sie, nicht meine Schuld, wenn Sie etwas durcheinander bringen (nur so wird es passieren, wenn Sie ohne Grund anfangen, Dinge zu löschen) ) Ich konnte Musik für