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

So erstellen Sie eine Website, die Arduino mithilfe von PHP kommuniziert

Komponenten und Verbrauchsmaterialien

Arduino UNO
× 1
Arduino Ethernet Shield 2
× 1
DHT11 Temperatur- und Feuchtigkeitssensor (4 Pins)
× 1
2-Wege-Relais
× 4
Mini-Breadboard
× 1
Flammensensor
× 1
MQ4-Gassensor
× 1
LDR
× 1
Hygrometersensor
× 3
ADSL-Router-Kabel
× 1
Stecker (einseitig)
× 7
Socket (one way)
× 7
9-V-Batterie
× 1
9-V-Batteriekabel
× 1

Notwendige Werkzeuge und Maschinen

Heißklebepistole (generisch)

Apps und Onlinedienste

Der Apache HTTP Server
Notepad++
Arduino-IDE

Über dieses Projekt

Aktualisieren

Wie verwendet man TheAmplituhedron.com, um IoT-Projekte zu verbessern? ist mein neues Projekt, das die serverseitige Programmierung für Sie übernimmt. Indem Sie TheAmplituhedron.com als Host verwenden, können Sie Datenpakete mühelos über das Internet senden und abrufen.

Um meine Projekte und Artikel zu unterstützen, kannst du meine Website hier besuchen :)

Beschreibung

Erstellen einer professionellen Website zur Steuerung meines Aquariums und meines Bewässerungssystems in meinem Zuhause und

Die Informationen über das Haus zu erhalten, wenn ich nicht zu Hause bin, ist der Hauptaspekt dieses Projekts.

Um dieses Ziel zu erreichen, habe ich das Arduinautomotion-Projekt erstellt, das 4 verschiedene HTML-Seiten umfasst (Arduinautomotion.php, Arduinautomotioncontrol.php, Arduinautomotionformvalue.php, Arduinautomotioncommunication.php) in meinem Apache localhost.

Außerdem hostet das Arduino Ethernet Shield eine weitere HTML-Webseite (ArduinoSide.php), die mit der gewählten IP-Adresse erreicht werden kann, um mit der Arduinautomotion-Website zu kommunizieren.

Ich hatte über dieses Projekt nachgedacht, da ich für 2 Wochen Urlaub machen musste und ich deswegen die Einstellungen meines Aquariums nicht vornehmen konnte. Manchmal muss ich den Innenfilter abschalten, um zu verhindern, dass der Sauerstoffgehalt im Aquarium ansteigt, oder ich muss meinen Futterautomat öffnen, um die Fische aus der Ferne zu füttern. Ich habe sechs Optionen hinzugefügt, um den Inhalt meines Aquariums zu steuern, und eine Option, um das Bewässerungssystem zu aktivieren.

Darüber hinaus können Sie mit Arduinautomotion über Arduino Ethernet Shield ganz einfach die Daten über das Haus (z. B. Temperatur- und Feuchtigkeitswerte vom DHT11-Sensor oder Methangaswert im Haus vom MQ4-Sensor) abrufen.

Daher verfügt die Website von Arduinautomotion über eine einfache Schnittstelle, um Daten über das Haus von Arduino zu erhalten und zu senden.

Kenntnisse in den Sprachen HTML, CSS, JavaScript, PHP und jQuery sind erforderlich, um den Inhalt des gesamten Projekts zu verstehen, sodass dies nur ein Schaufenster für das Projekt ist. Wenn Sie die Sprachen jedoch kennen, finden Sie alle Webseiten, die das Projekt umfasst, als PHP-Codedateien unten.

Hinweis:Ich habe Notepad++ verwendet, um die Webseiten zu programmieren.

So senden und empfangen Sie Daten zwischen zwei PHP-Webseiten

Ich habe HTML-Formulare, PHP-Methoden und PHP $_SESSION [""] verwendet, um Daten zwischen den Webseiten zu erhalten und zu senden. Get Method ist einfacher als Post Method für die Kommunikation zu verwenden, aber Post Method ist sicherer als Get Method, so dass ich Post Method verwendet habe, um zwischen den Webseiten mit Ausnahme der ArduinoSide-Webseite zu kommunizieren. Get Method ist jedoch der einfachste Weg, um mit Arduino Ethernet Shield zu kommunizieren, da HTTP GET Request viel einfacher ist als Post Request, daher habe ich Get Method für die ArduinoSide-Webseite verwendet. Darüber hinaus ist PHP $_SESSION [""] die Möglichkeit, die Daten zwischen den mehr als zwei Webseiten dauerhaft zu speichern.

https://www.w3schools.com/php/php_forms.asp

https://www.w3schools.com/php/php_sessions.asp

So richten Sie die Website auf dem Apache HTTP Server (Localhost) ein

Der Apache HTTP Server ist für diese Art von Hosting effizient, aber Sie können stattdessen den XAMPP oder einen anderen Hosting-Server wählen. In meinem Fall AppServ>> www>> Arduinautomotion.php und deren Inhalt. Ich habe meine eigene IP-Adresse ("192.168.1.20" bezieht sich auf Localhost) verwendet, um auf die Webseiten zuzugreifen, aber Sie müssen Ihre IP-Adresse verwenden (als http://yourIPAddress/Arduinautomotion.php).

http://editrocket.com/articles/php_apache_windows.html

Alle Inhalte, die Arduinautomotion.php an benutzerdefinierten Teilen unten hinzugefügt hat.

So verbinden Sie sich mit Ihrem Localhost von Android-Geräten

Windows unterscheidet sich für diesen Job von MAC, aber der Link unten kann für Windows hilfreich sein.

https://stackoverflow.com/questions/4779963/how-can-i-access-my-localhost-from-my-android-device

Danach können Sie im selben Wİ-Fİ-Netzwerk einfach mit Ihrer eigenen IP-Adresse auf Arduinautomotion.php zugreifen.

So greifen Sie über WLAN auf Ihren Localhost zu

Windows unterscheidet sich für diesen Job von MAC, aber der Link unten kann für Windows hilfreich sein.

Es funktioniert mit Ihrer externen IP-Adresse, aber Sie wissen, dass nur Sie die externe IP-Adresse kennen, da dies eine gefährliche Art des Hostens sein kann.

https://stackoverflow.com/questions/5524116/accessing-localhost-xampp-from-another-computer-over-lan-network-how-to

Außerdem müssen Sie die Portweiterleitung verwenden, um auf ArduinoSide.php zuzugreifen, und es funktioniert mit der IP-Adresse, die Sie im ArduinoSide-Code unten auswählen.

https://en.wikipedia.org/index.php?q=aHR0cHM6Ly9lbi53aWtpcGVkaWEub3JnL3dpa2kvUG9ydF9mb3J3YXJkaW5n

Arduinoautomotion.php

Es ist die Hauptseite zur Kommunikation mit Arduino Ethernet Shield. Sie können von dieser Seite Befehle an Arduino geben und die Daten über das Haus einfach von Arduino abrufen.

Das Änderungsmenü erklärt die sich ändernden Situationen und zeigt an, welcher Teil ein Objekt und welcher ein Sensor ist, indem die Farbe der Teile geändert wird.

Durch die wechselnden Kreise werden die Werte der Sensoren und die Situationen der Objekte angezeigt.

1) Raumabschnitt

Alle Daten über den Raum, die von Arduinautomotioncommunication.php stammen, werden im Raumabschnitt angezeigt.

Vorher:

Nachher:

2 )Aquarium

Welche Kombinationen Sie auch immer für die Teile des Aquariums mit den HTML-Formularen wählen, werden an Arduinautomotionformvalue.php gesendet, danach wird es als Ausgabe von Arduinautomotioncontrol.php an Arduinautomotion.php zurückgegeben.

Vorher:

Nachher:

3) Pflanzenteil

Die Werte des Hygrometersensors können beobachtet werden und das Starten des Bewässerungssystems kann anhand von Werten berücksichtigt werden. Als Aquarium Section werden die Daten als Ausgabe von Arduinautomotioncontrol.php an Arduinautomotion.php zurückgegeben.

Vorher:

Nachher:

4) Leitfadenbereich

Es enthält die Webseite Arduinautomotionformvalue.php, um die Auswahl des Formulars erneut zu beobachten. Darüber hinaus enthält es einige Anweisungen zum Projekt und ein Bild, das den Kommunikationsprozess erklärt.

5 )Alarmbox

Welche Werte auch immer im Gefahrenbereich liegen, beim erneuten Laden der Webseite Arduinautomotion.php erscheint eine Alert Box, die eine Spider-Man-Videodatei und eine Audiodatei ("Spider-sense is tingling") enthält.

6) Teile von Arduinautomotion.php

Die in der Größe anpassbaren Websites als Richtlinien:

Die ganzen sich ändernden Kreise:

Fußzeile:

Arduinoautomotioncontrol.php

Es ist in die Webseite Arduinautomotion.php eingebettet, um alle Daten als $_SESSION [" "] von Arduinautomotionformvalue.php und Arduinautomotioncommunication.php zu erhalten.

Es speichert die Daten dauerhaft über die PHP-Seiten.

Arduinautomotionformvalue.php

Es holt sich die Auswahlen des Formulars aus der Arduinautomotion.php und sendet ihnen ArduinoSide und Arduinautomotioncontrol.php. Es ist in den Guide-Bereich der Webseite Arduinautomotion.php eingebettet, aber auch über eine neue Registerkarte zugänglich.

Arduinoautomotioncommunication.php

Die Daten von ArduinoSide werden von Arduinautomotioncommunication.php gespeichert, danach werden die Daten automatisch an Arduinautomotioncontrol.php gesendet.

ArduinoSide

Es wird von Arduino Ethernet Shield über DNS gehostet und Sie können mit der IPAddress darauf zugreifen, die Sie im ArduinoSide-Code unten auswählen (als https://yourChosenIPAddress ).

Verbindungen

Stellen Sie einfach die Verbindungen her, wie es im ArduinoSide-Code und dem Fritzing-Bild unten erklärt wird. Verbinden Sie die Einwegstecker und -buchsen mit den 2-Wege-Relais und kleben Sie alle Komponenten auf eine Ebene wie eine Korkplatte.

Arduino

DHT11-Modul

Pin 2 -------------------------

2-Wege-Relais (1)

Pin 3 -------------------------

Pin 4 -------------------------

2-Wege-Relais (2)

Pin 5 -------------------------

Pin 6 ----------------------------------

2-Wege-Relais (3)

Pin 7 -------------------------

Pin 8 -------------------------

2-Wege-Relais (4)

Pin 9 ----------------------------------

Arduno Ethernet-Abschirmung

Pin 10 --------------------------

Pin 11 --------------------------

Pin 12 --------------------------

Pin 13 --------------------------

LDR

AO --------------------------

Flammensensor

A1 --------------------------

MQ4-Sensor

A2 --------------------------

Hygrometermodul (1)

A3 --------------------------

Hygrometermodul (2)

A4 --------------------------

Hygrometermodul (3)

A5 --------------------------

Der Arduino-Code ähnelt im Wesentlichen dem WebServer-Code, der sich im Beispielordner der Ethernet-Bibliothek befindet.

Ich habe nur einige Codes hinzugefügt, um Sensoren zu steuern und Befehle auszuführen, die von der Arduinoautomotion-Website kamen.

Und verbinden Sie das ADSL-Kabel vom Arduino Ethernet Shield mit dem Router.

Nachdem der Arduino-Code ausgeführt wurde, sendet und empfängt die Arduinautomotion-Website Daten von Arduino über LAN über Wİ-Fİ.

Die Testvideos

Ich habe das Projekt getestet, danach verbinde ich es mit meinem Aquarium und meinem Bewässerungssystem (es ist im Grunde ein Wassermotor), das Projekt funktioniert großartig. :) Es ist das Testvideo des Arduinautoumotion-Projekts. Ich habe es mit der Testversion von Filmora bearbeitet und das Wasserzeichen aus Respekt vor ihrer Arbeit nicht entfernt.

Computer:

Android:

Code

  • Arduinautomotion.php
  • Arduinautomotioncontrol.php
  • Arduinautomotionformvalue.php
  • Arduinautomotioncommunication.php
  • ArduinoSide_Code.ino
Arduinautomotion.phpPHP

Guidelines for managing to adjustments of the objects.

Please click the buttons and th e color bars to learn the info about colors.

ROOM

AQUARUM

PLANT

GUDE
Open FormValue In New Tab
  • When a form is sent to the FormValue page, form values are revealed in the iframe which named newsite in Guide.

  • Form values are the saved data which give Arduino an ability to determine the adjustments of the aquarium and the plants.

  • And all of the data go through the ArduinoSide page that is hosted by Arduino Ethernet Shield with the IP address you choose.

  • After that, the Communication button in the ArduinoSide page has to be pushed to open the Communication page and to change the $_Session values.

  • Lastly, the Arduinautomotion page has to refresh or the Reload button has to pushed to get the new data from Arduino.

  • If the information about the room is in the dangerous range, the homepage notifies you with a voice alert box which includes a Spider-man video and audio file that are in the www folder in Apache localhost furthermore the related information circle changes its colour to red.

PLANT
AQUARUM
...This file has been truncated, please download it to see its full contents.
Arduinautomotioncontrol.phpPHP
Arduinautomotion
Arduinautomotionformvalue.phpPHP
FormValue

Server has received the data from Arduinautomotion.

Airpump=


Lamp=


Feeding=


Heater=


Filterex=


Filterin=


Irrigation=


Arduinautomotioncommunication.phpPHP
Communication