CONTROLANDO PHP COM
ARDUINO
EASY WAY
QUEM É VOCÊ, VINÍCIUS?
VINÍCIUS FEITOSA DA SILVA
- SOU UM CURIOSO
Microsoft 70-480
PSM I
ZCE
ARDUINO
CONTROLANDO ARDUINO COM PHP
ARDUINO - DEFINIÇÃO
▸ Arduino é uma plataforma eletrônica open-source de
prototipagem baseada em hardware e software flexíveis e
fáceis de usar.
▸ Fonte: http://engenheirando.com/arduino/o-que-e
CONTROLANDO ARDUINO COM PHP
ARDUINO - DEFINIÇÃO
▸ Arduino, palavra por vezes traduzida ao português como Arduíno, é
uma plataforma de prototipagem eletrônica de hardware livre e de
placa única, projetada com um microcontrolador Atmel AVR com
suporte de entrada/saída embutido, uma linguagem de programação
padrão, a qual tem origem em Wiring, e é essencialmente C/C++.
▸ O objetivo do projeto é criar ferramentas que são acessíveis, com
baixo custo, flexíveis e fáceis de se usar por artistas e amadores.
Principalmente para aqueles que não teriam alcance aos
controladores mais sofisticados e de ferramentas mais complicadas.
▸ Fonte: https://pt.wikipedia.org/wiki/Arduino
CONTROLANDO ARDUINO COM PHP
ARDUINO - DEFINIÇÃO
▸ Modelos

- Uno

- Mega

- Nano

- Outros…
▸ Componentes

- Microfone

- Sensor de umidade

- Sensor de temperatura

- Sensor de luminosidade

- etc…
CONTROLANDO ARDUINO COM PHP
ARDUINO - DEFINIÇÃO
▸ Pinos:

- Digitais 

- Analógicos
▸ Podem ser de:

- Entrada

- Saída

- Entrada e saída

- Entrada ou saída + PWM
ARDUINO SOFTWARE (IDE)
CONTROLANDO ARDUINO COM PHP
ARDUINO - IDE
▸ "The open-source Arduino Software (IDE) makes it easy to
write code and upload it to the board. It runs on Windows,
Mac OS X, and Linux. The environment is written in Java and
based on Processing and other open-source software.”
▸ Fonte: https://www.arduino.cc/en/Main/Software
CONTROLANDO ARDUINO COM PHP
ARDUINO - IDE
▸ O Arduino possui uma IDE open-source própria para
desenvolvimento
▸ Atualmente está na sua versão 1.6.8
▸ Pode ser adquirida nesse link:
▸ https://www.arduino.cc/en/Main/Software
CONTROLANDO ARDUINO COM PHP
ARDUINO - IDE
CONTROLANDO ARDUINO COM PHP
ARDUINO - IDE
▸ A lógica de funcionamento para comunicação entre o
Software e o Hardware é codificada dentro desta IDE.
▸ A linguagem de programação utilizada por padrão é C++
com alguns ajustes
▸ A IDE permite selecionar qual o modelo de placa Arduino
que você está utilizando assim como qual a porta de quer
utilizar para se comunicar com o Arduino
CONTROLANDO ARDUINO COM PHP
ARDUINO - IDE
▸ O processo de criação e envio para o microprocessador do
Arduino na IDE passa pelas seguintes etapas:
▸ Seleção de placa Arduino
▸ Seleção de porta para comunicação
▸ Criação de código-fonte
▸ Compilação de código-fonte
▸ Envio de código compilado para o Microprocessador
(normalmente ATMEGA328P) da placa Arduino
CONTROLANDO ARDUINO COM PHP
ARDUINO - IDE
▸ A estrutura do código criado dentro desta IDE precisa seguir um certa estrutura
básica:

- void setup

- void loop
▸ Definições opcionais

- Declaração de variáveis com escopo global e local

- Declaração de funções

- Importação e utilização de bibliotecas
▸ Formas de comunicação

- Porta Serial

- Componentes wi-fi

- Componentes gsm

- Outros…
FRITZING
Fritzing
INOVAÇÃO COM ARDUINO
CONTROLANDO ARDUINO COM PHP
INOVAÇÃO COM ARDUINO
ARDUINO + PHP ?
CONTROLANDO ARDUINO COM PHP
É POSSÍVEL CONTROLAR O ARDUINO COM PHP?
CONTROLANDO ARDUINO COM PHP
SIM! DE VÁRIAS MANEIRAS!
▸ Basicamente o papel da aplicação PHP é definir o
comportamento que seu projeto Arduino terá, enviando ou
recebendo informações do Arduino.
▸ Esse controle de envio e recebimento de dados pode ser
feito de diversas formas. A forma que abordarei hoje será
feita através da porta USB.
CONTROLANDO ARDUINO COM PHP
DO QUE PRECISO, ENTÃO?
▸ Arduino
▸ PHP
▸ Permissão pra acessar a porta usb
▸ Configurar velocidade de comunicação com a porta usb

CONTROLANDO ARDUINO COM PHP
CONCEDENDO PERMISSÃO PARA ACESSO
▸ $ sudo chmod a+rw /dev/ttyUSB0
CONTROLANDO ARDUINO COM PHP
DEFININDO VELOCIDADE DE COMUNICAÇÃO COM A PORTA USB
▸ $ sudo stty 9600 < /dev/tty.usbmodem1411
CONTROLANDO ARDUINO COM PHP
FOPEN, FILE_PUT_CONTENTS E OUTROS…
▸ São métodos que normalmente são utilizados para leitura e
escrita em arquivos no php
▸ Também funciona para enviar informações para o Arduino
através da porta serial
CONTROLANDO ARDUINO COM PHP
PHP + ARDUINO - EXEMPLO 1
▸ <?php

$port = "/dev/ttyACM1";

$fp = fopen($port, 'w');

fwrite($port, “hello!”);

fclose($fp);
CONTROLANDO ARDUINO COM PHP
PHP + ARDUINO - EXEMPLO 2
▸ <?php

$port = fopen("/dev/ttyUSB0", "w");

fwrite($port, “estou enviando essa string”);

fclose($fp);
CONTROLANDO ARDUINO COM PHP
PHP + ARDUINO - EXEMPLO 3
▸ <?php

$portaParaConexao = "/dev/cu.usbmodem1411";

$valor = ($argv[1]) ? $argv[1] : $_REQUEST['valor'];

exec("sudo stty 9600 < /dev/cu.usbmodem1411");

file_put_contents($portaParaConexao, $valor);

die("123");
CONTROLANDO ARDUINO COM PHP
PHP + ARDUINO - EXEMPLO DE CÓDIGO PARA O ARDUINO
▸ int PINO_3 = 3;

void setup() { 

Serial.begin(9600);

pinMode(PINO_3, OUTPUT);

}

void loop() {

char valorRecebido;

valorRecebido = Serial.read();

// faça alguma coisa

}
CONTROLANDO ARDUINO COM PHP
PHP + ARDUINO - CÓDIGO PARA O ARDUINO
▸ Compilou
▸ Enviou
▸ Pronto!
CHAMANDO GARÇONS, PEDINDO A
CONTA E AVALIANDO ATENDIMENTO
COM ARDUINO?
Fonte: http://smart2gourmet.com.br
REGANDO PLANTAS
COM ARDUINO ?
CONTROLANDO ARDUINO COM PHP
REGANDO AS PLANTAS COM ARDUINO
▸ O problema
▸ 1 - Preguiça
▸ 2 - Tempo
▸ 3 - Por onde começar?
CONTROLANDO ARDUINO COM PHP
Cerejeira Silvestre - 4 anos de idade
CONTROLANDO ARDUINO COM PHP
REGANDO AS PLANTAS COM ARDUINO
▸ Componentes necessários

- Medidor de humidade do solo

- Protoboard

- Jumpers

- Motor para bombear água

- Fonte de alimentação externa
CONTROLANDO ARDUINO COM PHP
DICAS PARA ESTUDOS
▸ https://multilogica-shop.com/Referencia
▸ http://playground.arduino.cc
▸ https://www.robocore.net
▸ http://labdegaragem.com
▸ http://www.paulotrentin.com.br
CONTROLANDO ARDUINO COM PHP
CONTATO
▸http://viniciusfesil.com.br
▸viniciusfesil@gmail.com
▸Twitter: @vinnyfs89
▸Instagram: @vinnyfs89
OBRIGADO!

[ PHPFC V / DarkMiraTour ] - Controlando Php com arduino - Easy Way

  • 1.
  • 2.
    QUEM É VOCÊ,VINÍCIUS?
  • 3.
    VINÍCIUS FEITOSA DASILVA - SOU UM CURIOSO Microsoft 70-480 PSM I ZCE
  • 4.
  • 5.
    CONTROLANDO ARDUINO COMPHP ARDUINO - DEFINIÇÃO ▸ Arduino é uma plataforma eletrônica open-source de prototipagem baseada em hardware e software flexíveis e fáceis de usar. ▸ Fonte: http://engenheirando.com/arduino/o-que-e
  • 6.
    CONTROLANDO ARDUINO COMPHP ARDUINO - DEFINIÇÃO ▸ Arduino, palavra por vezes traduzida ao português como Arduíno, é uma plataforma de prototipagem eletrônica de hardware livre e de placa única, projetada com um microcontrolador Atmel AVR com suporte de entrada/saída embutido, uma linguagem de programação padrão, a qual tem origem em Wiring, e é essencialmente C/C++. ▸ O objetivo do projeto é criar ferramentas que são acessíveis, com baixo custo, flexíveis e fáceis de se usar por artistas e amadores. Principalmente para aqueles que não teriam alcance aos controladores mais sofisticados e de ferramentas mais complicadas. ▸ Fonte: https://pt.wikipedia.org/wiki/Arduino
  • 7.
    CONTROLANDO ARDUINO COMPHP ARDUINO - DEFINIÇÃO ▸ Modelos
 - Uno
 - Mega
 - Nano
 - Outros… ▸ Componentes
 - Microfone
 - Sensor de umidade
 - Sensor de temperatura
 - Sensor de luminosidade
 - etc…
  • 8.
    CONTROLANDO ARDUINO COMPHP ARDUINO - DEFINIÇÃO ▸ Pinos:
 - Digitais 
 - Analógicos ▸ Podem ser de:
 - Entrada
 - Saída
 - Entrada e saída
 - Entrada ou saída + PWM
  • 10.
  • 11.
    CONTROLANDO ARDUINO COMPHP ARDUINO - IDE ▸ "The open-source Arduino Software (IDE) makes it easy to write code and upload it to the board. It runs on Windows, Mac OS X, and Linux. The environment is written in Java and based on Processing and other open-source software.” ▸ Fonte: https://www.arduino.cc/en/Main/Software
  • 12.
    CONTROLANDO ARDUINO COMPHP ARDUINO - IDE ▸ O Arduino possui uma IDE open-source própria para desenvolvimento ▸ Atualmente está na sua versão 1.6.8 ▸ Pode ser adquirida nesse link: ▸ https://www.arduino.cc/en/Main/Software
  • 13.
    CONTROLANDO ARDUINO COMPHP ARDUINO - IDE
  • 14.
    CONTROLANDO ARDUINO COMPHP ARDUINO - IDE ▸ A lógica de funcionamento para comunicação entre o Software e o Hardware é codificada dentro desta IDE. ▸ A linguagem de programação utilizada por padrão é C++ com alguns ajustes ▸ A IDE permite selecionar qual o modelo de placa Arduino que você está utilizando assim como qual a porta de quer utilizar para se comunicar com o Arduino
  • 15.
    CONTROLANDO ARDUINO COMPHP ARDUINO - IDE ▸ O processo de criação e envio para o microprocessador do Arduino na IDE passa pelas seguintes etapas: ▸ Seleção de placa Arduino ▸ Seleção de porta para comunicação ▸ Criação de código-fonte ▸ Compilação de código-fonte ▸ Envio de código compilado para o Microprocessador (normalmente ATMEGA328P) da placa Arduino
  • 16.
    CONTROLANDO ARDUINO COMPHP ARDUINO - IDE ▸ A estrutura do código criado dentro desta IDE precisa seguir um certa estrutura básica:
 - void setup
 - void loop ▸ Definições opcionais
 - Declaração de variáveis com escopo global e local
 - Declaração de funções
 - Importação e utilização de bibliotecas ▸ Formas de comunicação
 - Porta Serial
 - Componentes wi-fi
 - Componentes gsm
 - Outros…
  • 17.
  • 18.
  • 19.
  • 20.
    CONTROLANDO ARDUINO COMPHP INOVAÇÃO COM ARDUINO
  • 21.
  • 22.
    CONTROLANDO ARDUINO COMPHP É POSSÍVEL CONTROLAR O ARDUINO COM PHP?
  • 23.
    CONTROLANDO ARDUINO COMPHP SIM! DE VÁRIAS MANEIRAS! ▸ Basicamente o papel da aplicação PHP é definir o comportamento que seu projeto Arduino terá, enviando ou recebendo informações do Arduino. ▸ Esse controle de envio e recebimento de dados pode ser feito de diversas formas. A forma que abordarei hoje será feita através da porta USB.
  • 24.
    CONTROLANDO ARDUINO COMPHP DO QUE PRECISO, ENTÃO? ▸ Arduino ▸ PHP ▸ Permissão pra acessar a porta usb ▸ Configurar velocidade de comunicação com a porta usb

  • 25.
    CONTROLANDO ARDUINO COMPHP CONCEDENDO PERMISSÃO PARA ACESSO ▸ $ sudo chmod a+rw /dev/ttyUSB0
  • 26.
    CONTROLANDO ARDUINO COMPHP DEFININDO VELOCIDADE DE COMUNICAÇÃO COM A PORTA USB ▸ $ sudo stty 9600 < /dev/tty.usbmodem1411
  • 27.
    CONTROLANDO ARDUINO COMPHP FOPEN, FILE_PUT_CONTENTS E OUTROS… ▸ São métodos que normalmente são utilizados para leitura e escrita em arquivos no php ▸ Também funciona para enviar informações para o Arduino através da porta serial
  • 28.
    CONTROLANDO ARDUINO COMPHP PHP + ARDUINO - EXEMPLO 1 ▸ <?php
 $port = "/dev/ttyACM1";
 $fp = fopen($port, 'w');
 fwrite($port, “hello!”);
 fclose($fp);
  • 29.
    CONTROLANDO ARDUINO COMPHP PHP + ARDUINO - EXEMPLO 2 ▸ <?php
 $port = fopen("/dev/ttyUSB0", "w");
 fwrite($port, “estou enviando essa string”);
 fclose($fp);
  • 30.
    CONTROLANDO ARDUINO COMPHP PHP + ARDUINO - EXEMPLO 3 ▸ <?php
 $portaParaConexao = "/dev/cu.usbmodem1411";
 $valor = ($argv[1]) ? $argv[1] : $_REQUEST['valor'];
 exec("sudo stty 9600 < /dev/cu.usbmodem1411");
 file_put_contents($portaParaConexao, $valor);
 die("123");
  • 31.
    CONTROLANDO ARDUINO COMPHP PHP + ARDUINO - EXEMPLO DE CÓDIGO PARA O ARDUINO ▸ int PINO_3 = 3;
 void setup() { 
 Serial.begin(9600);
 pinMode(PINO_3, OUTPUT);
 }
 void loop() {
 char valorRecebido;
 valorRecebido = Serial.read();
 // faça alguma coisa
 }
  • 32.
    CONTROLANDO ARDUINO COMPHP PHP + ARDUINO - CÓDIGO PARA O ARDUINO ▸ Compilou ▸ Enviou ▸ Pronto!
  • 33.
    CHAMANDO GARÇONS, PEDINDOA CONTA E AVALIANDO ATENDIMENTO COM ARDUINO?
  • 34.
  • 35.
  • 36.
    CONTROLANDO ARDUINO COMPHP REGANDO AS PLANTAS COM ARDUINO ▸ O problema ▸ 1 - Preguiça ▸ 2 - Tempo ▸ 3 - Por onde começar?
  • 37.
    CONTROLANDO ARDUINO COMPHP Cerejeira Silvestre - 4 anos de idade
  • 38.
    CONTROLANDO ARDUINO COMPHP REGANDO AS PLANTAS COM ARDUINO ▸ Componentes necessários
 - Medidor de humidade do solo
 - Protoboard
 - Jumpers
 - Motor para bombear água
 - Fonte de alimentação externa
  • 39.
    CONTROLANDO ARDUINO COMPHP DICAS PARA ESTUDOS ▸ https://multilogica-shop.com/Referencia ▸ http://playground.arduino.cc ▸ https://www.robocore.net ▸ http://labdegaragem.com ▸ http://www.paulotrentin.com.br
  • 40.
    CONTROLANDO ARDUINO COMPHP CONTATO ▸http://viniciusfesil.com.br ▸viniciusfesil@gmail.com ▸Twitter: @vinnyfs89 ▸Instagram: @vinnyfs89
  • 41.