Buscar

PHP das coisas! – Training Center – Medium

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 10 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

23/04/2018 PHP das coisas! – Training Center – Medium
https://medium.com/trainingcenter/php-das-coisas-a269af611ea7 1/10
Felipe Limeira Follow
Developer, geek and passionate about technology.
Feb 21 · 6 min read
PHP das coisas!
PHP é uma das linguagens mais utilizadas da web segundo pesquisas
da W3Techs (https://w3techs.com/technologies/details/pl-
php/all/all) e do Blog Linux (https://haydenjames.io/80-percent-web-
powered-by-php/). Esses números podem ser explicados pela grande
maioria de CMS serem escritos em PHP e pela linguagem ser
relativamente simples de ser introduzida.
A verdade, é que quem utiliza a linguagem no dia dia, sabe que é uma
linguagem apaixonante, ainda mais com um mascote como esse:
Mas vamos ao que interessa… Acho que o título do artigo é bem
sugestivo, a ideia é introduzir a algo não tão comentado no mundo do
PHP. A�nal, é possível utilizar PHP em projetos IoT (Internet of
Things/Internet das Coisas)? Para ser mais especí�co, é possível
utilizar PHP na “parte” de coisas de IoT?
E a resposta imediata é sim, é possível! E vou mostrar como podemos
fazer isso, mas antes precisamos de um pouco de contexto.
Mas o que é IoT?
A Internet das Coisas ou Internet of Things (IoT), é um termo utilizado
para denominar o conceito de conectar objetos (carro, relógio, roupas,
casas e etc) a internet. Dessa forma, é possível capturar dados que vão
permitir tomadas de decisões mais inteligentes.
ElePHPant o mascote do PHP.
23/04/2018 PHP das coisas! – Training Center – Medium
https://medium.com/trainingcenter/php-das-coisas-a269af611ea7 2/10
A Internet das Coisas emergiu dos avanços de várias áreas como sistemas
embarcados, microeletrônica, comunicação e sensoriamento. De fato, a IoT
tem recebido bastante atenção tanto da academia quanto da indústria,
devido ao seu potencial de uso nas mais diversas áreas das atividades
humanas.
A Internet das Coisas, em poucas palavras, nada mais é que uma extensão
da Internet atual, que proporciona aos objetos do dia-a-dia (quaisquer que
sejam), mas com capacidade computacional e de comunicação, se
conectarem à Internet. A conexão com a rede mundial de computadores
viabilizará, primeiro, controlar remotamente os objetos e, segundo,
permitir que os próprios objetos sejam acessados como provedores de
serviços. Estas novas habilidades, dos objetos comuns, geram um grande
número de oportunidades tanto no âmbito acadêmico quanto no
industrial. Todavia, estas possibilidades apresentam riscos e acarretam
amplos desa�os técnicos e sociais. — [1] Internet das Coisas
IoT não é uma novidade, é um termo que foi criado em setembro de
1999 por Kevin Ashton. Está cada vez mais presente em nossas vidas e
na maior parte do tempo de uma forma bem discreta. Uma das suas
motivações é facilitar o dia a dia das pessoas ou até mesmo possibilitar
uma qualidade de vida melhor.
São in�nitas as possibilidades e aplicações da IoT. Ela pode ser aplicada
em casas, agronegócios, automóveis, Smart Cities e outros, ou seja, IoT
já é uma realidade que merece atenção e carinho.
Mãos a obra!!!
23/04/2018 PHP das coisas! – Training Center – Medium
https://medium.com/trainingcenter/php-das-coisas-a269af611ea7 3/10
Requisitos:
Para podermos mexer com IoT e PHP vamos precisar de algumas placas
eletrônicas, além do conhecimento prévio da própria linguagem de
programação. Segue a lista do que será necessário:
Raspberry Pi 2 modelo B. - R$149
Micro Servo 9g SG90 TowerPro. - R$ 19,00
LED (qualquer cor). - R$ 0,90
Protoboard. - R$15,49
Jumpers macho-macho. - R$ 8,00
Jumpers macho-femea. - R$ 8,00
PHP 7.0
Investimos um total de R$ 200,39 para fazer os exercícios propostos
nesse artigo, mas vale lembrar que esses materiais podem ser
reaproveitados em projetos futuros =)
Obs: mais abaixo eu disponibilizei links com sugestões para a compra
dos equipamentos.
Montando o circuito elétrico
Nesse artigo vamos controlar um LED e um servo motor utilizando PHP
com Raspberry PI. Abaixo, você pode ver os circuitos para ambos os
casos.
Para entender melhor os circuitos é legal entender o que são os pinos
GPIO (General Purpose Input/Output). GPIO é basicamente um
conjunto de pinos responsável por fazer a comunicação de entrada e
saída de sinais digitais. Com esses pinos na Raspberry, é possível
controlar uma série de periféricos como LEDs, Motores, Relês, fazer
leitura de sensores e botões, entre outros.
Segue o mapa dos pinos do modelo utilizado nesse artigo:
•
•
•
•
•
•
•
23/04/2018 PHP das coisas! – Training Center – Medium
https://medium.com/trainingcenter/php-das-coisas-a269af611ea7 4/10
Circuito do LED:
Circuito do servo motor:
Circuito elétrico para uma Raspberry PI acender um LED.
23/04/2018 PHP das coisas! – Training Center – Medium
https://medium.com/trainingcenter/php-das-coisas-a269af611ea7 5/10
Show me the code!
O código para o primeiro circuito (do LED) é o seguinte:
Circuito elétrico para uma Raspberry PI controlar um servo motor.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
<?php 
if (isset($_GET['led']) && $_GET['led'] != ''){
 exec("sudo gpio -g mode 25 out"); // Iniciar o GPIO25 = p
 if ($_GET['led'] == 'on'){
 exec("sudo gpio -g write 25 1"); // Acender LED
 }else{
 exec("sudo gpio -g write 25 0"); // Apagar LED
 }
}
?>
 
<html>
 <head>
</head>
23/04/2018 PHP das coisas! – Training Center – Medium
https://medium.com/trainingcenter/php-das-coisas-a269af611ea7 6/10
O código acima é relativamente simples, e essa é a ideia mesmo,
mostrar como é simples entrar nesse mundo de embarcados utilizando
a linguagem na qual você se sente confortável.
O que vale destacar no código acima são os comandos exec() que são
responsáveis por executar comandos ou programas externos.
exec(“sudo gpio -g mode 25 out”); — Esse comando é
responsável por informar a porta da Raspberry que será utilizada.
exec(“sudo gpio -g write 25 1”); — Esse comando é responsável
por escrever um valor na porta, nesse caso 1 (true ou on) ou 0
(false ou o�).
Agora vamos ao código do segundo circuito (do Servo Motor):
Para controlar o servo motor, vamos utilizar a porta GPIO18 com PWM
(Pulse-Width Modulation).
PWM é uma técnica de modulação que gera uma onda quadrada, baseada
na variação da largura de pulso de acordo com um valor chamado de duty
cycle. Embora essa técnica de modulação possa ser utilizada para
•
•
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<?php 
session_start();
if(!isset($_SESSION['val'])){
 exec("gpio -g mode 18 pwm && gpio pwm-ms && gpio pwmc 192
 $_SESSION['val'] = 100;
}
if (isset($_GET['left']) && $_GET['left'] != ''){
 if($_SESSION['val'] < 250){ 
 $_SESSION['val'] += 10;
 }else{
 echo '<script>alert("Max Left!!!")</script>';
 }
 exec('gpio -g pwm 18 '.$_SESSION['val']); 
}else if(isset($_GET['right']) && $_GET['right'] != ''){
 if($_SESSION['val'] > 50){ 
 $_SESSION['val'] -= 10;
 }else{
 echo '<script>alert("Max Right!!!")</script>';
 }
 exec('gpio -g pwm 18 '.$_SESSION['val']);
}
23/04/2018 PHP das coisas! – Training Center – Medium
https://medium.com/trainingcenter/php-das-coisas-a269af611ea7 7/10
codi�car a informação para transmissão, a sua utilização principal é
permitir o controle da energia fornecida aos dispositivos elétricos,
especialmente motores. — [2] PWM
exec(“gpio -g mode 18 pwm && gpio pwm-ms && gpio pwmc
192 && gpio pwmr 2000”); — Esse comando é responsável por
con�gurar a porta e informar a frequência em que ela irá trabalhar
com o motor.
O servo motor, diferentemente de outros motores, possui giro limitado
e por esse motivo eu utilizo sessão no código para controlar o valor
atualem que o servo está, e incrementar e decrementar conforme essa
limitação.
exec(‘gpio -g pwm 18 ‘.$_SESSION[‘val’]); — Esse código vai ser
o responsável por enviar o valor onde o servo motor irá se
posicionar.
Rodando nossa aplicação
Para rodar a aplicação, podemos executar a linha de comando a seguir
dentro do diretório do projeto na Raspberry.
php -S localhost:8000
Ou, utilizar um servidor Apache/Nginx para executar nossa aplicação.
•
•
. . .
Conclusão
Essa é apenas a primeira parte de uma série de artigos que quero fazer
sobre o assunto, tenho a intenção de chegar a mostrar como criar um
braço robótico utilizando PHP, portanto aguardem pois vem mais por
ai. =)
E antes que surjam questionamentos como “nossa utilizar PHP para
isso?”, gostaria de deixar claro que a ideia desse e dos próximos artigos,
é deixar claro que a linguagem não pode ser um limitante para que
vocês aprendam novas coisas e tecnologias, pelo contrario, ela deve ser
apenas um meio. Com isso, utilizando o PHP nesse caso eu gostaria de
deixar informações e coisas legais, disponíveis para todos.
23/04/2018 PHP das coisas! – Training Center – Medium
https://medium.com/trainingcenter/php-das-coisas-a269af611ea7 8/10
Então basicamente, sim, eu quis fazer como PHP porque eu quis, e não
existe nenhum problema nisso, devemos sempre resolver o problema e
manter uma melhora constante dessa resolução, e não nos prendermos
a coisas como “minha linguagem é a melhor por que é a melhor”.
Então é isso pessoal, em breve estarei de volta com a continuação desse
artigo, utilizando PHP, JavaScript e o que mais der para utilizar
(rsrsrs).
. . .
Qualquer dúvida podem entrar em contato comigo pelo Twitter
@l�imeira02, no Slack do Training Center ou no Slack do PHPSP com o
username @l�imeira.
Links para os materiais:
Raspberry Pi 2 modelo B.
Micro Servo 9g SG90 TowerPro.
LED (qualquer cor).
Protoboard.
Jumpers macho-macho.
Jumpers macho-femea.
Links complementares:
[1] Internet das Coisas
[2] PWM
Primeiros passos com Raspberry Pi e Linux
•
•
•
•
•
•
•
•
•
23/04/2018 PHP das coisas! – Training Center – Medium
https://medium.com/trainingcenter/php-das-coisas-a269af611ea7 9/10
23/04/2018 PHP das coisas! – Training Center – Medium
https://medium.com/trainingcenter/php-das-coisas-a269af611ea7 10/10

Continue navegando