Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Como criar um site de comunicação do Arduino usando PHP

Componentes e suprimentos

Arduino UNO
× 1
Arduino Ethernet Shield 2
× 1
Sensor DHT11 de Temperatura e Umidade (4 pinos)
× 1
Relé bidirecional
× 4
Mini breadboard
× 1
Sensor de Chama
× 1
Sensor de gás MQ4
× 1
LDR
× 1
Sensor higrômetro
× 3
Cabo ADSL Router
× 1
Plug (unidirecional)
× 7
Soquete (unidirecional)
× 7
Bateria 9V
× 1
Cabo de bateria de 9 V
× 1

Ferramentas e máquinas necessárias

Pistola de cola quente (genérica)

Aplicativos e serviços online

O servidor Apache HTTP
Notepad ++
Arduino IDE

Sobre este projeto





Atualizar


Como usar o TheAmplituhedron.com para melhorar os projetos de IoT? é o meu novo projeto que lida com a programação do lado do servidor para você. Ao usar o TheAmplituhedron.com como host, você pode enviar e receber pacotes de dados sem esforço pela Internet.

Para apoiar meus projetos e artigos, você pode visitar meu site aqui :)





Descrição


Criar um site profissional para controlar meu aquário e meu sistema de irrigação em minha casa e

receber as informações sobre a casa quando não estou em casa é o aspecto principal deste projeto.

Para atingir esse objetivo, criei o projeto Arduinautomotion que inclui 4 páginas HTML diferentes (Arduinautomotion.php, Arduinautomotioncontrol.php, Arduinautomotionformvalue.php, Arduinautomotioncommunication.php ) no meu localhost Apache.

Além disso, o Arduino Ethernet Shield hospeda outra página da web em HTML (ArduinoSide.php) que pode ser acessada com o endereço IP escolhido, para se comunicar com o site do Arduinautomotion.

Já tinha pensado neste projeto porque tinha que sair de férias por 2 semanas e não pude fazer os ajustes do meu aquário por causa disso. Às vezes preciso desligar o filtro interno para evitar o aumento do nível de oxigênio no aquário ou preciso abrir meu comedouro para alimentar os peixes remotamente. Adicionei seis opções para controlar o conteúdo do meu aquário e uma opção para ativar o sistema de irrigação.

Além disso, você pode obter facilmente os dados sobre a casa (como os valores de temperatura e umidade vêm do Sensor DHT11 ou o valor do gás metano na casa vem do Sensor MQ4) com Arduinautomotion por meio do Arduino Ethernet Shield.

Assim, o site do Arduinautomotion possui uma interface fácil para obter e enviar dados sobre a casa do Arduino.

O conhecimento das linguagens HTML, CSS, JavaScript, PHP e jQuery será necessário para entender todo o conteúdo do projeto, de modo que este seja apenas uma vitrine para o projeto, mas se você conhece as linguagens, pode encontrar todas as páginas da web que o projeto inclui como Arquivos de código PHP abaixo.

Nota:Usei o Notepad ++ para programar as páginas da web.





Como enviar e obter dados entre duas páginas da web PHP


Usei formulários HTML, métodos PHP e PHP $ _SESSION [""] para obter e enviar dados entre as páginas da web. Get Method é mais fácil do que Post Method de usar para comunicação, mas Post Method é mais seguro do que Get Method, então usei Post Method para comunicar-se entre as páginas da web, exceto para a página ArduinoSide. No entanto, Get Method é a maneira mais fácil de se comunicar com o Arduino Ethernet Shield porque HTTP GET Request é muito mais fácil do que Post Request, então usei Get Method para a página da web do ArduinoSide. Além disso, PHP $ _SESSION [""] é a maneira de salvar os dados permanentemente entre as páginas da web mais de duas.

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

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





Como configurar o site no The Apache HTTP Server (Localhost)


O Apache HTTP Server é eficiente para esse tipo de hospedagem, mas você pode escolher o XAMPP ou outro servidor de hospedagem ao invés dele. No meu caso, AppServ>> www>> Arduinautomotion.php e seu conteúdo. Usei meu próprio IPAddress ("192.168.1.20" refere-se a Localhost) para acessar as páginas da web, mas você tem que usar seu IPAddress (como http://yourIPAddress/Arduinautomotion.php).

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

Todo o conteúdo Arduinautomotion.php adicionou nas partes personalizadas abaixo.





Como se conectar ao seu localhost a partir de dispositivos Android


O Windows é diferente do MAC para este trabalho, mas o link abaixo pode ser útil para o Windows.

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

Depois disso, na mesma rede Wİ-Fİ você pode acessar facilmente Arduinautomotion.php com seu próprio endereço IP.





Como acessar seu Localhost por Wi-Fi


O Windows é diferente do MAC para este trabalho, mas o link abaixo pode ser útil para o Windows.

Funciona com o seu endereço IP externo, mas você tem certeza de que só conhece o endereço IP externo, pois pode ser uma maneira perigosa de hospedar.

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

Além disso, você deve usar o encaminhamento de porta para acessar ArduinoSide.php e ele funciona com o IPAddress que você escolher no código ArduinoSide abaixo.

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





Arduinautomotion.php


É a página principal para se comunicar com o Arduino Ethernet Shield, você pode dar comandos desta página ao Arduino e obter os dados sobre a casa do Arduino facilmente.

O menu Alterar explica as situações de mudança e mostra qual parte é um objeto e qual parte é um sensor, alterando a cor das partes.

Pela mudança de círculos, mostra os valores dos sensores e as situações dos objetos.

1) Seção da sala

Todos os dados sobre a sala provenientes de Arduinautomotioncommunication.php serão mostrados na seção Room.

Antes de:



Depois de:



2) Seção Aquário

Quaisquer combinações que você escolher sobre as partes do aquário com os Formulários HTML serão enviadas para Arduinautomotionformvalue.php e depois retornará como uma saída de Arduinautomotioncontrol.php para Arduinautomotion.php.

Antes de:



Depois de:

3) Seção da planta

Os valores do Sensor do Higrômetro podem ser observados e o início do sistema de irrigação pode ser considerado através dos valores. Como a seção Aquarium, os dados retornarão como uma saída de Arduinautomotioncontrol.php para Arduinautomotion.php.

Antes de:



Depois de:



4) Seção do guia

Ele contém a página da web Arduinautomotionformvalue.php para observar as opções do formulário novamente. Além disso, inclui algumas instruções do projeto e uma imagem que explica o processo de comunicação.



5) Caixa de Alerta

Quaisquer que sejam os valores na faixa do perigo, uma caixa de alerta que inclui um arquivo de vídeo do Homem-Aranha e um arquivo de áudio ("Sentido de aranha está formigando") aparecerá quando a página da web Arduinautomotion.php for recarregada.

6) Partes de Arduinautomotion.php

Os sites redimensionáveis ​​como diretrizes:

Todos os círculos em mudança:

Rodapé:





Arduinautomotioncontrol.php


Ele está embutido na página da web Arduinautomotion.php para obter todos os dados como $ _SESSION [""] de Arduinautomotionformvalue.php e Arduinautomotioncommunication.php.

Ele salva os dados permanentemente por meio das páginas PHP.





Arduinautomotionformvalue.php


Ele obtém as opções do formulário do Arduinautomotion.php e os envia ArduinoSide e Arduinautomotioncontrol.php. Ele está embutido na seção Guia da página da web Arduinautomotion.php, mas também pode ser acessado em uma nova guia.





Arduinautomotioncommunication.php


Os dados provenientes do ArduinoSide são salvos pelo Arduinautomotioncommunication.php, depois disso, ele envia os dados para o Arduinautomotioncontrol.php automaticamente.





ArduinoSide


Ele é hospedado pelo Arduino Ethernet Shield por meio de DNS e você pode acessá-lo com o endereço IP que escolher no código do ArduinoSide abaixo (como https:// yourChosenIPAddress).





Conexões


Basta fazer as conexões conforme explicado no código do ArduinoSide e na imagem do Fritzing abaixo. Conecte os plugues e soquetes unidirecionais aos relés de 2 vias e cole todos os componentes em uma placa, como uma placa de cortiça.

Arduino

Módulo DHT11

Pino 2 -------------------------

Relé de 2 vias (1)

Pino 3 -------------------------

Pino 4 -------------------------

Relé de 2 vias (2)

Pino 5 -------------------------

Pino 6 -------------------------

Relé de 2 vias (3)

Pino 7 -------------------------

Pino 8 -------------------------

Relé de 2 vias (4)

Pino 9 -------------------------

Arduno Ethernet Shield

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

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

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

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

LDR

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

Sensor de Chama

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

Sensor MQ4

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

Módulo Higrômetro (1)

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

Módulo Higrômetro (2)

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

Módulo Higrômetro (3)

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

O código do Arduino é basicamente semelhante ao código do WebServer que está na pasta de exemplos da biblioteca Ethernet.

Eu apenas adicionei alguns códigos para controlar sensores e executar comandos que vieram do site Arduinautomotion.

E conecte o cabo ADSL do Arduino Ethernet Shield ao roteador.

Depois que o código do Arduino é executado, o site do Arduinautomotion envia e obtém dados do Arduino por meio de LAN via Wİ-Fİ.

Os vídeos de teste

Testei o projeto depois disso conectei-o ao meu aquário e ao meu sistema de irrigação (é basicamente um motor hidráulico), o projeto funciona muito bem. :) É o vídeo de teste do projeto Arduinautoumotion. Eu editei com a versão de teste do Filmora e não removi a marca d'água devido ao respeito pelo trabalho deles.

Computador:

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