Pular para o conteúdo principal

Interface Simples Web com IntelEdison (Flask+Modulo Rele)

Brincando com rele via interface Web(flask)

Olá Humanos, decidi brincar um pouco mais com meu Intel Edison, resolvi explorar ao maximo o modulo rele que tenho, nos post anteriores brincamos com basicamente tudo, desde de bluetooth com arduino, servidor simples com flask, para ligar e desligar uma lampada, e pensei, "Vou brincar com o Edison" por que faz um tempo que não mexo nele.

Vamos usar o mesmo esquema que usamos no tutorial do arduino as ligações e os pinos sãos os menos segue o exemplo abaixo.



Nesse tutorial, vamos usar uma biblioteca especifica pra ele  libmraa, ja usamos ela em outros posts ^_^, antes de qualquer coisa vamos adicionar alguns repositorios, para o Edison entender que precisamos de uma biblioteca que ele não tem.

$ sudo screen /dev/ttyUSB0 115200 
Quando estiver logado no seu edison acesso o arquivo base-feeds.conf

root@edison# vi /etc/opkg/base-feeds.conf
Adicione essas 3 linhas

src/gz all http://repo.opkg.net/edison/repo/all
src/gz edison http://repo.opkg.net/edison/repo/edison src/gz core2-32 http://repo.opkg.net/edison/repo/core2-32

Em seguida atualize e instale o pacote python-pip

root@edison# opkg update
root@edison# opkg install python-pip 
Com o pip instala e biblioteca flask

root@edison# pip install flask
OK, Proximo passo e criar uma arvore de pastas

root@edison# mkdir WebInterface 
root@edison# mkdir WebInterface 
root@edison# cd  WebInterface 
root@edison:~/WebInterface# mkdir static templates

Com a arvore de pastas pronta cria dentro de WebInterface, uma arquivo chamado main.py
root@edison:~/WebInterface# touch main.py

Codigo do Main.py

from flask import Flask, request, render_template

import mraa

pin = 7
p = mraa.Gpio(pin)
p.dir(mraa.DIR_OUT)

app = Flask(__name__)
@app.route("/",methods=["POST","GET"])
def index():
  if request.method == "POST":
     if request.form['submit'] == 'ON':
        print "Luz Ligada\n"
        p.write(0)
     elif request.form['submit'] == "OFF":  
        print "Luz Desligada\n"
        p.write(1)
  return render_template("index.html")
if __name__ == "__main__":
   app.run(host="0.0.0.0",port=8080,debug=True)

OK, agora acesse a pasta templates e edite o arquivo index.html


root@edison:~/WebInterface# cd templates
root@edison:~/WebInterface/templates# vi index.html
<html><head>
<title>Intel Luz</title>
</head>
<center><img src="/static/edison.png" alt="intel-edison" style="width: 500px; height: 400xp"></center>
<body><center>
  <h1>Intel Edison (Luz)</h1>
   <form action="/" method="post">
    <input type="submit" name="submit" value="ON" style="width: 100px; height: 100px">
    <input type="submit" name="submit" value="OFF" style="width: 100px; height: 100px">
   </form>
</center></body>
</html>



Bem simples neh?, agora por que a pasta static ? resolvi colocar uma imagem fofa do edison, para o flask entender que queremos uma imagem precisamos criar uma pasta static e dentro dela colocar a imagem.


Apenas faça um wget direto na pagina no seu edison.

root@edison:~/WebInterface/# cd static
root@edison:~/WebInterface/static/# wget https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhqjZ5czY9fNHisMsJRCgVQwY02hdoiX5jWDkhg5Xbe_GuGErNSg6ie3e9kDvBASW0iDYpCBdSS6Frz6nDg5kcykPRQRzc0hB2tYTMcAORBPUudMGxPdLka8HXviy2ungryQztgqzVIoEna/s1600/edison.png

Depois rode a aplicação usando o comando

root@edison:~/WebInterface/# python main.py 










Bom é isso The End ^_^

Comentários

Postagens mais visitadas deste blog

Introdução ao Intel Edison: First Hello Word in Intel Edison

Introdução ao Intel Edison Olá Humanos hoje descidi que iria fazer um post sobre Intel Edison é mostrar um blink/HelloWord usando essa plataforma incrivel ^_^, sabe ? antes de codarmos em si, vamos ver 2 pontos simples, Software e Hardware. Software O.S: primeiro ! ele não usa um OS, ele usa uma build para construir OS, um projeto chamado Yoct, oque ser build ? Pense em um pacote para construir um sistema é pronto ^_^, simples porem tem uma documentação e um pacote completo no link https://www.yoctoproject.org/ Bibliotecas: Inicialmente trabalhamos com a libmraa, fornece uma PWM, GPIO, ADC, e outras interfaces para acesso mais baixo a componentes complexos como sensores e coisas legais. OBS: usamos API python para trabalhar com ela Hardware  Essa e intel Brekout o Edison é apenas o ship pegueno no canto esquerdo da imagem, uma arquitetura baseada no arduino porem com processador e uma microproscessador, bom basicamente é isso, porem o que chama atenção é que ele e um co...

Redirecionamento de Porta usando ngrok (Port Forward with ngrok) SSH

Olá Humanos, estou no pensionato e aqui não tenho acesso ao roteador para fazer um redirencionamento de porta digno affs ¬__¬, sim pensei em Hackear rsrsrs, porem minha preguiça minha preguiça não deixa hauhauha, então encontrei uma ferramenta bem legal chamada ngrok que faz com que eu possa acessar remotamente meu servidor local para brincar com IoT. Instalação e ngrok  link: https://ngrok.com/ Para se cadastrar é bem simples basta logar com conta sua conta do git ou google depois faça download e na https://dashboard.ngrok.com/auth na aba auth pegue seu authtoken e valide no terminal # unzip ngrok-stable-linux-amd64.zip # ./ngrok authtoken <YOUR AUTHTOKEN> Instalando SSH no seu computador  Bom se você usa Ubuntu basta rodar  comando  # apt-get install openssh-server Para testar se o serviço digite  # service ssh status Iniciando SSH no Ngrok Rode o ngrok em protocolo tcp na porta 22  # ./ngrok tcp 22 ...

Dicas rápidas !!!!!

Olá Humanos HOJE vamos aprender a criar um pendrive de boot com windows 7 tipo assim mt mt mt mt mt rapido #NoobAlert Requisitos: 1 - Pendrive de 4GB 1 - PC Windows 7 1 - Internet 1 - Cafe 1º Download ISO windows All-in-on  faça  o download do iso pelo site do Windows 7 All in on, se você não sabe usar o torrent acesse a  esta pagina https://kickass.to/windows-7-all-in-one-pre-activated-excellent-t7661549.html 2º Download do  A Bootable USB  http://www.baixaki.com.br/download/a-bootable-usb.htm OK com o download do arquivo BootableUSB.zip  extraia usando sua ferramente de extração, e acessando a pasta basta executar, abrindo a tela igual a de cima. Clique em  3º Criando Pendrive de Boot Seguindo a sequencia de passo 1 - Clique em Check USB para checar se em realmente um pendrive ali(por favor esteja ja com seu pendrive na porta usb neh) 2 - Clique em Format USB(Sera formatado seu pendrive então e bom que tenha um bkp)...