Spisu treści:

Intel Edison Espião + Bot Telegram: 5 kroków
Intel Edison Espião + Bot Telegram: 5 kroków

Wideo: Intel Edison Espião + Bot Telegram: 5 kroków

Wideo: Intel Edison Espião + Bot Telegram: 5 kroków
Wideo: Triangle Plotting Sparki Robot - Bil486-Robotics Course 2024, Listopad
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

Prezentacja projektu podczas pokazu Intel IoT Roadshow - São Paulo (listopad 2015)

Przykład wykrywania obrazu z Intel Edison, kamera internetowa, programowanie w Pythonie i OpenCV.

Neste przykładowy sera demonstracja como programar uma Intel Edison para vigiar um ambiente i enviar uma notificação przez 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 Intel Edison.

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

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

Link do projektu:

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

Krok 1: Przygotuj Intel Edison E Lista De Materiais E Pacotes

Przygotuj Intel Edison E Lista De Materiais E Pacotes
Przygotuj Intel Edison E Lista De Materiais E Pacotes
Przygotuj Intel Edison E Lista De Materiais E Pacotes
Przygotuj Intel Edison E Lista De Materiais E Pacotes

Para este projeto é preciso:

- Intel Edison

- Kamera internetowa (użyj urządzenia Logitech C270)

1 kabel USB

1 Czcionka 7~12 Vcc

Aby zapewnić prawidłowe działanie, na przykład Intel Edison może połączyć się z siecią Wi-Fi z dostępem do Internetu.

Os seguintes pacotes devem estar instalados na Intel Edison:

python-opencv, python-numpy, python-pip, telepot. Caso ainda não os tenha, wykonaj 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

# aktualizacja opkg

# opkg zainstaluj python-opencv

# opkg zainstaluj python-numpy

# opkg zainstaluj python-pip

# pip zainstaluj 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.

Krok 2: Telegram Obtendo Um Bot (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 da Intel Edison digite „python” e o Console python será iniciado, digite os seguintes comandos:

>> importuj telepot

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

>> bot.getMe()

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

>> wyjdź()

Krok 3: Enviando E Recebendo Mensagens

Enviando E Recebendo Mensagens
Enviando E Recebendo Mensagens

Agora i Hora z Intel Edison Mandar i odbiór wiadomości.

Czy seu celular lub klientem dla PC envie uma mensagem dla 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 passos:

vi słuchacz.py

#! /usr/bin/python

system importu

czas importu

importuj telepot

def uchwyt (wiadomość):

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

drukuj (content_type, chat_id)

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

drukuj wiadomość

TOKEN = 'sua chave'

bot = telepot. Bot(TOKEN)

bot.notifyOnMessage(uchwyt)

drukuj 'Słuchanie…'

podczas gdy 1:

czas.sen(10)

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

#chmod +x listener.py

#./słuchacz.py

Assim você receberá a mensagem que enviou zrobić seu celular, uwaga o user_id (neste formato = 111111111) para enviar mensagem para o celular.

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

Dla mandar uma mensagem é mais simples ainda, após ter anotado o user_id, bez terminala z programem wykonawczym Intel Edison:

pyton

>> importuj telepot

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

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

>> wyjdź()

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

com a Intel Edison desligada, mude a chave da posição „Client” para „Host” conforme a imagem, „espete” a webcam na porta USB e volte a ligar sua Intel Edison, użyj fonte e o cabo USB de debug para programar.

Sertifique-se que sua Intel Edison esteja połączy się z uma rede Wi-Fi z dostępem do Internetu.

vi spy.py

#! /usr/bin/python

importuj cv2

czas importu

importuj telepotTOKEN = '111111111:AAAOaOaAaAAA1aataAq2qaa9XAAajAe35b8'

bot = telepot. Bot(TOKEN)

video_capture = cv2. VideoCapture(0)

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

podczas gdy prawda:

ret, ramka = video_capture.read()

twarze = face_cascade.detectMultiScale(ramka, 1.3, 5)

jeśli len(twarze) > 0:

mensagem = "Przyjmij {0} pesos, zweryfikuj! \n Proximo w ciągu 5 minut.".format(.len(twarze)) bot.sendMessage(121111111, wiadomość)

czas.sen(300)

video_capture.release()

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

#chmod +x spy.py

### wykonaj program:

#./szpieg.py

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

Wybierz preferowany dostęp:

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

Krok 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 detecção twarzy com envio de imagens em tempo real, transfira e wykonać este script.

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

Para o correto funcionamento deste programa, alem 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 face, por favor leia o excelente artigo prof. André Curvello em:

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

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

Zalecana: