(20 revisões intermediárias pelo mesmo usuário não estão sendo mostradas)
Linha 1: Linha 1:
=Reuniões- Esolvere=
=Reuniões=
 
*Essa seção é destinada a problemas apresentados pelos clientes.
 


=='''Primeira Reunião:'''==
=='''Primeira Reunião:'''==
Linha 30: Linha 27:
'''11/12/2014'''
'''11/12/2014'''


'''Presentes: Alvason, Bruno Magalhães, Daniel,  D.maldini, Gabriel Carranza, Luiz Scarpelli e Ricardo.'''
'''Presentes: Alvason, Bruno Magalhães (não presente), Daniel ValeDiego Maldini, Gabriel Carranza, Luiz Scarpelli e Ricardo.'''


{
{
*Apresentação de uma posbox
*Demonstração de uma solução embarcada
*Formas de conexões
*Cloud
*Fieldbus
*Modulo I/O
*Sensores
*Driver
*Atuadores
A apresentação foi muito bem compreendida, ocorreram erros no protótipo e exclui o código QR do celular, no momento da apresentação não tinha codigo para leitura, o codigo que tinha a resolução não era boa. O teste em casa funcinou perfeitamente. O ocorrido favoreceu a minha apresentação pois em momento algum mostrei o que eu tinha pronto, e melhor ainda, não mostrei solução concreta alguma. Visualmente todos compraram a idéia, permaneci no local por umas três horas, onde fui levado ao uma sala de reuniões, passou-se o tempo limite na sala, sinal de que estávamos bem distraídos, então fomos para a fábrica. Ali permaneci muito próximo do Diego que é o técnico no setor de manunteção. Desde o começo tive uma aproximação a ele, de certa forma ele entende tudo que eu quero entender.
Os gerentes: industrial e TI, visualizam muito bem oque pode ser feito, e como estão ligados direto a administração (MBA), tecnologia. Querem uma solução como essa. Mas não existe uma conexão clara. Sensores, io, CLP, sistema supervisório e ERP(aqui existe um modulo que comunica com a fábrica). O objetivo é conectar todas as soluções paralelamente, mas que compare com o módulo ERP. Aqui ele conseguem me disponibilizar um espelho de tabela. A ideia é uma rede de informações paralelas, que comparam com espelhos de banco de dados. Aqui tem um dado real, de sensor, com uma tabela, entrada de mercadoria, incosistente. Essa comparação: dado real, dado incosistente. Resultado um dado incosistente, mais próximo do valor absoluto. Isso diminui erros, mas não cessa. O alerta na analise em tempo real, é fundamento ser corrigida; Pois o erro nunca será absoluto, logo existem formas de anomalias. As que me fizeram pensar mais foi uma solução para alterar a insatisfação do funcionário, existe casos dos próprios funcionários pararem a máquina propositalmente. Como se vivessemos na luta do homem com a máquina, pós revolução industrial. O clima hostil da fábrica me deixou preocupado. A solução a ser esculpida, é uma câmera que controla qualidade e monitore alguns processos da fabricação. Como vai ser usado imagem e processamento. O banco de dados final dessas imagens será um BD grafos. Que processa, e emite relatório dos processamentos anteriores uma BD documentos que compara com tabelas do modulo ERP.
}
=='''Terceira Reunião:'''==
'''20/12/2014'''
'''Presentes: Diego Maldini, Gabriel Carranza e Luiz Scarpelli'''
{
*Demonstração da solução para leitura de validade e lotes.
*Conectar ao modbus, para receber o momento em que a máquina imprime e o momento que passar pelo sensor.
*Acesso ao espelho do banco de dados.
*SDcard.
*Validação do dispositivo.
*Teste de 30 dias.
*Captura para a cloud.
*Comparativo.
[[Arquivo:computaçãovisual.png]]
[[Arquivo:organizacional.png]]


}
}
Linha 113: Linha 149:
'''pi#''' sudo apt-get upgrade
'''pi#''' sudo apt-get upgrade


'''pi#''' sudo apt-get install build-essential cmake pkg-config
'''pi#''' sudo apt-get -y install build-essential cmake cmake-curses-gui pkg-config libpng12-0 libpng12-dev libpng++-dev libpng3 libpnglite-dev zlib1g-dbg zlib1g zlib1g-dev pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools libeigen3-dev


'''pi#''' sudo apt-get install python-numpy python-scipy python-matplotlib python-pandas python-nose
'''pi#''' sudo apt-get -y install libjpeg8 libjpeg8-dev libjpeg8-dbg libjpeg-progs ffmpeg libavcodec-dev libavcodec53 libavformat53 libavformat-dev libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libxine1-ffmpeg libxine-dev libxine1-bin libunicap2 libunicap2-dev swig libv4l-0 libv4l-dev python-numpy libpython2.6 python-dev python2.6-dev libgtk2.0-dev


'''pi#''' sudo apt-get install default-jdk ant
'''pi#''' wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download opencv-2.4.9.zip


'''pi#''' sudo apt-get install libgtkglext1-dev
'''pi#''' git clone https://github.com/Itseez/opencv.git


'''pi#''' sudo apt-get install bison
'''pi#'' unzip opencv-2.4.9.zip
 
'''pi#''' sudo apt-get install qt4-dev-tools libqt4-dev libqt4-core libqt4-gui
 
'''pi#''' sudo apt-get install v4l-utils
 
'''pi#''' wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download opencv-2.4.9.zip
 
'''pi#''' unzip opencv-2.4.9.zip


'''pi#''' cd opencv-2.4.9
'''pi#''' cd opencv-2.4.9
Linha 137: Linha 165:
'''pi#''' cd build
'''pi#''' cd build


'''pi#''' cmake -D CMAKE_BUILD_TYPE=RELEASE \
'''pi#''' ccmake ../
-D INSTALL_C_EXEMPLES=ON \
-D INSTALL_PYTHON_EXEMPLES=ON \
-D BUILD_EXEMPLES=ON \
-D WITH_QT=ON \
-D CMAKE_INSTALL_PREFIX=/usr/local \
-D WITH_OPENGL=ON \
-D WITH_V4L=ON \
-D BUILD_NEW_PYTHON_SUPPORT=ON \
-D WITH_TBB=ON ..


'''pi#''' make
'''pi#''' make
Linha 152: Linha 171:
'''pi#''' sudo make install
'''pi#''' sudo make install


'''pi#''' sudo nano /etc/ld.so.conf.d/opencv.conf
==='''uv4l'''===
'''pi#''' sudo rpi-update


'''pi#''' /usr/local/lib
'''pi#''' wget http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc && sudo apt-key add ./lrkey.asc


'''pi#''' sudo ldconfig
'''pi#''' nano /etc/apt/sources.list


'''pi#''' sudo nano /etc/bash.bashrc
*deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main


'''pi#''' PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig export PKG_CONFIG_PATH
'''pi#''' sudo apt-get update


'''pi#''' cd $HOME/opencv-2.4.9/samples/c
'''pi#''' sudo apt-get install uv4l uv4l-raspicam


'''pi#''' ./build_all.sh
'''pi#''' sudo apt-get install uv4l-raspicam-extras


'''pi#''' ./$HOME/opencv-2.4.9/samples/c/facedetect
==='''OCR'''===
'''pi#''' sudo apt-get install tesseract-ocr imagemagick


==='''uv4l'''===
'''pi#''' convert test.jpg  -threshold 20% test.jpg
'''pi#''' sudo rpi-update


'''pi#''' wget http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc && sudo apt-key add ./lrkey.asc
'''pi#''' tesseract test.jpg test


'''pi#''' nano /etc/apt/sources.list
'''pi#''' raspistill -o image.jpg | convert image.jpg  -threshold 20% imagebw.jpg | tesseract imagebw.jpg  imagebw | cat imagebw.txt


*deb http://www.linux-projects.org/listing/uv4l_repo/raspbian/ wheezy main
=='''Código Python'''==


'''pi#''' sudo apt-get update
import pytesseract


'''pi#''' sudo apt-get install uv4l uv4l-raspicam
import RPi.GPIO as GPIO


'''pi#''' sudo apt-get install uv4l-raspicam-extras
import time


==='''ZBAR'''===
'''pi#''' sudo apt-get install python-gtk2-dev


'''pi#''' wget http://sourceforge.net/projects/zbar/files/zbar/0.10/zbar-0.10.tar.bz2/download -O zbar-0.10.tar.bz2
GPIO.setmode(GPIO.BOARD)  //Configura o modo de definição de pinos como BOARD (contagem de pinos da placa)


'''pi#''' bunzip2 zbar-0.10.tar.bz2
GPIO.setwarnings(False)          //Desativa os avisos


'''pi#''' tar -xvf zbar-0.10.tar
GPIO.setup(18, GPIO.OUT)      //Configura o pino 18 da placa (GPIO24) como saída


'''pi#''' mkdir -v zbar-build
while(1):                                  //Inicia o loop infinito


'''pi#''' cd zbar-build
print("LED ACESO\n")          //Escreve na Python Shell a mensagem "LED ACESO" e pula uma linha
../zbar-0.10/configure \
    --prefix=/usr/local \
    --disable-video \
    --without-imagemagick


'''pi#''' make
GPIO.output(18, 1)              //Coloca o pino 18 em nível alto (1)


'''pi#''' make check
time.sleep(1)                        //Delay de 1 segundo


'''pi#''' sudo make install
print("LED APAGADO\n")      //Escreve na Python Shell a mensagem "LED APAGADO" e pula uma linha


'''pi#''' sudo nano /etc/ld.so.conf.d/zbar.conf
GPIO.output(18, 0)              //Coloca o pino 18 em nível baixo (0)


'''pi#''' /usr/local/lib
time.sleep(1)                        //Delay de 1 segundo


'''pi#''' sudo ldconfig
=Validação=
[[Arquivo:modelagemfinal.jpg]]

Edição atual tal como às 22h18min de 1 de fevereiro de 2015

Reuniões

Primeira Reunião:

1/12/2014

Presentes: Gabriel Carranza e Luiz Scarpelli

{

1° Problema: Dificuldade na gestão do ERP, dados inconsistentes são inseridos no sistema com erro de digitação e em alguns casos com duplicidade de dados. As queixas são de funcionário distraído, a multiplicidade de funções dada a um único funcionário aumentam os casos de desvio de foco.

2° Problema: Ao dar entrada de paletes nos caminhões de distribuição, acontece dos funcionários trocarem a ordem e local de entrega, os motivos são pouco espaço físico, falta de padronização das operações.

3° Problema: As esteiras automatizadas e sopradoras, em algum momento param e os técnico tem dificuldade em determinar o problema, o pedido do cliente requer uma dashboard que avise aos superiores que houve uma parada na produção, que o técnico já foi comunicado e está em manutenção e assim que a máquina voltar a funcionar o sistema automaticamente detecta sem que o funcionário tenha que avisar ao sistema.

1° Solução Proposta: Desenvolver pequenas caixas de processamento, que armazenam sinais de sensores e enviam feedback quando determinada uma anomalia de processo.

2° Solução Proposta: Para o caso dos paletes, desenvolver um sistema tracking color, o algoritmo tem como função detectar a cor de cada palete e alertar quando determinada cor não entrar no caminhão correto. O alerta será feito por uma luz vermelha e um sinal falso.

3° Solução Proposta: Utilizando de sensores poderemos monitorar as máquinas, com o monitoramento completo, poderemos fazer manutenção preventiva em determinada parte que apresentam aos sensores, desgaste. Baseado em eventos passados, poderemos prever alguns problemas.

}

Segunda Reunião:

11/12/2014

Presentes: Alvason, Bruno Magalhães (não presente), Daniel Vale, Diego Maldini, Gabriel Carranza, Luiz Scarpelli e Ricardo.

{

  • Apresentação de uma posbox
  • Demonstração de uma solução embarcada
  • Formas de conexões
  • Cloud
  • Fieldbus
  • Modulo I/O
  • Sensores
  • Driver
  • Atuadores

A apresentação foi muito bem compreendida, ocorreram erros no protótipo e exclui o código QR do celular, no momento da apresentação não tinha codigo para leitura, o codigo que tinha a resolução não era boa. O teste em casa funcinou perfeitamente. O ocorrido favoreceu a minha apresentação pois em momento algum mostrei o que eu tinha pronto, e melhor ainda, não mostrei solução concreta alguma. Visualmente todos compraram a idéia, permaneci no local por umas três horas, onde fui levado ao uma sala de reuniões, passou-se o tempo limite na sala, sinal de que estávamos bem distraídos, então fomos para a fábrica. Ali permaneci muito próximo do Diego que é o técnico no setor de manunteção. Desde o começo tive uma aproximação a ele, de certa forma ele entende tudo que eu quero entender. Os gerentes: industrial e TI, visualizam muito bem oque pode ser feito, e como estão ligados direto a administração (MBA), tecnologia. Querem uma solução como essa. Mas não existe uma conexão clara. Sensores, io, CLP, sistema supervisório e ERP(aqui existe um modulo que comunica com a fábrica). O objetivo é conectar todas as soluções paralelamente, mas que compare com o módulo ERP. Aqui ele conseguem me disponibilizar um espelho de tabela. A ideia é uma rede de informações paralelas, que comparam com espelhos de banco de dados. Aqui tem um dado real, de sensor, com uma tabela, entrada de mercadoria, incosistente. Essa comparação: dado real, dado incosistente. Resultado um dado incosistente, mais próximo do valor absoluto. Isso diminui erros, mas não cessa. O alerta na analise em tempo real, é fundamento ser corrigida; Pois o erro nunca será absoluto, logo existem formas de anomalias. As que me fizeram pensar mais foi uma solução para alterar a insatisfação do funcionário, existe casos dos próprios funcionários pararem a máquina propositalmente. Como se vivessemos na luta do homem com a máquina, pós revolução industrial. O clima hostil da fábrica me deixou preocupado. A solução a ser esculpida, é uma câmera que controla qualidade e monitore alguns processos da fabricação. Como vai ser usado imagem e processamento. O banco de dados final dessas imagens será um BD grafos. Que processa, e emite relatório dos processamentos anteriores uma BD documentos que compara com tabelas do modulo ERP.


}

Terceira Reunião:

20/12/2014

Presentes: Diego Maldini, Gabriel Carranza e Luiz Scarpelli

{

  • Demonstração da solução para leitura de validade e lotes.
  • Conectar ao modbus, para receber o momento em que a máquina imprime e o momento que passar pelo sensor.
  • Acesso ao espelho do banco de dados.
  • SDcard.
  • Validação do dispositivo.
  • Teste de 30 dias.
  • Captura para a cloud.
  • Comparativo.



}

Esquema de rotina

Esquema de solução

Área Amarela Extrair

Área Azul Analytics

Área Vermelha Reconhecimento

Construindo

OS

command line:

user# df -h

user# mkfs.vfat /dev/xxx1

user# umount /dev/xxx1

user# dd bs=4M if=raspbian.img of=/dev/xxx

  • outro terminal

user# pkill -USR1 -n -x dd

  • volta terminal

user# sudo sync

pi# nano /etc/network/interfaces

static

address

netmask

network

broadcast

gateway

pi# nano /etc/wpa_supplicant/wpa_supplicant.conf

network={

ssid="YOUR_NETWORK_NAME"

psk="YOUR_NETWORK_PASSWORD"

}

user# ssh pi@xxx.xxx.x.x

OPENCV

pi# sudo apt-get update

pi# sudo apt-get upgrade

pi# sudo apt-get -y install build-essential cmake cmake-curses-gui pkg-config libpng12-0 libpng12-dev libpng++-dev libpng3 libpnglite-dev zlib1g-dbg zlib1g zlib1g-dev pngtools libtiff4-dev libtiff4 libtiffxx0c2 libtiff-tools libeigen3-dev

pi# sudo apt-get -y install libjpeg8 libjpeg8-dev libjpeg8-dbg libjpeg-progs ffmpeg libavcodec-dev libavcodec53 libavformat53 libavformat-dev libgstreamer0.10-0-dbg libgstreamer0.10-0 libgstreamer0.10-dev libxine1-ffmpeg libxine-dev libxine1-bin libunicap2 libunicap2-dev swig libv4l-0 libv4l-dev python-numpy libpython2.6 python-dev python2.6-dev libgtk2.0-dev

pi# wget http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.9/opencv-2.4.9.zip/download opencv-2.4.9.zip

pi# git clone https://github.com/Itseez/opencv.git

'pi# unzip opencv-2.4.9.zip

pi# cd opencv-2.4.9

pi# mkdir build

pi# cd build

pi# ccmake ../

pi# make

pi# sudo make install

uv4l

pi# sudo rpi-update

pi# wget http://www.linux-projects.org/listing/uv4l_repo/lrkey.asc && sudo apt-key add ./lrkey.asc

pi# nano /etc/apt/sources.list

pi# sudo apt-get update

pi# sudo apt-get install uv4l uv4l-raspicam

pi# sudo apt-get install uv4l-raspicam-extras

OCR

pi# sudo apt-get install tesseract-ocr imagemagick

pi# convert test.jpg -threshold 20% test.jpg

pi# tesseract test.jpg test

pi# raspistill -o image.jpg | convert image.jpg -threshold 20% imagebw.jpg | tesseract imagebw.jpg imagebw | cat imagebw.txt

Código Python

import pytesseract

import RPi.GPIO as GPIO

import time


GPIO.setmode(GPIO.BOARD) //Configura o modo de definição de pinos como BOARD (contagem de pinos da placa)

GPIO.setwarnings(False) //Desativa os avisos

GPIO.setup(18, GPIO.OUT) //Configura o pino 18 da placa (GPIO24) como saída

while(1): //Inicia o loop infinito

print("LED ACESO\n") //Escreve na Python Shell a mensagem "LED ACESO" e pula uma linha

GPIO.output(18, 1) //Coloca o pino 18 em nível alto (1)

time.sleep(1) //Delay de 1 segundo

print("LED APAGADO\n") //Escreve na Python Shell a mensagem "LED APAGADO" e pula uma linha

GPIO.output(18, 0) //Coloca o pino 18 em nível baixo (0)

time.sleep(1) //Delay de 1 segundo

Validação