Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Productieproces

Een website maken die Arduino communiceert met PHP

Componenten en benodigdheden

Arduino UNO
× 1
Arduino Ethernet Shield 2
× 1
DHT11 temperatuur- en vochtigheidssensor (4 pinnen)
× 1
2-weg relais
× 4
Mini Breadboard
× 1
Vlamsensor
× 1
MQ4-gassensor
× 1
LDR
× 1
Hygrometersensor
× 3
ADSL-routerkabel
× 1
Stekker (enkele reis)
× 7
Socket (enkele reis)
× 7
9V-batterij
× 1
9V batterijcilinderkabel
× 1

Benodigde gereedschappen en machines

Hot lijmpistool (algemeen)

Apps en online services

De Apache HTTP-server
Notepad++
Arduino IDE

Over dit project

Bijwerken

Hoe TheAmplituedron.com gebruiken om IoT-projecten te verbeteren? is mijn nieuwe project dat server-side programmering voor je afhandelt. Door TheAmplituedron.com als host te gebruiken, kunt u moeiteloos datapakketten verzenden en ontvangen via internet.

Om mijn projecten en artikelen te ondersteunen, kun je mijn website hier bezoeken :)

Beschrijving

Een professionele website maken om mijn aquarium en mijn irrigatiesysteem in mijn huis te bedienen en

de informatie over de woning ontvangen wanneer ik niet thuis ben, is het belangrijkste aspect van dit project.

Om dat doel te bereiken, heb ik het Arduinautomotion-project gemaakt dat 4 verschillende HTML-pagina's bevat (Arduinautomotion.php, Arduinautomotioncontrol.php, Arduinautomotionformvalue.php, Arduinautomotioncommunication.php) in mijn Apache localhost.

Ook host het Arduino Ethernet Shield een andere HTML-webpagina (ArduinoSide.php) die kan worden bereikt met het gekozen IPA-adres, om te communiceren met de Arduinautomotion-website.

Ik had aan dit project gedacht omdat ik 2 weken op vakantie moest en ik daardoor mijn aquarium niet kon aanpassen. Soms moet ik het interne filter uitschakelen om te voorkomen dat het zuurstofgehalte in het aquarium stijgt of moet ik mijn feeder openen om de vissen op afstand te voeren. Ik heb zes opties toegevoegd om de inhoud van mijn aquarium te regelen en één optie om het irrigatiesysteem te activeren.

Verder kunt u met Arduinautomotion eenvoudig de gegevens over het huis krijgen (zoals temperatuur- en vochtigheidswaarden komen van DHT11-sensor of methaangaswaarde in huis komen van MQ4-sensor) via Arduino Ethernet Shield.

Zo heeft de Arduinautomotion-website een eenvoudige interface om gegevens over het huis van Arduino te krijgen en te verzenden.

De kennis van HTML, CSS, JavaScript, PHP en jQuery-talen is vereist om de inhoud van het hele project te begrijpen, zodat dit slechts een showcase voor het project is, maar als u de talen kent, kunt u alle webpagina's vinden die het project bevat als PHP-codebestanden hieronder.

Opmerking:ik heb Notepad++ gebruikt om de webpagina's te programmeren.

Gegevens verzenden en ophalen tussen twee PHP-webpagina's

Ik gebruikte HTML-formulieren, PHP-methoden en PHP $_SESSION [""] om gegevens tussen de webpagina's te krijgen en te verzenden. Get Method is gemakkelijker dan Post Method om te gebruiken voor communicatie, maar Post Method is veiliger dan Get Method, dus ik heb Post Method gebruikt om tussen de webpagina's te communiceren, behalve de ArduinoSide-webpagina. Get Method is echter de gemakkelijkste manier om met Arduino Ethernet Shield te communiceren, omdat HTTP GET Request veel eenvoudiger is dan Post Request, dus ik gebruikte Get Method voor de ArduinoSide-webpagina. Daarnaast is PHP $_SESSION [""] de manier om de gegevens permanent op te slaan tussen de webpagina's meer dan twee.

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

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

Hoe de website in te stellen op The Apache HTTP Server (Localhost)

De Apache HTTP-server is efficiënt voor dat soort hosting, maar u kunt in plaats daarvan de XAMPP of een andere hostingserver kiezen. In mijn geval AppServ>> www>> Arduinautomotion.php en de inhoud ervan. Ik gebruikte mijn eigen IPAddress ("192.168.1.20" verwijst naar Localhost) om toegang te krijgen tot de webpagina's, maar je moet je IPAddress gebruiken (als http://yourIPAddress/Arduinautomotion.php).

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

Alle inhoud die Arduinautomotion.php heeft toegevoegd aan aangepaste onderdelen hieronder.

Verbinding maken met uw Localhost vanaf Android-apparaten

Windows verschilt van MAC voor deze taak, maar de onderstaande link kan nuttig zijn voor Windows.

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

Daarna kun je op hetzelfde Wİ-Fİ-netwerk eenvoudig toegang krijgen tot Arduinautomotion.php met je eigen IPA-adres.

Toegang krijgen tot uw Localhost via Wi-Fi

Windows verschilt van MAC voor deze taak, maar de onderstaande link kan nuttig zijn voor Windows.

Het werkt met uw externe IP-adres, maar u weet zeker dat alleen u het externe IP-adres kent, omdat het een gevaarlijke manier van hosten kan zijn.

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

Je moet ook port forwarding gebruiken om toegang te krijgen tot ArduinoSide.php en het werkt met het IPAddress dat je kiest in de ArduinoSide-code hieronder.

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

Arduinautomotion.php

Het is de hoofdpagina om te communiceren met Arduino Ethernet Shield, je kunt vanaf deze pagina opdrachten aan Arduino geven en de gegevens over het huis gemakkelijk van Arduino krijgen.

Het menu Wijzigen verklaart de veranderende situaties en laat zien welk deel een object is en welk deel een sensor door de kleur van de onderdelen te veranderen.

Door de veranderende cirkels toont het de waarden van de sensoren en de situaties van de objecten.

1) Kamersectie

Alle gegevens over de kamer die afkomstig zijn van Arduinautomotioncommunication.php worden getoond in de Kamersectie.

Voor:

Na:

2 )Aquariumsectie

Welke combinaties u ook kiest over de onderdelen van het aquarium met de HTML-formulieren, ze worden naar Arduinautomotionformvalue.php gestuurd, waarna het als uitvoer van Arduinautomotioncontrol.php naar Arduinautomotion.php terugkeert.

Voor:

Na:

3) Plantsectie

De waarden van de Hygrometer Sensor kunnen worden waargenomen en het starten van het irrigatiesysteem kan worden overwogen door middel van waarden. Als de Aquariumsectie zullen de gegevens terugkeren als uitvoer van Arduinautomotioncontrol.php naar Arduinautomotion.php.

Voor:

Na:

4) Gidssectie

Het bevat de Arduinautomotionformvalu.php webpagina om de keuzes van het formulier opnieuw te bekijken. Daarnaast bevat het enkele instructies van het project en een foto die het communicatieproces uitlegt.

5 )Waarschuwingsvenster

Welke waarden ook binnen het bereik van het gevaar liggen, een Alert Box met daarin een Spider-man-videobestand en een audiobestand ("Spider-sense is tingling") zal verschijnen wanneer de Arduinautomotion.php-webpagina opnieuw wordt geladen.

6) Delen van Arduinautomotion.php

De aanpasbare websites als richtlijnen:

De hele veranderende cirkels:

Voettekst:

Arduinautomotioncontrol.php

Het is ingebed in de Arduinautomotion.php-webpagina om alle gegevens te krijgen als $_SESSION [" "] van Arduinautomotionformvalue.php en Arduinautomotioncommunication.php.

Het slaat de gegevens permanent op via de PHP-pagina's.

Arduinautomotionformvalue.php

Het haalt de keuzes van het formulier uit de Arduinautomotion.php en stuurt ze ArduinoSide en Arduinautomotioncontrol.php. Het is ingebed in de sectie Gids van de Arduinautomotion.php webpagina, maar het is ook toegankelijk met een nieuw tabblad.

Arduinautomotioncommunication.php

De gegevens komen van ArduinoSide en worden opgeslagen door Arduinautomotioncommunication.php, waarna het de gegevens automatisch naar Arduinautomotioncontrol.php stuurt.

ArduinoSide

Het wordt gehost door Arduino Ethernet Shield via DNS en je hebt er toegang toe met het IPA-adres dat je kiest in de ArduinoSide-code hieronder (als https://yourChosenIPAddress).

Verbindingen

Maak gewoon de verbindingen zoals uitgelegd in de ArduinoSide-code en de Fritzing-afbeelding hieronder. Sluit de eenrichtingsstekkers en -bussen aan op de 2-wegrelais en plak alle componenten op een effen zoals een kurkbord.

Arduino

DHT11-module

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

2-weg relais (1)

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

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

2-weg relais (2)

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

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

2-weg relais (3)

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

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

2-weg relais (4)

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

Arduno Ethernet-schild

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

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

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

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

LDR

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

Vlamsensor

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

MQ4-sensor

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

Hygrometermodule (1)

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

Hygrometermodule (2)

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

Hygrometermodule (3)

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

De Arduino-code is in principe vergelijkbaar met de WebServer-code die zich in de map met voorbeelden van de Ethernet-bibliotheek bevindt.

Ik heb alleen wat codes toegevoegd om sensoren te bedienen en om commando's uit te voeren die van de Arduinautomotion-website kwamen.

En sluit de ADSL-kabel van Arduino Ethernet Shield aan op de router.

Nadat de Arduino-code is uitgevoerd, verzendt en ontvangt de Arduinautomotion-website gegevens van Arduino via LAN via Wİ-Fİ.

De testvideo's

Ik heb het project getest, daarna heb ik het aangesloten op mijn aquarium en mijn irrigatiesysteem (het is eigenlijk een watermotor), het project werkt geweldig. :) Het is de testvideo van het Arduinautoumotion-project. Ik heb het bewerkt met de proefversie van Filmora en ik heb het watermerk niet verwijderd vanwege het respect voor hun werk.

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