Índice:

Telegrama Intel Edison Espião + Bot: 5 etapas
Telegrama Intel Edison Espião + Bot: 5 etapas

Vídeo: Telegrama Intel Edison Espião + Bot: 5 etapas

Vídeo: Telegrama Intel Edison Espião + Bot: 5 etapas
Vídeo: A reação à reforma tributária, o tombo da Casas Bahia e entrevista com Luiz Fernando Figueiredo 2024, Junho
Anonim
Telegrama Intel Edison Espião + Bot
Telegrama Intel Edison Espião + Bot
Telegrama Intel Edison Espião + Bot
Telegrama Intel Edison Espião + Bot

Projeto apresentado no Intel IoT Roadshow - São Paulo (nov. 2015)

Exemplo de detecção de imagem com Intel Edison, webcam, programada com Python e OpenCV.

Neste exemplo será como marcado programar uma Intel Edison para vigiar um ambiente e enviar uma notificação via aplicativo (Bot) Telegram caso um rosto seja detectado. Muito útil para evitar que crianças fiquem esquecidas em carros ou para controle de acessos em ambientes restritos.

Para executar este projeto, o ideal é que você já está familiarizado com um Intel Edison.

Caso seja sua primeira utilização, sugiro que leia este artigo:

www.embarcados.com.br/intel-edison-linux-di…

Link do projeto:

github.com/MuriloFerraz/Intel-Edison-Webca…

Etapa 1: Preparando um Intel Edison E Lista De Materiais E Pacotes

Preparando um Intel Edison E Lista De Materiais E Pacotes
Preparando um Intel Edison E Lista De Materiais E Pacotes
Preparando a Intel Edison E Lista De Materiais E Pacotes
Preparando a Intel Edison E Lista De Materiais E Pacotes

Para este projeto é preciso:

- Intel Edison

- Webcam (eu uso um Logitech C270)

1 cabo USB

1 Fonte 7 ~ 12 Vcc

Para o bom funcionamento, sua Intel Edison deve estar conectada a uma rede WiFi com acesso à Internet.

Os principais pacotes devem estar localizados na Intel Edison:

python-opencv, python-numpy, python-pip, telepot. Caso ainda não os tenha, execute os seguintes comandos no terminal da Intel Edison:

# echo -e "src / gz all https://repo.opkg.net/edison/repo/all\nsrc/gz edison https://repo.opkg.net/edison/repo/edison\nsrc/gz core2- 32 https://repo.opkg.net/edison/repo/core2-32 "> /etc/opkg/base-feeds.conf

# opkg update

# opkg install python-opencv

# opkg install python-numpy

# opkg install python-pip

# pip install telepot

É preciso baixar um arquivo para classificação e detecção de rostos para um Intel Edison ser capaz de reconhecer rostos, baixe o arquivo *.xml:

github.com/Itseez/opencv/blob/master/data/…

Transfira com o Filezila para o diretório "/ home / hoot" do Intel Edison.

Etapa 2: Obtendo Um Bot Telegram (BotFather)

Obtendo Um Bot Telegram (BotFather)
Obtendo Um Bot Telegram (BotFather)
Obtendo Um Bot Telegram (BotFather)
Obtendo Um Bot Telegram (BotFather)

Link para instalação do Telegram no android:

play.google.com/store/apps/details?id=org….

Antes de começar a programar, é preciso obter um Bot Telegram, para isso, no seu celular ou cliente para PC do Telegram, converse com "BotFather" para obter um bot.

para mais informações a respeito, visite:

core.telegram.org/bots#botfather

Será solicitado que você escolha um nome de usuário e o nome do Bot, siga as instruções e você obterá uma chave com o seguinte formato:

111111111: AAAAaAaAAAAA1aaaaaA1Aaa1AAAAaa11a1

Para testar seu bot, no terminal do Intel Edison, digite "python" e o console python será iniciado, digite os seguintes comandos:

>> importar telepot

>> bot = telepot. Bot ('*** Sua Chave ***')

>> bot.getMe ()

#### você receberá informações sobre o seu bot

>> saída ()

Etapa 3: Enviando E Recebendo Mensagens

Enviando E Recebendo Mensagens
Enviando E Recebendo Mensagens

Agora é hora da Intel Edison mandar e receber mensagem.

Do seu celular ou cliente para PC envie uma mensagem para seu bot;

Nenhum terminal Intel Edison é hora de executar um pequeno ouvinte, apenas para descobrir o ID do aplicativo instalado no celular ou PC, para isso, siga os passos:

vi listener.py

#! / usr / bin / python

import sys

tempo de importação

importar telepot

identificador de def (msg):

content_type, chat_type, chat_id = telepot.glance2 (msg)

imprimir (content_type, chat_id)

mensagem = msg ['texto']. strip (). lower ()

imprimir mensagem

TOKEN = 'sua chave'

bot = telepot. Bot (TOKEN)

bot.notifyOnMessage (identificador)

imprimir 'Ouvindo…'

enquanto 1:

tempo.sono (10)

### para sair do VI aperte 'Esc', 'w', 'q' e 'Enter'.

#chmod + x listener.py

#./listener.py

Assim você receberá uma mensagem que adicionou do seu celular, anote o user_id (neste formato = 111111111) para enviar mensagem para o celular.

github.com/MuriloFerraz/Intel-Edison-Webca…

Para mandar uma mensagem é mais simples ainda, após ter anotado o user_id, no terminal da Intel Edison basta executar:

Pitão

>> importar telepot

>> bot = telepot. Bot ('Sua chave')

>> bot.sendMessage (user_id, 'Aqui eh intel edison !!!)

>> saída ()

Etapa 4: Reconhecendo Rostos E Notificando

Reconhecendo Rostos E Notificando
Reconhecendo Rostos E Notificando
Reconhecendo Rostos E Notificando
Reconhecendo Rostos E Notificando
Reconhecendo Rostos E Notificando
Reconhecendo Rostos E Notificando

Agora é hora de finalmente finalizar o projeto.

com um Intel Edison desligado, mude uma chave da posição "Client" para "Host" conforme a imagem, "espete" uma webcam na porta USB e volte a ligar seu Intel Edison, utilize uma fonte e o cabo USB de depuração para programar.

Sertifique-se que sua Intel Edison está conectada a uma rede WiFi com acesso a Internet.

vi spy.py

#! / usr / bin / python

import cv2

tempo de importação

import telepotTOKEN = '111111111: AAAOaOaAaAAA1aataAq2qaa9XAAajAe35b8'

bot = telepot. Bot (TOKEN)

video_capture = cv2. VideoCapture (0)

face_cascade = cv2. CascadeClassifier ('/ home / root / haarcascade_frontalface_alt.xml')

enquanto verdadeiro:

ret, frame = video_capture.read ()

faces = face_cascade.detectMultiScale (frame, 1.3, 5)

se len (faces)> 0:

mensagem = "Encontrei {0} pessoas, marcados! / n Proximo aviso em 5 minutos.".format (.len (faces)) bot.sendMessage (121111111, mensagem)

time.sleep (300)

video_capture.release ()

### Salve o arquivo, de permissão para execução:

#chmod + x spy.py

### executar o programa:

#./spy.py

## Se posicione na frente da webcam, quando um rosto for detectado, a notificação será enviada.

Se preferir acesse:

github.com/MuriloFerraz/Intel-Edison-Webca…

Passo 5: Testando a Detecção Em Tempo Real E Streaming De Imagens

Testando a Detecção Em Tempo Real E Streaming De Imagens
Testando a Detecção Em Tempo Real E Streaming De Imagens
Testando a Detecção Em Tempo Real E Streaming De Imagens
Testando a Detecção Em Tempo Real E Streaming De Imagens
Testando a Detecção Em Tempo Real E Streaming De Imagens
Testando a Detecção Em Tempo Real E Streaming De Imagens

Se você gostaria de testar a detecção facial com envio de imagens em tempo real, transfira e execute este script.

github.com/MuriloFerraz/Intel-Edison-Webca…

Para o correto funcionamento deste programa, além dos itens do primeiro passo, é preciso baixar e transferir para o diretório "/ home / root" no seguinte arquivo *.xml:

github.com/Itseez/opencv/blob/master/data/…

para criar um "cliente" no PC para receber as imagens do Intel Edison e ver o resultado do reconhecimento facial, por favor leia o excelente artigo do Prof. André Curvello em:

www.embarcados.com.br/visao-computacional-o…

Principalmente a parte "Codificação da Aplicação Cliente"

Recomendado: