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 ...

Usando IDE arduino para programar nodemcu(esp-12)

Olá primeiramente vamos começar esse tutorial com a IDE do arduino na versão mais atual minha versão é 1.6.8, primeiramente vamos abrir o IDE arduino Depois vamos em arquivo e clicamos na aba preferencias é em "Urls adicionais de gerenciadores de placas colamos o seguinte Link( http://arduino.esp8266.com/stable/package_esp8266com_index.json  ) depois clique em OK é espera fazer update.  Depois quando a aba se fechar, vá no menu Ferramentas >>> Placas >>> Gerenciador de Placas rola a aba para o final e clique em Instalar ! Quando estiver instalado é so fechar ! na Aba Ferramentas >>> Placas >>> Selecionar sua placa nodemcu ou generic esp8266 ! Simples neh ! Referencia-a: http://pedrominatel.com.br/arduino/como-utilizar-o-esp8266-com-a-ide-arduino-instalando-o-modulo/