Permitindo gerar o dump, no local que bem preferir.
Lendo arquivo Core Dump
O nosso amigo GCC é o programa que irá ler o core dump, para tanto é necessário, abrir o gcc com o core dump. Assim como se estivesse debugando um programa tradicional.
O RFID, ou leitor de radio frequência com identificação unica, é muito utilizado em sistemas de automação, que faz-se necessário a leitura de identificação de 1 ou mais dispositivos de forma rápida.
O RFID pode ser utilizado em Postos de gasolina, mercados entre outros sistemas. Estando presente em Sistemas de PDV, Self Checkout entre outros.
De forma geral, o desenvolvedor do hardware, fornece um leitor para integração no PC. Porem os cartões de RFID são padronizados, e podem ser utilizados outros leitores.
Eu desenvolvi um leitor muito simples de rfid, utilizando arduino leonardo. Este leitor joga no pc, como se fosse digitação, não necessitando de hardware ou drivers adicionais.
Versão simples do leitor montado.
O Projeto esta no git e pode ser baixado e usado livremente.
Uma forma simples de ver todos os processos que estão sendo executados na máquina, é através do comando:
ps -A
Conforme apresentado abaixo, o ps -A, lista todos os processos em execução.
Podemos usar um recurso comum, a associação com o grep, que é um filtro de resultado.
ps -A|grep -e post
Neste caso, podemos observar que o resultado é filtrado por ocorrencias que tem a palavra post.
Esta técnica é muito útil, para pesquisar processos que desejamos.
Informações acessórias do ps
No exemplo acima, podemos ver a primeira linha onde apresenta o nro 2141, este número é o pid do processo.
PID é o identificador do processo, é um numero que identifica unicamente o processo em execução. O PID é utilizado entre outras coisas, para matar o processo, exemplo:
kill 2141
No exemplo acima, o kill irá matar o processo 2141, encerrando o mesmo.
Em algumas situações é necessário ter permissão para fazer essa operação. De fato, se o processo não for do próprio usuário o kill só pode ser dado pelo usuario que o criou ou pelo administrador do sistema.
O tempo, que aparece a seguir 00:00:12, é o tempo que este processo esta ativo, ou o tempo de execução. Alguns processos, podem ficar por muito tempo em execução, outros tem uma vida muito curta. O tempo de execução de um processo, depende da forma que ele foi desenvolvido, e de sua finalidade.
Mais opções do PS
Outra opção muito útil, é o comando:
ps -ef
Neste exemplo, o ps, fornece uma lista mais detalhada de informações a cerca do processo.
Como podemos ver, alem do pid, temos o usuário do processo, o PID pai, a hora da execução, o tempo no ar, alem de informações mais detalhadas, a cerca da execução em si.
Neste link podemos ver as informações da documentação de todos os paramentros associados ao grep.
Agradecimentos
Bom pessoal, espero que este post tenha ajudado voces na fantástica jornada ao mundo linux, quero agradecer ao Lucas Lima, que contribuíu com algumas dicas que tornaram viavel a realização deste artigo.
O Turnover é um termo em Inglês, que significa mudança (rotatividade) de pessoal.
O Turnover tem se mostrado uma situação crítica, principalmente no Brasil, devido ao alto custo de recolocação.
Empresas de TI, estão brigando arduamente por recursos de tecnologia, colaboradores tem migrado, para outras empresas, devido a escasses do mercado, e a crescente valorização de seu trabalho.
Hoje profissionais, são cada vez mais escassos, e conquista-los mantendo motivados, é cada vez mais dificil.
“Um colaborador recem contratado, precisa de 2 anos, para alcançar potencial maximo de produtividade.”
O preço da perda do funcionário, representa alem de maior morosidade na entrega de projetos, como aumento nos riscos e problemas associados a qualidade.
“Nos Estados Unidos, estima-se que o custo adicional devido ao turnover gire em torno de US$ 3,9 Milhões. “
Manter profissionais motivados, treinados e adequados, é cada vez mais importante para a empresa.
Outro fator importante é a documentação dos projetos, indicarei outro artigo que trato do assunto:
O trabalho a baixo será apresentado em um seminário, em 17/11/2021, para alunos da uninove, sobre o robotinics. Este trabalho é referente a IoT, e faz parte integrante da minha Pós graduação em aprendizado de máquina.
O material a seguir, é um complemento a apresentação que será feita.
O Robotinics é uma plataforma open hardware para desenvolvimento de robótica educacional.
Abaixo o treinamento para o seminário, onde apresentei aos colegas da turma, onde refinaremos os detalhes da apresentação.
Treinamento para a apresentação do seminário
O Objetivo do seminário é a apresentação de proposta de IoT, usando redes neurais.
Neste contexto, apresentei a proposta acima, utilizando o robotinics.
O Material a seguir, são detalhes que apresentarei apenas como comentário, onde nos vídeos abaixo, mostro o detalhe do assunto abordado.
Como tudo começou – A 8 anos atras.
Neste vídeo vimos minhas filhas ainda pequenas, recortando o isopor que deu idéia ao projeto.
Minhas filhas fazendo os primeiros recortes
Neste contexto, o projeto nasceu como uma brincadeira de criança, onde eu como pai, acabei criando um projeto por me sentir compelido a provar que podemos sim criar robôs.
Do momento da brincadeira, até hoje, passaram mais de 8 anos.
Apresentação da Cabeça do robô
Neste vídeo explico a cabeça do robô, onde mostro o seu processo construtivo, envolvendo a eletrônica.
Mostro como foi construído, e o que fiz para simplificar alguns processos que foram sendo corrigidos nesta longa caminhada.
Agora apresentando a detecção de face
Apresento detalhes da detecção de face, usando os script do shell, integrado com motion.
Detecção de face através de python
Neste processo, mostro o script de python, usando opencv, que foi utilizado, para detectar faces humanas.
FANN Lib no robotinics
Neste vídeo apresento o processo de instalação da FANN lib, para utilização no raspberry.
No livro, na segunda revisão, apenas apresento, a instalação da libFANN, onde mostro sua execução.
De forma geral, a escolha desta lib, foi em função de sua velocidade e da diminuta utilização de recursos.
Controles e comandos do Robotinics
Neste vídeo apresento o controle remoto do robô, que permite controlar através de Bluetooth, dando comandos ao robô, de forma de telepresença.
Neste método, podemos através de uma aplicação em Desktop, controlar remotamente o robô.
O Robô na época não possuia nenhum padrão de IA, por isso era quase totalmente controlado remotamente (Telepresença).
Inclusive, foram criados aplicações desktop para permitir seu controle.
No vídeo apresento alguns destes softwares, rodando no robô.
Montagem das peças
Neste vídeo apresento algumas peças, o processo de montagem das mesmas.
O processo de produção passa desde o projeto em SOLIDWORKS, até sua impressão em uma impressora 3D.
montagem das peças no solidworks
Muito foi aprendido para chegar nesse nível, pois tive que fazer curso técnico de mecânica industrial, para conseguir obter o conhecimento necessário para chegar neste ponto. Inclusive o trabalho foi o TCC deste curso.
Neste outro vídeo apresento a montagem do tronco do robô.
Podemos ver, o processo de montagem, no solid, alem das peças mecanicas, tambem são montadas os componentes eletrônicos.
O Robô se movimentando
Este vídeo foi logo no começo, as peças 3D ainda não estavam prontas, mas o robô já se movimentava através de um script.
Primeiros ensaios de movimento do robô.
Neste vídeo o projeto de hardware já estava pronto, porem ainda não sonhava com reconhecimento de imagem e outras melhorias.
Podemos ver neste primeiro ensaio, que o robô era totalmente feito de isopor. Pois a idéia é criar um projeto que não necessáriamente precise de impressão 3D para ser criado. As peças foram usadas globos de isopor, muito usados em festas. As peças eram envolvidas em cola de madeira, depois epoxi diluido com um pouco de cetona e depois pintadas.
Parte inferior do robô
Neste vídeo apresento detalhes da parte inferior do robô.
processo construtivo alternativo.
Podemos ver o controlador arduino mega e algumas outras peças.
Podemos ver tambem, que muitas partes eram feitas em isopor.