La información sobre cómo una computadora Linux de $ 9 recaudó más de $ 2,000,000 en kickstarter ya ha pasado por Geektimes . También apoyé este proyecto en el momento de la recaudación de fondos y el otro día mi copia de este dispositivo voló hacia mí.Esta computadora está equipada con un procesador Allwinner R8 en una arquitectura ARM con una frecuencia de 1 GHz, 512 MB de RAM, 4 GB de memoria flash interna, y también tiene Wi-Fi incorporado con soporte para estándares b / g / ny Bluetooth 4.0 incorporado. Las interfaces aquí incluyen un puerto USB, una salida AV compuesta para conectarse a un televisor o cualquier pantalla compatible con entrada de video compuesto, micro-USB para alimentación y firmware de CHIP, un conector para conectar una batería externa y almohadillas con puertos GPIO. Sin embargo, con este último, puede conectar adaptadores HDMI o VGA adicionales, que se compran por separado a un precio de $ 15 y $ 10, respectivamente.
También hay una extensión PocketC.HIP que le permite hacer que una mini computadora sea completamente móvil, conectando una batería y un teclado con una pantalla.
El dispositivo llegó embalado en un sobre de papel, dentro del cual había una simple caja de cartón cuadrada que contenía una mini computadora.
Y aquí está el contenido de la caja.
Mi copia estaba equipada con un glamoroso cable AV rosado.
Y hay una caja traslúcida detrás del procesador
Todo funciona bajo la modificación de Linux Debian como sistema operativo, noto que el rendimiento general no es excelente. Bluetooth y Wi-Fi funcionan perfectamente bien, el teclado y el mouse inalámbricos de iMac se conectaron sin problemas y se conectaron a Internet. Tampoco hay problemas con el USB, se determinó y funcionó bien una unidad flash, un mouse, así como un dispositivo de memoria de un gamepad inalámbrico Logitech F710. Por cierto, con respecto a los juegos, traté de convertirlo en un emulador en miniatura de plataformas de juegos, instalé el emulador mednafen, que admite muchos sistemas de juegos antiguos, y recopilé GUI mednaffe de él . El rendimiento y la calidad se pueden ver en este video.Bueno, para empezar intentaremos controlar los puertos GPIO, por ejemplo, parpadear un LED a través de él. Para hacer esto, conecte el LED a través de una resistencia de 100-200 ohmios con el ánodo a la 5a salida del bloque U13 y el cátodo a la 13a salida del bloque U14 como en el diagrama
o como lo hice
. Por defecto, el sistema tiene un nombre de usuario y contraseña de chip, solo necesita averiguar la dirección IP del dispositivo.ssh chip@192.168.1.109
El controlador PCF8574A es responsable de controlar los puertos de entrada / salida. Se gestiona mediante manipulaciones con los archivos / sys / class / gpio / gpio408, cuyo acceso solo es posible desde debajo de la raíz, por lo que primero debe cambiar a élsu
Consideremos dos métodos de control, a través de la consola y usando un programa en C. Entonces, parpadeamos el LED de la consola. Vaya al directorio / sys / class / gpiocd /sys/class/gpio
Active GPIO y habilite la operación del puerto en la salidaecho 408 > export
echo out > gpio408/direction
Ahora podemos establecer el valor en el puerto escribiendo valores en gpio408 / valueecho 1 > gpio408/value
echo 0 > gpio408/value
Al finalizar, inolvidable desactivar el trabajo con GPIOecho in > gpio408/direction
echo 408 > unexport
Y ahora todo es igual, pero en lenguaje C. Cree el directorio de proyectos en el directorio de inicio y parpadee en él.cd ~/
mkdir projects
cd projects
mkdir blink
cd blink
Ejecute el editor de nano texto y cree un nuevo archivo (ctrl + o) con el nombre main.c, es decir obtenga el resaltado de sintaxis de inmediato.nano
Y, de hecho, la lista del programa#include <stdio.h>
#include <stdlib.h>
#include <fcntl.h>
#include <unistd.h>
int main()
{
int fd;
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);
}
fd = open("/sys/class/gpio/unexport", O_WRONLY);
if (fd < 0)
{
return -1;
}
write(fd, "408", 3);
close(fd);
return 0;
}
Luego, compila y ejecuta como rootgcc main.c -o blink
./blink
Esto completa la pequeña revisión de la pequeña computadora, aunque todavía tiene una gran cantidad de posibilidades. Con sus capacidades y un precio tan bajo, un competidor sólido para la Raspberry Pi