Índice:

Beaglebone Black Web Control usando WebPy: 6 etapas
Beaglebone Black Web Control usando WebPy: 6 etapas

Vídeo: Beaglebone Black Web Control usando WebPy: 6 etapas

Vídeo: Beaglebone Black Web Control usando WebPy: 6 etapas
Vídeo: Web Interfaces to Control Hardware on the BeagleBone Black - Simon Monk 2024, Julho
Anonim
Beaglebone Black Web Control usando WebPy
Beaglebone Black Web Control usando WebPy
Beaglebone Black Web Control usando WebPy
Beaglebone Black Web Control usando WebPy

Sempre quis criar uma maneira de controlar a porta de sua garagem usando seu telefone, talvez coletar dados e visualizá-los em seu laptop. Existe um computador de placa única chamado Beaglebone Black, que é um dispositivo extremamente poderoso que permite controlar seus pinos GPIO para interagir com itens do mundo real, como motores, LEDs, lâmpadas, etc. O Beaglebone é como um pi framboesa placa, mas muito mais poderoso. A comunidade Beaglebone não é tão grande quanto a do framboesa pi, então fique atento para a falta de tutoriais.

Enquanto eu estava pesquisando na internet por uma solução para controlar meu Beaglebone Black de meu laptop usando uma página da web, muitos tutoriais surgiram usando a biblioteca bonescript do Beaglebone e a biblioteca socket.io usando o cloud 9 ide. Conforme eu seguia os tutoriais e olhava o código das pessoas, fiquei frustrado com o fato de que o ide cloud 9 continuava travando, minha falta de compreensão de javascript e também a falta de flexibilidade de cada tutorial (cada tutorial forçava você a usar uma quantidade predefinida de GPIO's). Eu estava familiarizado com o python e meu amigo me apresentou o web.py, que é uma ótima estrutura da web usada para desenvolver aplicativos da web. Eu também usei a biblioteca Beaglebone Black GPIO da Adafruit para controlar os pinos individuais do Beaglebone Black.

O que você vai precisar:

  • Um computador
  • Terminal SSH como PuTTY ou use SSH no terminal (para Mac e Linux, o Windows não tem SSH integrado)
  • Um Beaglebone Black conectado ao computador via USB
  • Uma conexão de internet para o Beaglebone Black
  • (opcional) Um cliente SFTP

Etapa 1: instalar as bibliotecas Python necessárias

Precisamos instalar duas bibliotecas que não são módulos padrão no python 2.7. As bibliotecas são as bibliotecas Adafruit BBIO e WebPy. Precisamos acessar o Beaglebone usando SSH. Decidi usar o terminal PuTTy e acessá-lo usando o endereço IP do beaglebone, o meu é 192.168.7.2 o seu pode ser encontrado no beaglebone start.html. Se você estiver usando Angstrom, digite:

  • opkg update && opkg install python-pip python-setuptools python-smbus
  • pip install Adafruit_BBIO
  • pip install web.py

Se você estiver usando Debian ou Ubuntu:

  • sudo apt-get update
  • sudo apt-get install build-essential python-dev python-setuptools python-pip python-smbus -y
  • pip install Adafruit_BBIO
  • pip install web.py

Para testar se as bibliotecas estão instaladas corretamente, digite:

  • Pitão
  • importar web
  • import Adafruit_BBIO. GPIO

Se nenhum erro ocorrer no console Python, você instalou as bibliotecas corretamente e estamos prontos para codificar.

Etapa 2: o código Python

O código Python
O código Python

O código python é bastante fácil de entender se você estiver familiarizado com o uso de python; se você for um iniciante em programação, poderá ter alguns problemas para entender partes do código.

A documentação das 2 bibliotecas pode ser encontrada aqui:

  • Web.py
  • Adafruit GPIO Library

Eu escrevi o código e comentei para que você entenda e mexa nele.

Etapa 3: Criação da página da web

Criação da página da web
Criação da página da web

Se você o código python que anexei, você pode me ver falando sobre a solicitação GET. Uma solicitação GET é basicamente uma maneira de uma página da Web se comunicar com um servidor. Para adicionar, excluir e alternar as saídas, estamos usando Jquery para fazer algumas solicitações get básicas. Anexei uma página html que faz exatamente isso e também comentei o código para sua conveniência.

O arquivo control.html está aqui: view-source:

Etapa 4: Transferir o arquivo Python para seu Beaglebone

Transferindo o arquivo Python para seu Beaglebone
Transferindo o arquivo Python para seu Beaglebone

Você pode transferir o arquivo main.py via linha de comando, mas para transferir arquivos facilmente irei usar o WinSCP (você pode usar qualquer cliente sftp) que você pode baixar aqui. Existe o Cyberduck para usuários de mac, mas como eu sou um usuário de PC, não sei qual é o melhor, então você tem que pesquisar no Google. O processo é simples, basta arrastar o arquivo main.py na Área de Trabalho ou em qualquer outro diretório de sua escolha.

Etapa 5: executando o servidor

Executando o servidor
Executando o servidor

Executar o servidor é fácil, basta usar SSH usando PuTTY ou seu terminal e alterar seu diretório para o diretório main.py. Digitar:

python main.py 1234

Agora o que acabamos de fazer é pedir ao python para executar o arquivo main.py na porta 1234

Etapa 6: Você tem o controle

Você tem o controle!
Você tem o controle!
Você tem o controle!
Você tem o controle!
Você tem o controle!
Você tem o controle!

Agora vá para o arquivo control.html e abra com o google chrome ou qualquer outro navegador que você use, você terá uma página da web com 2 caixas de texto e 3 botões. A caixa de texto do número do pino pede o número do pino, como P8_10 ou P8_29, etc. Você precisa preencher o nome para usar os botões de exclusão e troca. Agora que você tem controle da web, pode usar este exemplo para criar um painel mais avançado. Talvez use recursos de banco de dados para usar seu Beaglebone Black como um registrador de dados ou usá-lo para automação residencial, as possibilidades são infinitas. Se você gosta deste instrutível, por favor, vote neste projeto no concurso de criações codificadas e também marque este projeto como favorito. Obrigado por ler este instrutível e continue hackeando!:)

Recomendado: