Estabilizando e detectando erros na Raspberry PI

Depois de utlizar a raspberry pi por um longo período, começei a notar alguns travamentos, pricipalmente nas transferências via wifi. Com muitas pesquisas, lendo sobre os parâmetros do kernel e dos drivers da raspberry pi, consegui estabilizar o sistema. Vou compartilhar com vocês o que achei mais relevante, no quesito estabilidade. Auto-reboot kernel panic Caso ocorra um kernel panic, reincia a placa. Sintaxe: kernel.panic=<segundos> [crayon-59296891c9f04132278244/] Erros com alto tráfego na rede Quando o tráfego é muito alto (por exemplo, downloads) a memória pode ser esgotada causando falhas / travamentos. (Crashes com alta carga de rede também pode está relacionado com a sua fonte…

Overclock na Raspberry Pi 3

Rapaaaaz, mal saiu a Raspberry Pi 3 e não faltam retardados, iguaizinhos a mim, para ver o processador fritando. Não sei se todos sabem, mas já fritei o processador de muita Raspberry Pi 2. Procura aí nas Interwebs e você vai entender o porque. Também já fritei muito processador ARM de celular. Geralmente meus celulares são tudo overclockado, tenho uma pilha de 5 celulares ali na minha bancada que não funcionam mais com o processador levemente chamuscado... hehehehehehe... Antes de mais nada, te convido a fazer um Overclock na sua Raspberry Pi 2 pra já ir entrando no clima, é…

Embedtool – Customizando imagens Raspberry PI / Odroid

Meus caros leitores, eu utilizo Raspberry PI profissionalmente e precisava criar minha própria imagem. Utilizei o Yocto, mas acabou sendo mais rápido customizar a imagem original da Raspberry PI, com isto, criei vários scripts para me auxiliar neste caminho, gerador de imagem, gcc armhf para crosscompiler e outros. Não estava legal, scripts espalhados, valores fixos, nenhuma flexibilidade. Com essa bagunça, surge a ideia de criar uma ferramenta única, o Embedtool. Embedtool é uma ferramenta para criar imagens, fazer crosscompiler para múltiplos "targets". Atualmente suporta raspberry pi e odroid-c1. Estrutura do embedtool [crayon-59296891ca9a9157581918/] Parâmetros [crayon-59296891ca9b3918010470/] Pré-requisitos [crayon-59296891ca9b8776876366/] Montar uma imagem [crayon-59296891ca9bb168385441/] Montar o…

Transformando sua Raspberry Pi, odroid, Banana pi, Orange Pi em um pequeno roteador wifi

Olá meus amigos, neste tutorial irei demonstrar o compartilhamento da internet usando uma raspberry pi. Relaxa, este tutorial é para linux, engloba várias placas, incluindo as citadas no título. Para prosseguir neste tutorial, vou assumir que sua interface wifi é "wlan0" e que você já possui driver instalado. Instalando os pacotes necessários  Hostapd é um servidor accesspoint com suporte a IEEE 802.11 e autenticação /WPA/WPA2/EAP. Udhcpd é um servidor dhcp, leve e pequeno. Geralmente usado em sistemas embarcados. Para finalizar, vamos instalar também o zd1211, firmware usada pelo hostapd. [crayon-59296891cafce927879095/] Habilitando udhcpd para iniciar automaticamente  [crayon-59296891cafd6312632024/] Configurando udhcpd Vamos editar…

Tutorial – Medindo distância na raspberry pi / Banana Pi com HC-SR04

Vamos desbravar o sensor ultrasônico HC-SR04, sensor que pode ser utilizado para detectar objetos, evitar colisão com obstáculos e etc. O módulo HC-SR04 possui um circuito pronto, com emissor e receptor ultrasônico. É capaz de mensurar distâncias de 2cm a 4 metros, com precisão de 3mm. Seu ângulo de detecção é de aproximadamente 15 graus, segundo o seu datasheet. Especificações Tensão                     : 5V Corrente                   : 15mA Frequência               : 40Hz Ângulo de detecção : <…

Como executar um comando na inicialização do Raspberry Pi

Existem diversas maneiras de executar uma tarefa em periodos predeterminados em Linux. Suponhamos que a cada boot você precise pegar um arquivo em um endereço web e ler seu conteúdo de forma automática. como fazê-lo? Agendamento de tarefa no cron   A meneira mais simples é agendar uma tarefa no cron, de forma que em determinada periodiciadade o arquivo seja buscado e validado. Imagine então o seguinte script shell: [crayon-59296891cb9da900369831/] [crayon-59296891cb9e2283857427/] [crayon-59296891cb9e6993115880/] No cron você tem a possibilidade de agendar data/hora para executar uma tarefa, com intervalo mínimo de 1 minuto. Vamos fazer o get a cada um minuto então.…

Configurando servidor ftp na sua Raspberry Pi / Banana Pi / Orange Pi

Neste artigo, irei utilizar o vsftpd, que na minha opinião, é o mais flexível e performático, é utilizado pela redhat, debian e outros. Os testes foram feitos com a versão 3.0.3 do vsftpd, que foi corrigido o problema do chroot. Bom, vamos por a mão na massa. Instalação [crayon-59296891cbef4594710858/] Configuração Irei utilizar usuários virtuais no vsftpd, segue abaixo um exemplo da configuração. Para maiores informações, clique aqui [crayon-59296891cbefc375526123/] Criando o usuário vsftpd Vamos criar o usuario vsftpd, usuário local sem shell: [crayon-59296891cbf00227738545/] Adicionando usuário virtual Com a finalidade de demonstração, vou criar o usuário com o nome de "teste" [crayon-59296891cbf03424750254/]…

Embelezando o shell do seu Raspberry Pi / Banana Pi / Orange Pi / Odroid / etc

Vamos começar esse post polemizando. O Linux é um kernel, não é um sistema operacional. Um sistema operacional é composto por um kernel, um interpretador de comandos e um sistema de arquivos. Agora alguns já estão babando sangue, mas vamos lá; o sistema operacional baseado em Linux se chama GNU/Linux. Isso porque o kernel é o Linux e as ferramentas envoltas são todas GNU. Em relação ao GNU, só por curiosidade, trata-se de um acrônimo recursivo que significa "GNU is Not Unix". Isso significa que os sistemas operacionais baseados em Linux são POSIX (Portable Standard UNIX), mas não são UNIX…

Manipulação de memória – Raspberry Pi / Banana Pi / Orange Pi

Existem duas memórias principais utilizadas em sistemas operacionais como por exemplo, Linux. Uma é conhecida como RAM (Random Access Memory) e a outra é  Swap (troca). Esse post discorre sobre o conceito e de que forma manipulá-las. Memória RAM   A memória RAM é a memória principal do sistema operacional e ela deve ser no mínimo suficiente para carregar toda a base do sistema operacional. Isso significa que uma estrutura mínima deve estar na memória para que o sistema funcione; quando você move o mouse, seleciona um menu, passa por cima de algum icone e ele reage - tudo isso…

Fixando processo/programa por CPU(s)

Fixando um programa para um ou mais núcleos de CPU específicos, pode trazer varios benefícios. Por exemplo, Quando um programa/processo Cpu-bound(carga de trabalho intesivo da cpu), atribuindo um programa para um ou mais núcleos, reduziria erros de cache da CPU. Outro exemplo é reduzir o consumo de processamento de um programa/processo que tem implementado parelelismo, que dependendo do caso, poderá consumir todos os núcleos. Neste tutorial, vou descrever como executar um programa ou processo em núcleo(s) de CPU específico(s) no linux. Para fixar um programa/processo, vou utilizar o taskset, um programa que faz parte do pacote util-linux. No processo de demonstração,…