Sommario:
Video: Intel Edison Espião + Bot Telegram: 5 passaggi
2025 Autore: John Day | [email protected]. Ultima modifica: 2025-01-13 06:57
Projeto apresentado no Intel IoT Roadshow - San Paolo (nov. 2015)
Esempio di rilevamento di immagini con Intel Edison, webcam, programmata con Python e OpenCV.
Neste exemplo será dimostrato come programar uma Intel Edison para vigiar um ambiente e enviar um 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.
Para executar este projeto, o ideal é 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…
Link al progetto:
github.com/MuriloFerraz/Intel-Edison-Webca…
Passaggio 1: preparare un Intel Edison E Lista De Materiais E Pacotes
Para este progetto é preciso:
- Intel Edison
- Webcam (usando una Logitech C270)
1 cavo USB
1 Fonte 7~12 Vcc
Per il corretto funzionamento, la sua Intel Edison deve essere collegata a una nuova connessione WiFi con accesso a Internet.
I successivi passaggi devonom estar installati su Intel Edison:
python-opencv, python-numpy, python-pip, telepot. Caso ainda não os tenha, execute os seguintes commands 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
# aggiornamento opkg
# opkg install python-opencv
# opkg install python-numpy
# opkg install python-pip
# pip installa 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/…
Transfira com o Filezila para o diretório "/home/hoot" da Intel Edison.
Passaggio 2: Obtendo Um Bot Telegram (BotFather)
Link per l'installazione di Telegram su 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.
per maggiori informazioni a respeito, visite:
core.telegram.org/bots#botfather
Será sollecitato 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:AAAAaAaAAAAAA1aaaaaA1Aaa1AAAAaa11a1
Per testare seu bot, no terminal da Intel Edison digite "python" e o console python se iniciado, digite os seguenti comandi:
>> importa telepot
>> bot = telepot. Bot(' *** Sua Chave ***')
>> bot.getMe()
#### você receberá informações sobre seu bot
>> uscita()
Passaggio 3: Enviando E Recebendo Mensagens
Agora é ora da Intel Edison mandar e receber mensagem.
Do seu celular ou cliente para PC envie uma mensagem para seu bot;
No terminal Intel Edison é hora de executar um pequeno listener, apenas para descobrir o ID do aplicativo instalado no celular ou PC, para isso siga os passis:
vi ascoltatore.py
#! /usr/bin/python
sistema di importazione
tempo di importazione
importare telepot
def handle(msg):
content_type, chat_type, chat_id = telepot.glance2(msg)
stampa (tipo_contenuto, id_chat)
mensagem = msg['testo'].strip().lower()
stampa messaggio
TOKEN = 'sua chave'
bot = telepot. Bot(TOKEN)
bot.notifyOnMessage(handle)
stampa 'Ascolto…'
mentre 1:
tempo.sonno(10)
### para sair do VI aperte 'Esc', 'w', 'q' e 'Enter'.
#chmod +x listener.py
#./listener.py
Assim você receberá a mensagem que enviou 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:
pitone
>> importa telepot
>> bot = telepot. Bot(' Sua chave ')
>> bot.sendMessage(user_id, 'Aqui eh intel edison!!!)
>> uscita()
Passaggio 4: Riconnettere Rostos E Notificando
Agora é hora de finalmente finalizzare o projeto.
com a Intel Edison desligada, modifica la posizione "Client" per "Host" conforme a imagem, "espete" una webcam sulla porta USB e, a volte, su Intel Edison, utilizza una fonte e un cavo USB per il debug per il programmatore.
Sertifique-se que sua Intel Edison esteja conectada a uma rede WiFi com acesso a Internet.
vi spy.py
#! /usr/bin/python
importa cv2
tempo di importazione
import telepotTOKEN = '111111111:AAAOaOaAaAAA1aataAq2qaa9XAAajAe35b8'
bot = telepot. Bot(TOKEN)
video_capture = cv2. VideoCapture(0)
face_cascade = cv2. CascadeClassifier('/home/root/haarcascade_frontalface_alt.xml')
mentre vero:
ret, frame = video_capture.read()
facce = face_cascade.detectMultiScale(frame, 1.3, 5)
se len(facce) > 0:
mensagem = "Incontro {0} pessoas, verifique! \n Proximo aviso em 5 minuti.".format(.len(faces)) bot.sendMessage(121111111, messaggio)
tempo.sonno(300)
video_capture.release()
### Salve o arquivo, de permissão para execução:
#chmod +x spy.py
### esegui o programma:
#./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…
Passaggio 5: testare un rilevamento del tempo reale e lo streaming di immagini
Se você gostaria de testar a detecção facial com envio de imagens em tempo real, transfira ed 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" o 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"