CHIP - Assassino de Raspberry Pi de US $ 9

imagem
Informações sobre como um computador Linux de US $ 9 arrecadou mais de US $ 2.000.000 no kickstarter já passaram pelo Geektimes . Também apoiei este projeto no momento da captação de recursos e outro dia minha cópia deste dispositivo voou para mim

Este computador está equipado com um processador Allwinner R8 em uma arquitetura ARM com uma frequência de 1 GHz, 512 MB de RAM, 4 GB de memória flash interna e também possui Wi-Fi integrado com suporte para padrões b / g / n e bluetooth 4.0 integrado. As interfaces aqui incluem uma porta USB, uma saída AV composta para conectar a uma TV ou qualquer monitor que suporte entrada de vídeo composto, micro-USB para alimentação e firmware do próprio CHIP, um conector para conectar uma bateria externa e almofadas com portas GPIO. No entanto, usando o último, você pode conectar adaptadores HDMI ou VGA adicionais, que são adquiridos separadamente pelo preço de US $ 15 e US $ 10, respectivamente.
imagemimagem
Existe também uma extensão PocketC.HIP que permite tornar um minicomputador completamente móvel, conectando uma bateria e um teclado a uma tela.
imagem

O dispositivo chegou embalado em um envelope de papel, dentro do qual uma caixa de papelão quadrada de simplicidade contendo um mini-computador.


E aqui está o conteúdo da caixa.


Minha cópia foi equipada com um cabo AV glamouroso rosa.


E há uma caixa translúcida atrás do processador


Tudo funciona sob a modificação do Linux Debian como sistema operacional, observo que o desempenho geral não é ótimo. O Bluetooth e o Wi-Fi funcionam perfeitamente, o teclado e o mouse sem fio do iMac se conectam perfeitamente e a uma conexão à Internet. Também não há problemas com o USB, uma unidade flash, um mouse e um stick de um gamepad Logitech F710 sem fio foram determinados e funcionaram bem. A propósito, com relação aos jogos, tentei transformá-lo em um emulador em miniatura de plataformas de jogos, instalei o emulador de mednafen, que suporta muitos sistemas de jogos antigos e coletei a GUI da mednaffe . Desempenho e qualidade podem ser vistos neste vídeo.


Bem, para iniciantes, tentaremos controlar as portas GPIO, por exemplo, piscar um LED através dele. Para fazer isso, conecte o LED através de um resistor de 100-200 Ohm com o ânodo à 5ª saída do bloco U13 e o cátodo à 13ª saída do bloco U14 como no diagrama


ou como eu fiz.


Todas as ações adicionais podem ser executadas diretamente no dispositivo ou remotamente, conectando-o ao dispositivo via ssh. Por padrão, o sistema possui um nome de usuário e senha de chip, você só precisa descobrir o endereço IP do dispositivo.
ssh chip@192.168.1.109

O controlador PCF8574A é responsável por controlar as portas de entrada / saída. Ele é controlado através de manipulações com os arquivos / sys / class / gpio / gpio408, cujo acesso é possível apenas a partir da raiz, portanto, você deve mudar primeiro
su

Vamos considerar dois métodos de controle, através do console e usando um programa C. Então, piscamos o LED do console. Vá para o diretório / sys / class / gpio
cd /sys/class/gpio

Ative o GPIO e ative a operação da porta na saída
echo 408 > export 
echo out > gpio408/direction

Agora podemos definir o valor na porta escrevendo valores para gpio408 / value
echo 1 > gpio408/value   #  
echo 0 > gpio408/value   #  

Após a conclusão, inesquecível desativar o trabalho com GPIO
echo in > gpio408/direction
echo 408 > unexport

E agora tudo é o mesmo, mas na linguagem C. Crie o diretório de projetos no diretório inicial e pisque nele.
cd ~/
mkdir projects
cd projects
mkdir blink
cd blink

Execute o editor de texto nano e crie um novo arquivo (ctrl + o) com o nome main.c, ou seja, obtenha o destaque da sintaxe imediatamente.
nano

E, na verdade, a lista do programa
#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>

int main()
{
	int fd;

	//    GPIO
	fd = open("/sys/class/gpio/export", O_WRONLY);
	if (fd < 0)
	{
		return -1;
	}

	write(fd, "408", 3);
	close(fd);

	//    
	fd = open("/sys/class/gpio/gpio408/direction", O_RDWR);
	if (fd < 0)
	{
		return -1;
	}

	write(fd, "out", 4);
	close(fd);

	//      
	fd = open("/sys/class/gpio/gpio408/value", O_RDWR);
	if (fd < 0)
	{
		return -1;
	}

	int i;
	for (i = 0; i < 1000; ++i)
	{
		write(fd, "1", 2);
		sleep(3);
		write(fd, "0", 2);
		sleep(3);
	}

	//    GPIO
	fd = open("/sys/class/gpio/unexport", O_WRONLY);
	if (fd < 0)
	{
		return -1;
	}

	write(fd, "408", 3);
	close(fd);
	return 0;
}

Em seguida, compile e execute como root
gcc main.c -o blink
./blink

Isso completa a pequena revisão do computador pequeno, embora ainda tenha uma enorme quantidade de possibilidades. Com suas capacidades e um preço tão baixo, tornou-se um sólido concorrente do Raspberry Pi

Source: https://habr.com/ru/post/pt390917/


All Articles