Cov txheej txheem:

Intel Edison Espião + Bot Telegram: 5 Cov Kauj Ruam
Intel Edison Espião + Bot Telegram: 5 Cov Kauj Ruam

Video: Intel Edison Espião + Bot Telegram: 5 Cov Kauj Ruam

Video: Intel Edison Espião + Bot Telegram: 5 Cov Kauj Ruam
Video: Triangle Plotting Sparki Robot - Bil486-Robotics Course 2024, Kaum ib hlis
Anonim
Intel Edison Espião + Bot Telegram
Intel Edison Espião + Bot Telegram
Intel Edison Espião + Bot Telegram
Intel Edison Espião + Bot Telegram

Projeto apresentado tsis muaj Intel IoT Roadshow - São Paulo (Kaum Ib Hlis 2015)

Piv txwv li deecção de imagem com Intel Edison, webcam, programada com Python e OpenCV.

Neste exemplo será demonstrado como 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 pra controle de acessos em ambientes restritos.

Txhawm rau ua kom tiav, ua qhov zoo tshaj plaws é que você já esteja familiarizado com a Intel Edison.

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

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

Txuas mus rau projeto:

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

Kauj Ruam 1: Npaj rau Intel Edison E Lista De Materiais E Pacotes

Npaj ua ntej rau Intel Edison E Lista De Materiais E Pacotes
Npaj ua ntej rau Intel Edison E Lista De Materiais E Pacotes
Npaj ua ntej rau Intel Edison E Lista De Materiais E Pacotes
Npaj ua ntej rau Intel Edison E Lista De Materiais E Pacotes

Rau qhov kev npaj ua ntej thiab ua ntej:

- Intel Edison

- Webcam (eu siv Logitech C270)

1 USB chaw nres nkoj

1 Fonte 7 ~ 12 Vcc

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

Os seguintes pacotes devem estar instalados ntawm Intel Edison:

nab hab sej-opencv, nab hab sej-numpy, nab hab sej-pip, telepot. Caso ainda não os tenha, ua raws li seguintes comandos tsis muaj davhlau ya nyob twg nrog Intel Edison:

# echo -e "src/gz tag nrho 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 hloov tshiab

# opkg nruab python-opencv

# opkg nruab sej-numpy

# opkg nruab sej-pip

# pip nruab telepot

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

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

Hloov pauv los ntawm Filezila rau o diretório "/home/hoot" nrog Intel Edison.

Kauj Ruam 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)

Txuas rau instalação rau Telegram rau hauv:

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 respeito, mus saib:

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: HAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA

Para testar seu bot, tsis muaj lub davhlau ya nyob twg ntawm Intel Edison digite "sej" e o console python será iniciado, digite os seguintes comandos:

>> import telepot

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

>> bot.getMe () cov

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

>> tawm ()

Kauj Ruam 3: Enviando E Recebendo Mensagens

Enviando E Recebendo Mensagens
Enviando E Recebendo Mensagens

Lub tuam txhab ua haujlwm nrog Intel Edison lub luag haujlwm thiab lub luag haujlwm.

Ua seu celular ou cliente rau PC envie uma mensagem para seu bot;

Tsis muaj lub davhlau ya nyob twg Intel Edison é hora de executar um pequeno mloog, apenas para descobrir o ID ua aplicativo instalado tsis muaj celular ou PC, para isso siga os passos:

vi mloog.py

#! /usr/bin/nab hab sej

ntshuam sys

lub sij hawm ntshuam

ntshuam telepot

def tuav (msg):

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

print (ntsiab lus_type, chat_id)

mensagem = msg ['text']. strip (). qis dua ()

luam tawm mensagem

TOKEN = 'sua chaw'

bot = telepot. Bot (TOKEN)

bot.notifyOnMessage (tuav)

sau 'Mloog …'

thaum 1:

sijhawm.sleep (10)

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

#chmod +x mloog.py

#./listener.py ua

Assim você receberá a mensagem que enviou do seu celular, anote o user_id (neste formato = 111111111) rau 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, tsis muaj davhlau ya nyob twg nrog Intel Edison basta executar:

nab hab sej

>> import telepot

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

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

>> tawm ()

Kauj ruam 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 Intel Edison desligada, mude a chave da posição "Client" para "Host" ua raws lub tswv yim, "espete" lub webcam nrog porta USB e volte a ligar sua Intel Edison, siv fonte e o cabo USB de debug para programar.

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

koj spy.py

#! /usr/bin/nab hab sej

ua cv2

lub sij hawm ntshuam

ntshuam telepotTOKEN = '111111111: AAAOaOaAaAAA1aataAq2qaa9XAAajAe35b8'

bot = telepot. Bot (TOKEN)

video_capture = cv2. VideoCapture (0)

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

thaum Muaj Tseeb:

ret, thav duab = video_capture.read ()

face = face_cascade.detectMultiScale (thav duab, 1.3, 5)

yog len (ntsej muag)> 0:

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

sijhawm.sleep (300)

video_capture.release ()

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

#chmod +x spy.py

### Ua tiav qhov programa:

#./spy.py ua

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

Yog xav paub ntxiv:

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

Kauj Ruam 5: Txheeb Xyuas 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 tsab ntawv.

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" o seguinte arquivo *.xml:

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

para criar um "tus neeg siv khoom" tsis muaj PC rau tus txais raws li kev xav ua Intel Edison e ver o resultado do reconhecimento ntsej muag, ntawm kev nyiam leia o excelente artigo ua Prof. André Curvello em:

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

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

Pom zoo: