Manufactura industrial
Internet industrial de las cosas | Materiales industriales | Mantenimiento y reparación de equipos | Programación industrial |
home  MfgRobots >> Manufactura industrial >  >> Manufacturing Technology >> Proceso de manufactura

Cómo crear un sitio web comunicando Arduino usando PHP

Componentes y suministros

Arduino UNO
× 1
Arduino Ethernet Shield 2
× 1
Sensor de temperatura y humedad DHT11 (4 pines)
× 1
Relé de 2 vías
× 4
Mini protoboard
× 1
Sensor de llama
× 1
Sensor de gas MQ4
× 1
LDR
× 1
Sensor higrómetro
× 3
Cable de enrutador ADSL
× 1
Enchufe (unidireccional)
× 7
Socket (unidireccional)
× 7
Batería de 9V
× 1
Cable de batería de 9 V
× 1

Herramientas y máquinas necesarias

Pistola de pegamento caliente (genérica)

Aplicaciones y servicios en línea

El servidor HTTP Apache
Bloc de notas ++
Arduino IDE

Acerca de este proyecto

Actualizar

¿Cómo utilizar TheAmplituhedron.com para mejorar los proyectos de IoT? es mi nuevo proyecto que maneja la programación del lado del servidor por usted. Al utilizar TheAmplituhedron.com como host, puede enviar y obtener paquetes de datos sin esfuerzo a través de Internet.

Para apoyar mis proyectos y artículos, puede visitar mi sitio web aquí :)

Descripción

Creando un sitio web profesional para controlar mi acuario y mi sistema de riego en mi hogar y

recibir la información sobre la casa cuando no estoy en casa es el aspecto principal de este proyecto.

Para lograr ese objetivo, creé el proyecto Arduinautomotion que incluye 4 páginas HTML diferentes (Arduinautomotion.php, Arduinautomotioncontrol.php, Arduinautomotionformvalue.php, Arduinautomotioncommunication.php ) en mi localhost Apache.

Además, Arduino Ethernet Shield aloja otra página web HTML (ArduinoSide.php) a la que se puede acceder con la dirección IP elegida para comunicarse con el sitio web de Arduinautomotion.

Había pensado en este proyecto ya que tenía que irme de vacaciones por 2 semanas y no podía hacer los ajustes de mi acuario por eso. A veces necesito apagar el filtro interno para evitar que el nivel de oxígeno aumente en el acuario o necesito abrir mi comedero para alimentar a los peces de forma remota. Agregué seis opciones para controlar el contenido de mi acuario y una opción para activar el sistema de riego.

Además, puede obtener fácilmente los datos sobre el hogar (como los valores de temperatura y humedad provienen del sensor DHT11 o el valor del gas metano en el hogar proviene del sensor MQ4) con Arduinautomotion a través de Arduino Ethernet Shield.

Por lo tanto, el sitio web de Arduinautomotion tiene una interfaz fácil para obtener y enviar datos sobre el hogar desde Arduino.

Se requerirá el conocimiento de los lenguajes HTML, CSS, JavaScript, PHP y jQuery para comprender el contenido completo del proyecto, de modo que esto sea solo una muestra del proyecto, pero si conoce los idiomas, puede encontrar todas las páginas web que el proyecto incluye como Archivos de código PHP a continuación.

Nota:utilicé Notepad ++ para programar las páginas web.

Cómo enviar y obtener datos entre dos páginas web PHP

Usé formularios HTML, métodos PHP y PHP $ _SESSION [""] para obtener y enviar datos entre las páginas web. El método Get es más fácil de usar que el método de publicación para la comunicación, pero el método de publicación es más seguro que el método de obtención, por lo que utilicé el método de publicación para comunicarme entre las páginas web, excepto la página web de ArduinoSide. Sin embargo, Get Method es la forma más fácil de comunicarse con Arduino Ethernet Shield porque HTTP GET Request es mucho más fácil que Post Request, así que utilicé Get Method para la página web ArduinoSide. Además, PHP $ _SESSION [""] es la forma de guardar los datos de forma permanente entre las páginas web más de dos.

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

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

Cómo configurar el sitio web en el servidor HTTP Apache (localhost)

El servidor HTTP Apache es eficiente para ese tipo de alojamiento, pero puede elegir XAMPP u otro servidor de alojamiento en su lugar. En mi caso, AppServ>> www>> Arduinautomotion.php y su contenido. Usé mi propia IPAddress ("192.168.1.20" se refiere a Localhost) para acceder a las páginas web, pero tienes que usar tu IPAddress (como http://yourIPAddress/Arduinautomotion.php).

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

Todo el contenido que Arduinautomotion.php ha agregado en las partes personalizadas a continuación.

Cómo conectarse con su Localhost desde dispositivos Android

Windows difiere de MAC para este trabajo, pero el enlace a continuación puede ser útil para Windows.

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

Después de eso, en la misma red Wİ-Fİ puede acceder fácilmente a Arduinautomotion.php con su propia dirección IP.

Cómo acceder a su Localhost a través de Wi-Fi

Windows difiere de MAC para este trabajo, pero el enlace a continuación puede ser útil para Windows.

Funciona con su dirección IP externa, pero está seguro de que solo usted conoce la dirección IP externa porque puede ser una forma peligrosa de alojar.

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

Además, debe usar el reenvío de puertos para acceder a ArduinoSide.php y funciona con la dirección IP que elija en el código ArduinoSide a continuación.

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

Arduinautomotion.php

Es la página principal para comunicarse con Arduino Ethernet Shield, puede dar comandos desde esta página a Arduino y obtener los datos sobre el hogar desde Arduino fácilmente.

El menú Cambiar explica las situaciones que cambian y muestra qué parte es un objeto y qué parte es un sensor cambiando el color de las partes.

Por los círculos cambiantes, muestra los valores de los sensores y las situaciones de los objetos.

1) Sección de la sala

Todos los datos sobre la habitación que provienen de Arduinautomotioncommunication.php se mostrarán en la sección de habitaciones.

Antes:

Después:

2) Sección del acuario

Cualquier combinación que elija sobre las partes del acuario con los formularios HTML se enviará a Arduinautomotionformvalue.php y luego volverá como una salida de Arduinautomotioncontrol.php a Arduinautomotion.php.

Antes:

Después:

3) Sección de planta

Se pueden observar los valores del sensor higrómetro y se puede considerar el arranque del sistema de riego a través de valores. Como sección del acuario, los datos volverán como una salida de Arduinautomotioncontrol.php a Arduinautomotion.php.

Antes:

Después:

4) Sección de la guía

Contiene la página web Arduinautomotionformvalue.php para observar las opciones del formulario nuevamente. Además, incluye algunas instrucciones del proyecto y una imagen que explica el proceso de comunicación.

5) Cuadro de alerta

Independientemente de los valores que estén en el rango de peligro, aparecerá un cuadro de alerta que incluye un archivo de video de Spider-man y un archivo de audio ("Spider-sense is tingling") cuando se recargue la página web Arduinautomotion.php.

6) Partes de Arduinautomotion.php

Los sitios web redimensionables como pautas:

Todos los círculos cambiantes:

Pie de página:

Arduinautomotioncontrol.php

Está integrado en la página web Arduinautomotion.php para obtener todos los datos como $ _SESSION [""] de Arduinautomotionformvalue.php y Arduinautomotioncommunication.php.

Guarda los datos de forma permanente a través de las páginas PHP.

Arduinautomotionformvalue.php

Obtiene las opciones del formulario de Arduinautomotion.php y las envía ArduinoSide y Arduinautomotioncontrol.php. Está incrustado en la sección Guía de la página web Arduinautomotion.php, pero también es accesible con una nueva pestaña.

Arduinautomotioncommunication.php

Los datos que provienen de ArduinoSide son guardados por Arduinautomotioncommunication.php después de que envía los datos a Arduinautomotioncontrol.php automáticamente.

ArduinoSide

Está alojado por Arduino Ethernet Shield a través de DNS y puede acceder a él con la dirección IP que elija en el código ArduinoSide a continuación (como https:// yourChosenIPAddress).

Conexiones

Simplemente haga las conexiones como se explica en el código de ArduinoSide y la imagen de Fritzing a continuación. Conecte los enchufes y enchufes unidireccionales a los relés bidireccionales y pegue todos los componentes en un plano, como un tablero de corcho.

Arduino

Módulo DHT11

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

Relé de 2 vías (1)

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

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

Relé de 2 vías (2)

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

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

Relé de 2 vías (3)

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

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

Relé de 2 vías (4)

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

Escudo Ethernet Arduno

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

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

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

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

LDR

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

Sensor de llama

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

Sensor MQ4

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

Módulo higrómetro (1)

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

Módulo higrómetro (2)

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

Módulo higrómetro (3)

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

El código de Arduino es básicamente similar al código de WebServer que se encuentra en la carpeta de ejemplos de la biblioteca de Ethernet.

Solo agregué algunos códigos para controlar sensores y ejecutar comandos que provenían del sitio web Arduinautomotion.

Y conecte el cable ADSL de Arduino Ethernet Shield al enrutador.

Una vez que se ejecuta el código Arduino, el sitio web de Arduinautomotion envía y obtiene datos de Arduino a través de LAN a través de Wİ-Fİ.

Los videos de prueba

Probé el proyecto después de que lo conecte con mi acuario y mi sistema de riego (es básicamente un motor de agua), el proyecto funciona muy bien. :) Es el video de prueba del proyecto Arduinautoumotion. Lo edité con la versión de prueba de Filmora y no quité la marca de agua por respeto a su trabajo.

Computadora:

Android:

Código

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

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