CHIP - 9 $ Raspberry Pi Killer

image
Des informations sur la façon dont un ordinateur Linux à 9 $ a collecté plus de 2 000 000 $ sur kickstarter ont déjà volé via Geektimes . J'ai également soutenu ce projet au moment de la collecte de fonds et l'autre jour ma copie de cet appareil m'a volé

Cet ordinateur est équipé d'un processeur Allwinner R8 sur une architecture ARM avec une fréquence de 1 GHz, 512 Mo de RAM, 4 Go de mémoire flash interne, et dispose également d'une connexion Wi-Fi intégrée avec prise en charge des normes b / g / n et Bluetooth 4.0 intégré. Les interfaces comprennent ici un port USB, une sortie AV composite pour la connexion à un téléviseur ou tout écran prenant en charge l'entrée vidéo composite, micro-USB pour l'alimentation et le firmware de la puce elle-même, un connecteur pour connecter une batterie externe et des pads avec des ports GPIO. Cependant, en utilisant ce dernier, vous pouvez connecter des adaptateurs HDMI ou VGA supplémentaires, qui sont achetés séparément au prix de 15 $ et 10 $, respectivement.
imageimage
Il existe également une extension PocketC.HIP qui vous permet de rendre un mini-ordinateur complètement mobile, en connectant une batterie et un clavier avec un écran.
image

L'appareil est arrivé emballé dans une enveloppe en papier, à l'intérieur de laquelle une boîte en carton carrée contenant un mini-ordinateur.


Et voici le contenu de la boîte.


Ma copie était équipée d'un câble AV glamour rose.


Et il y a un boîtier translucide derrière le processeur


Tout fonctionne sous la modification de Linux Debian comme OS, je note que les performances globales ne sont pas excellentes. Bluetooth et Wi-Fi fonctionnent parfaitement bien, le clavier et la souris sans fil d'iMac ont été connectés sans problème et connectés à Internet. Il n'y a pas de problème avec l'USB non plus, un lecteur flash, une souris, ainsi qu'une clé USB d'une manette de jeu sans fil Logitech F710 ont été déterminés et ont bien fonctionné. Soit dit en passant, en ce qui concerne les jeux, j'ai essayé de le transformer en un émulateur miniature de plates-formes de jeu, j'ai installé l'émulateur mednafen, qui prend en charge de nombreux anciens systèmes de jeu, et j'ai récupéré l'interface graphique de mednaffe . Les performances et la qualité sont visibles dans cette vidéo.


Eh bien, pour commencer, nous allons essayer de contrôler les ports GPIO, par exemple, faire clignoter une LED à travers. Pour ce faire, connectez la LED via une résistance de 100-200 Ohms avec l'anode à la 5e sortie du bloc U13 et la cathode à la 13e sortie du bloc U14 comme dans le diagramme


ou comme je l'ai fait.


Toutes les autres actions peuvent être effectuées directement sur l'appareil, ou à distance en se connectant à l'appareil via ssh. Par défaut, le système possède un nom d'utilisateur et un mot de passe pour la puce, il vous suffit de connaître l'adresse IP de l'appareil.
ssh chip@192.168.1.109

Le contrôleur PCF8574A est responsable du contrôle des ports d'entrée / sortie. Il est géré par des manipulations avec les fichiers / sys / class / gpio / gpio408, dont l'accès n'est possible que sous la racine, vous devez donc d'abord y basculer
su

Considérons deux méthodes de contrôle, via la console et en utilisant un programme C. Donc, nous clignotons la LED de la console. Accédez au répertoire / sys / class / gpio
cd /sys/class/gpio

Activer GPIO et activer le fonctionnement du port sur la sortie
echo 408 > export 
echo out > gpio408/direction

Maintenant, nous pouvons définir la valeur dans le port en écrivant des valeurs sur gpio408 / value
echo 1 > gpio408/value   #  
echo 0 > gpio408/value   #  

À la fin, inoubliable désactiver le travail avec GPIO
echo in > gpio408/direction
echo 408 > unexport

Et maintenant tout est pareil, mais en langage C. Créez le répertoire des projets dans le répertoire personnel et clignez-y.
cd ~/
mkdir projects
cd projects
mkdir blink
cd blink

Exécutez l'éditeur de texte nano et créez un nouveau fichier (ctrl + o) avec le nom main.c, c'est-à-dire obtenez immédiatement la coloration syntaxique.
nano

Et, en fait, la liste du programme
#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;
}

Ensuite, compilez et exécutez en tant que root
gcc main.c -o blink
./blink

Ceci termine la petite revue du petit ordinateur, bien qu'il ait encore une énorme quantité de possibilités. Avec ses capacités et son prix si bas, il s'est avéré être un solide concurrent pour le Raspberry Pi

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


All Articles