Punto de Acceso WiFi ODROID: Compartir Archivos a través de Samba
February 1, 2018By ArduPilot.orgLinux, Tutoriales
Este artículo te mostrará cómo configurar un ODROID como Punto de Acceso WiFi para poder acceder y modificar el disco duro del ODROID desde otro ordenador. Su principal finalidad es la de permitir el acceso a imágenes, videos y archivos log almacenado en el ODROID. El procedimiento hace uso de hostapd, Samba y DHCP.
Para lograrlo, necesitarás:
Un ODROID-U3 que ejecute Ubuntu 14.04 tal como se describe en esta página.
Todas las indicaciones que aparecen a continuación pueden llevarse a cabo conectando un teclado, un ratón y una pantalla al ODROID o utilizando ssh (a través de PuTTY).
Software
Convertirse en super usuario:
$ sudo -s
Instalar hostapd, samba y el resto de paquetes necesarios:
Tras asegurarte primero de que el dongle WiFi esté conectado al ODROID, busca el nombre del dispositivo escribiendo "ifconfig". Normalmente éste será "wlan0" o "wlan2".
Comprueba que el dongle WiFi soporte el modo "AP":
$ iw list
Aparecerá en pantalla una extensa lista de información. Debes buscar una sección llamada “Supported interface modes” seguida de “* AP”. Si no logras encontrarla, esta guía no te valdrá para nada y deberás intentarlo con otro dongle.
Supported interface modes:
* IBSS
* Managed
* AP
Usa tu editor favorito, como nano o vi, para editar el archivo /etc/network/interfaces y añade una entrada para tu dongle WiFi. Ten en cuenta que debes camabiar "wlan2" si tu dongle tiene un nombre diferente:
Edita el archivo /etc/hostapd/hostapd.conf y asegúrate de que tenga un aspecto similar al que se muestra a continuación:
$ vi /etc/hostapd/hostapd.conf
interface=wlan2 <-- change "wlan2" to name of WiFi dongle found above
driver=nl80211
ssid=MyDrone
hw_mode=g
channel=11
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=MyDrone12 <-- password for clients to access the WiFi access point
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMP
Intenta iniciar la aplicación hostapd:
$ hostapd /etc/hostapd/hostapd.conf
Si falla, intenta reemplazar los archivos /usr/sbin/hostapd y hostapd_cli por la versión que se encuentra en el área de descargas.
También necesitarás instalar el paquete libnl-dev:
$ apt-get install libnl-dev
Para ejecutar el servicio hostapd cada vez que se inicie ODROID, edita el archivo /etc/init.d/hostapd y asegúrate de que incluya la siguiente línea:
$ DAEMON_CONF=/etc/hostapd/hostapd.conf
Configurar Samba
Crea los directorios que deseas compartir:
$ mkdir -p /mydrone
$ mkdir -p /mydrone/images
Edita el archivo de configuración de samba. Si no existe, crea uno nuevo:
$ vi /etc/samba/smb.conf
[global]
workgroup = MyDroneGroup
server string = Drone Server
netbios name = mydrone
security = user
map to guest = bad user
dns proxy = no
#===== Share Definitions =====
[images]
path = /mydrone/images
browsable = yes
writable = yes
guest ok = yes
read only = no
Esta configuración creará el recurso compartido "images" sin restricciones en los clientes que podrán añadir o eliminan archivos.
Configurar DHCP
Edita el archivo /etc/dhcp/dhcpd.conf y asegúrate de que tenga todas las líneas que aparecen a continuación:
$ vi /etc/dhcp/dhcpd.conf
# option definitions common to all supported networks...
option domain-name "mydrone.local";
option domain-name-servers dns.mydrone.local
default-lease-time 600;
max-lease-time 7200;
authoritative;
log-facility local7;
subnet 192.168.100.0 netmask 255.255.255.0 {
range 192.168.100.100 192.168.100.200; <-- clients will get IP addresses in this range
}
Añade todas las direcciones IP de posibles clientes al archivo /etc/hosts:
Puedes añadir más rápido todas las direcciones IP de los clientes con el siguiente comando:
$ (for i in $(seq 100 200); do echo 192.168.100.$i client$i; done) >> /etc/hosts
Reinicia ODROID y con un poco de suerte, se creará un Punto de Acceso al que podrás conectarte, tal y como se muestra en el siguiente apartado.
Establecer conexión desde un PC con Windows
Para conectarte desde una máquina con Windows 8.1, haz clic en el ícono de red que está junto al reloj y luego haz clic en "MyDrone" y "Conectar". Transcurridos unos 30 segundos, debería aparecer un mensaje que diga "La conexión es limitada" porque es posible que el ODROID no tenga acceso a Internet. Esto es normal.
Abre un Explorador de archivos y escribe \mydrone en la barra de direcciones, debería aparecer el contenido del directorio “images” del ODROID.
El ODROID-HC2, disponible para su compra en el Sitio Web de Hardkernel, es un mini PC muy económico y la solución perfecta para montar un servidor de almacenamiento en red (NAS). Este servidor en la nube centraliza los datos y permite a los usuarios compartir y transmitir archivos multimedia a teléfonos, tablets y otros dispositivos a través de una red. Es ideal para multitud de situaciones tales como: usuarios con muchos dispositivos, recursos compartidos entre miembros de una familia, desarrolladores o un grupo de trabajo. El ODROID-HC2 es capaz de adaptarse a tus necesidades específicas. Hay un montón de software disponible, fácil de usar y con una configuración muy simple. El primer paso es determinar la capacidad de almacenamiento de tu servidor. Además, dependiendo de tus necesidades, la estructura está hecha para ser apilable, de modo que puede colocar más HC2 uno encima de otro para expandir el sistema.
El HC2 está basado en la potente plataforma ODROID-XU4 y puede ejecutar Samba, FTP, NFS, SSH, NGINX, Apache, SQL, Docker, WordPress y muchos otros programas de servidor sin dificultad, además de distribuciones completas de Linux como Ubuntu, Debian, Arch y OMV. Las distribuciones de sistemas operativos disponibles y listas para ser usadas se pueden descargar desde nuestra WiKi. Cualquier sistema operativo que soporte el XU4 es totalmente compatible con el HC2. https://wiki.odroid.com/odroid-xu4/os_images/os_images.
El puerto Ethernet Gigabit y el puesto SATA de alto rendimiento nos permite disponer de un dispositivo de almacenamiento en red muy rápido. El cuerpo de estructura metálica está diseñado para almacenar un HDD/SSD de 2,5 pulgadas o un HDD de 3.5 pulgadas con una increíble disipación de calor.
Características principales
CPUs Samsung Exynos 5422 Cortex-A15 2Ghz y Cortex-A7 Octa core
2Gbyte de RAM LPDDR3 PoP apilada
Puerto SATA-3 para el sistema de almacenamiento HDD/SSD de 3.5 o 2.5 pulgadas, hasta una altura de 27mm
Puerto Gigabit Ethernet
Puerto USB 2.0 Host
Ranura para tarjeta micro-SD UHS-1 para el soporte de arranque
Aproximadamente 197mm x 115mm x 42mm (estructura de refrigeración de aluminio)
Imágenes de sistema operativo de servidor Linux basadas en el moderno Kernel 4.14 LTS
Garantizaremos la producción del ODROID-HC2 hasta mediados de 2020, pero esperamos continuar con su fabricación mucho después.
Rendimiento de la CPU y la RAM
Ejecutamos varias pruebas de rendimiento para medir la potencia de cálculo del HC2/XU4. Las pruebas también se realizaron en la Raspberry Pi 3 Modelo B, en el ODROID-C1+ y en el ODROID-C2.
Los valores de los resultados de las pruebas fueron ajustados uniformemente para facilitar la comparación. La potencia de cálculo del HC2/XU4 se cuantificó en aproximadamente 7 veces más rápida que la Raspberry Pi 3 más reciente gracias a los núcleos Cortex-A15 de 2Ghz y a un mayor ancho de banda de memoria de 64 bits. Usar el HC2/XU4 como un ordenador proporciona una experiencia prácticamente de "servidor profesional", a diferencia del bajo rendimiento de la mayoría de los ordenadores de placa reducida.
Especialmente para los desarrolladores, compilar código con el HC2/XU4 es súper rápido. La memoria RAM DDR3 de 2 GB de alto rendimiento es una ventaja añadida que permite que la mayoría de los programas puedan ser compilador directamente en el HC2/XU4.
Prueba de Rendimiento (Puntuaciones)
Raspberry Pi 3
ODROID-C1+
ODROID-C2
ODROID-XU4/HC1/HC2
Unixbench: Dhrystone-2
865.4
1571.6
2768.2
5941.4
Unixbench: Double-Precision Whetstone (x3)
1113
1887.3
3076.8
6186.3
Nbench 2.2.3: Integer (x40)
619.92
1173.6
1808.92
2430.52
Nbench 2.2.3: Floating-Point (x100)
781.8
1245.3
2300.3
3787.3
mbw100: Memory Bandwidth (MiB/s)
542.912
616.339
1472.856
2591.461
Rendimiento de Ethernet
El HC2/HC1/XU4 tiene un controlador Ethernet Gigabit integrado. La velocidad de transmisión bidireccional se cuantificó en alrededor de unos 910 Mbps. Gracias a la tecnología avanzada del controlador RTL8153, el controlador Ethernet del HC2 supera con notable facilidad las soluciones de conectividad de anteriores generaciones. Las pruebas que se muestran en la Figura 4 se realizaron con los siguientes comandos: commands:
Modo Servidor
$ iperf -s
Modo Cliente
$ iperf -c [ip address] -P 10 -W 32k
Rendimiento Ethernet
XU3 On-board 100Mbps
XU3 External 1Gbps
HC2/XU4 On-board 1Gbps
iperf Server on SBC (Mbit/sec)
114.0
419
915.0
iperf Client on SBC (Mbit/sec)
114.0
625
911.0
Rendimiento del almacenamiento en red
Hoy día los sistemas de almacenamiento en red como NAS y servicios en la nube son muy populares. Ejecutamos el famoso Open Media Vault o OMV, SO sobre el HC2 para medir el rendimiento de almacenamiento en red.
Se conectó una unidad de disco duro NAS Western Digital 3.5” de 8TB al HC2 a través del puerto SATA. El puerto Gigabit Ethernet se conectó a un ordenador portátil con Windows 10 usando un simple Hub.
Copiamos un gran archivo de 8GB desde el HC2 al PC a través de una conexión Samba. Esto dio como resultado una velocidad de descarga de alrededor de unos 110MB/seg. La velocidad de subida rondó los 95MB/seg. La velocidad de transferencia es muy similar a la que presenta los actuales productos NAS comerciales de gama alta. El ODROID-HC2 es una estupenda solución para montar un servidor personal de almacenamiento en red.
2Gbyte LPDDR3 RAM PoP (750Mhz, ancho de banda de memoria 12GB/s, bus 2x32bit)
GPU
Mali ™ -T628 MP6 OpenGL ES 3.1/3.0/2.0/1.1 y OpenCL 1.2 Perfil completo
Interfaz SATA HDD/SSD
Bridge JMicron JMS578 USB 3.0 a SATA con capacidad UAS para garbar a una velocidad de transferencia de más de 300MB/seg
Se puede instalar HDD/SSD de 3.5 o 2.5 pulgadas. Algunos agujeros del HDD HGST/WD no son compatibles con el HC2
Ranura micro-SD
Ranura micro-SD compatible con UHS-1 hasta 128 GB/SDXC
USB2.0 Host
1 puerto USB conector tipo A HighSpeed estándar
LEDs
De encendido, de estado del sistema y de estado del SATA
LAN Ethernet Gbit
Ethernet 10/100/1000Mbps con conector RJ-45 (con soporte Auto-MDIX)
Entrada de alimentación
Clavija DC en forma de cilindro de 5.5/21.mm para la entrada de 11~13 voltios (se recomienda una fuente de alimentación de 12V/2A)
Software de sistema
Ubuntu 16.04 + OpenCL sobre el Kernel Linux 4.14 LTS Debian, DietPi, OMV u otras distribuciones de Linux también disponibles. Se puede acceder al código fuente completo a través de nuestro Github.
Usando SquashFS como Sistema de Archivos Root de Sólo Lectura
February 1, 2018By Justin LeeLinux, Tutoriales
Esta guía describe cómo utilizar SquashFS. SquashFS (http://goo.gl/WT6Lxf) es un sistema de archivos comprimido de sólo lectura para Linux sobre plataformas basadas en el ODROID-XU4 como son HC1, HC2, MC1 y XU3. La tasa de corrupción de RootFS (http://goo.gl/LMVjzS) tras producirse fallos de energía queda reducida muy significativamente porque SquashFS es un sistema de archivos muy robusto. Ten en cuenta que un sistema SquashFS integrado sólo funcionará correctamente si la versión del Kernel es la 4.14.5-92 o superior.
Preparación
Necesitas preparar una tarjeta microSD o un módulo eMMC de arranque con una imagen mínima de Ubuntu. Para obtener instrucciones sobre cómo escribir imágenes en una tarjeta, consulta la Wiki en http://goo.gl/FNRzAk. Esta guía da por hecho que vas a usar una tarjeta microSD.
Instalación
Puedes instalar squashfs-tools en tu sistema ODROID-XU4. Es la herramienta para crear sistemas de archivos Squash.
$ sudo apt install squashfs-tools
Creación de la imagen del sistema de archivo root squash
Para crear la imagen del sistema de archivos root Squash son necesarios los siguientes pasos:
Eliminar el script que cambia de tamaño de forma automática
Editar /etc/rc.local y eliminar la función del cambio automático de tamaño
Editar /etc/fstab y eliminar la opción de montaje root
Utilizar mksquashfs para crear sistemas de archivos root de solo lectura
$ sudo rm /media/ck/rootfs/aafirstboot
$ sudo cat /media/ck/rootfs/etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
if [ -f /aafirstboot ]; then /aafirstboot start ; fi
exit 0
$ sudo nano /media/ck/rootfs/etc/rc.local
$ sudo cat /media/ck/rootfs/etc/rc.local
#!/bin/sh -e
#
# rc.local
#
# This script is executed at the end of each multiuser runlevel.
# Make sure that the script will "" on success or any other
# value on error.
#
# In order to enable or disable this script just change the execution
# bits.
#
# By default this script does nothing.
exit 0
$ sudo cat /media/ck/rootfs/etc/fstab
UUID=e139ce78-9841-40fe-8823-96a304a09859 / ext4 errors=remount-ro,noatime 0 1
LABEL=boot /media/boot vfat defaults 0 1
$ sudo nano /media/ck/rootfs/etc/fstab
$ sudo cat /media/ck/rootfs/etc/fstab
LABEL=boot /media/boot vfat defaults 0 1
$ sudo mksquashfs /media/ck/rootfs/ squash.rootfs
Parallel mksquashfs: Using 8 processors
Creating 4.0 filesystem on squash.rootfs, block size 131072.
[================================================-] 36821/36821 100%
Exportable Squashfs 4.0 filesystem, gzip compressed, data block size 131072
compressed data, compressed metadata, compressed fragments, compressed xattrs
duplicates are removed
Filesystem size 423720.81 Kbytes (413.79 Mbytes)
42.27% of uncompressed filesystem size (1002435.26 Kbytes)
Inode table size 464688 bytes (453.80 Kbytes)
28.95% of uncompressed inode table size (1604883 bytes)
Directory table size 433806 bytes (423.64 Kbytes)
39.67% of uncompressed directory table size (1093654 bytes)
Xattr table size 48 bytes (0.05 Kbytes)
40.00% of uncompressed xattr table size (120 bytes)
Number of duplicate files found 2340
Number of inodes 45340
Number of files 31162
Number of fragments 1912
Number of symbolic links 10373
Number of device nodes 79
Number of fifo nodes 0
Number of socket nodes 0
Number of directories 3726
Number of ids (unique uids + gids) 22
Number of uids 6
root (0)
man (6)
dnsmasq (104)
rtkit (107)
libuuid (100)
avahi-autoipd (105)
Number of gids 18
root (0)
video (44)
audio (29)
tty (5)
kmem (15)
disk (6)
dip (30)
shadow (42)
utmp (43)
messagebus (106)
ssh (111)
mlocate (110)
staff (50)
avahi-autoipd (113)
netdev (102)
adm (4)
scanner (109)
mail (8)
Sistemas de archivos Squash en una tarjeta microSD
Si todo ha ido bien, desmonta /dev/sdc2 (si fuera necesario) y usa dd para copiar squash.rootfs en /dev/sdc2:
Desmontar todas las particiones de la microSD
Usar dd para copiar el archivo squash.rootfs a la partición #2 de la microSD
Volver a conectar la tarjeta microSD y verificar el montaje
$ mount
/dev/sdc2 on /media/ck/rootfs type ext4 (rw,nosuid,nodev,uhelper=udisks2)
/dev/sdc1 on /media/ck/boot type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)
$ sudo umount /dev/sdc?
$ sudo dd if=./squash.rootfs of=/dev/sdc2
$ sync
$ mount
/dev/sdc2 on /media/ck/disk type squashfs (ro,nosuid,nodev,uhelper=udisks2)
/dev/sdc1 on /media/ck/boot type vfat (rw,nosuid,nodev,uid=1000,gid=1000,shortname=mixed,dmask=0077,utf8=1,showexec,flush,uhelper=udisks2)
Modificación de las opciones de montaje rootfs en el archivo boot.ini
Puedes encontrar el UUID de la partición ext4 en la opción "root=" dentro del archivo boot.ini:
/media/ck/boot/boot.ini
#------------------------------------------------------------------------------------------------------
# Basic Ubuntu Setup. Don't touch unless you know what you are doing.
# --------------------------------
setenv bootrootfs "console=tty1 console=ttySAC2,115200n8 root=UUID=e139ce78-9841-40fe-8823-96a304a09859 rootwait ro fsck.repair=yes net.ifnames=0"
Find the bootrootfs environment and change the rootfs options as follows:
This HOWTO using a microSD card. If you are using an eMMC module, you can use root=mmcblk0p2
#------------------------------------------------------------------------------------------------------
# Basic Ubuntu Setup. Don't touch unless you know what you are doing.
# --------------------------------
setenv bootrootfs "console=tty1 console=ttySAC2,115200n8 root=/dev/mmcblk1p2 rootfstype=squashfs rootwait ro net.ifnames=0"
$ nano /media/ck/boot/boot.ini
$ cat /media/ckkim/boot/boot.ini | grep bootrootfs
setenv bootrootfs "console=tty1 console=ttySAC2,115200n8 root=/dev/mmcblk1p2 rootfstype=squashfs rootwait ro net.ifnames=0"
setenv bootargs "${bootrootfs} ${videoconfig} ${hdmi_phy_control} ${hid_quirks} smsc95xx.macaddr=${macaddr} ${external_watchdog} governor=${governor}"
Ahora simplemente asegúrate de que todo funciona correctamente. No te olvides de fijar el interruptor del modo de arranque en la tarjeta microSD. El login de odroid es "root" y la contraseña "odroid".
# mount
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
udev on /dev type devtmpfs (rw,nosuid,relatime,size=952168k,nr_inodes=186804,mode=755)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620,ptmxmode=000)
tmpfs on /run type tmpfs (rw,nosuid,noexec,relatime,size=204240k,mode=755)
/dev/mmcblk1p2 on / type squashfs (ro,relatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpu,cpuacct)
cgroup on /sys/fs/cgroup/rdma type cgroup (rw,nosuid,nodev,noexec,relatime,rdma)
cgroup on /sys/fs/cgroup/net_cls,net_prio type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls,net_prio)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=27,pgrp=1,timeout=0,minproto=5,maxproto=5,direct)
mqueue on /dev/mqueue type mqueue (rw,relatime)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
configfs on /sys/kernel/config type configfs (rw,relatime)
/dev/mmcblk1p1 on /media/boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
tmpfs on /run/user/0 type tmpfs (rw,nosuid,nodev,relatime,size=204240k,mode=700)
Ejemplo: hacer que /home sea editable.
Crear una nueva partición ext4 en la tarjeta microSD
Desempaquetar squashfs-root
Crear nuevo directorio /media/data
Editar /etc/fstab para montar la partición de datos ext4 rw
Añadir/modificar con forme a tus preferencias y luego volver a crear squash.rootfs
Copiar el squash.rootfs recién creado sobre el existente en la tarjeta microSD
Arrancar usando la tarjeta microSD con la nueva imagen
Reinicia y usa la tarjeta microSD que contiene la nueva imagen.
# mount | grep mmc
/dev/mmcblk1p2 on / type squashfs (ro,relatime)
/dev/mmcblk1p1 on /media/boot type vfat (rw,relatime,fmask=0022,dmask=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro)
/dev/mmcblk1p3 on /media/data type ext4 (rw,relatime,data=ordered)
Por ejemplo, se puede usar overlayfs (http://goo.gl/1UGThG) activado como módulo en el Kernel 4.14.y. Usa overlayfs para hacer /home editable.
# modprobe overlay
# lsmod
Module Size Used by
overlay 65536 0
joydev 20480 0
spidev 20480 0
spi_s3c64xx 20480 0
exynos_gpiomem 16384 0
ipv6 380928 28
# mkdir -p /media/data/home
# mkdir -p /media/data/home/upper
# mkdir -p /media/data/home/work
# mount -t overlay -o lowerdir=/home,upperdir=/media/data/home/upper,workdir=/media/data/home/work overlay /home
# mount
...
overlay on /home type overlay (rw,relatime,lowerdir=/home,upperdir=/media/data/home/upper,workdir=/media/data/home/work)
# cd /home
# touch file1
# ls
file1
Para comentarios, preguntas y sugerencias, visita el artículo de la wiki sobre SquashFS en http://goo.gl/Xw2epe.
PiFace: Control and Display 2
February 1, 2018By @XanderODROID-C2, Mecaniqueo, Tutoriales
Para aquellos que posean la PiFace Control and Display 2 (https://goo.gl/VeBNJw), y quieran hacerla compatible con el ODROID-C2, tienen que hacer algunas modificaciones a nivel de hardware. Las modificaciones ayudarán para que funcione con el driver bitbang, ya que Pifacecad2 necesita cambiar los pines CE0 y CE1.
En primer lugar, retira la soldadura de los pines número 24 y 26 del ODROID. A continuación, suelda los cables de los pines 24 y 26 del ODROID sobre el Pifacecad y cúbrelos, tal y como se muestra en la Figura 1.
Juegos Android: Data Wing, Space Frontier, and Retro Shooting - Pixel Space Shooter
February 1, 2018By Bruno DoicheAndroid, Juegos
¿A qué hemos estado jugando últimamente en nuestro tiempo libre? ¡A una temática muy variada! Carreras, explosiones en el espacio y cosas que estallan en mil pedazos y que nos persiguen.
Data Wing
Con asombrosas imágenes que recuerdan a los clásicos juegos árcade de antaño al estilo Tron, explotarás a lo largo de un sofisticado paisaje de neón en una extraordinaria aventura de carreras guiada por una gran historia. Si piensas que se trata de un simple juego absurdo, te sorprenderá y te encantará su historia tan bien elaborada. DATA WING envía datos críticos a través del sistema informático, siguiendo las órdenes de Madre sin cuestionar nada. Pero cuando el sistema es atacado y Madre se vuelve irracional, ¡hay que hacer algo! Mejora tus habilidades en este juego, el cual requiere que domines el arte de presionar controles con dos contactos proporcionándote la sensación árcade de una carrera con mucho estilo, centrándote en empujar los muros a lo largo de una historia de 2 horas que abarca más de cuarenta niveles.
Despega hacia la estratosfera con Space Frontier, el adictivo juego de cohetes de física al que tus amigos querrán jugar, pero no podrán (pídeles que se compren sus propios ODROIDs). Este es el perfecto juego para cuando quieres jugar, pero estás demasiado cansado para presionar más de un botón a la vez. Tu misión es lanzar tu cohete y ponerlo en órbita lo más alto posible. Un simple control táctil con el que superas cada nivel con tu cohete.
Fácil de jugar, pero difícil de dominar, su jugabilidad implica que volverás una y otra vez a realizar un impulso mayor, ¡hasta que te des cuenta de que acabas de pasar 5 horas seguidas tratando de enviar ese condenado cohete un poco más lejos!
Oh sí, este mes terminamos con un cariñoso juego que es como ese amigo troll que no duda en castigarte simplemente por las risas. Por supuesto, estamos hablando del clásico juego shoot-em-up, o como lo llamamos cariñosamente, infierno. En este caso, ¡es el infierno más pixelado que podríamos encontrar! Se trata de una espectacular guerra espacial en la que luchas contra un increíble aluvión de ataques de poderosos jefes en cientos de fases. Haz tu elección entre docenas de aviones de combate y drones únicos, y lucha contra los invasores de la galaxia.
Hace algún tiempo, hablé de la Sega Saturn y de cómo puedes jugar a sus juegos si tienes un ODROID-XU3/XU4. Actualmente, no hay muchas placas con las que puedas jugar a Saturn. De hecho, el ODROID-XU3/XU4 podría ser la única placa ARM del mercado que tiene un emulador Sega Saturn funcional que no requiere ver una presentación de diapositivas. Por ello, creo que es hora de que analicemos con más detalles el sistema Sega Saturn para ODROID-XU3/XU4.
He decidido crear una lista de juegos de Sega Saturn a los que me gusta jugar en el ODROID. Para esta primera entrega, he seleccionado algunos con los que especialmente disfruto jugando en el ODROID, voy a entrar un poco más en detalle en cada uno de ellos. Sólo he elegido juegos con los que personalmente disfruto jugando. Esto no quiere decir que otros no funcionen. Simplemente significa que no son de mi tipo, o que los disfruto más en otras consolas o sistemas. Este artículo tiene muchos shoot'em ups, así que ten paciencia ya que Saturn también contaba con bastantes títulos arcade.
Amok
En Amok, manejas un supuesto "Slambird", un vehículo tipo mecha que puede ir por tierra y sumergirse bajo el agua. Está equipado con varias armas y simplemente disparas a todo lo que te encuentras a tu paso.
Puede que no sea extremadamente espectacular, pero me gusta prácticamente todo sobre este juego. Tiene una gran historia y los informes de la misión son bastante buenos para ser un juego de este tipo. Llendo al grano, básicamente se trata de un shooter al estilo perseguir y destruir. Sigues a determinados objetivos de la misión, tiene algunas armas para elegir, y luchas a lo largo de ocho o nueve niveles, cada uno con varias fases. Puede que el sistema de juego no esté del todo desarrollado, ¡pero el juego en sí está genial!
El juego es muy divertido y de hecho se ejecuta bastante rápido y con fluidez en el ODROID. Sin embargo, hace uso del denominado frame skipping para mejorar su velocidad, pero prácticamente no llega a precibirse durante la ejecución del juego. Hay otros juegos que utiliza esta técnica en los cuales es mucho más perceptible.
Amok tiene dos modos de dificultad: el difícil y el fácil, sin ningún modo intermedio. En el modo difícil, el número de enemigos es aproximadamente tres veces mayor que el modo fácil, de modo que te sugiero que empieces el juego en el modo fácil si juegas por primera vez.
Tienes cuatro armas a tu disposición: una pistola con munición ilimitada, misiles, misiles pesados y bombas. La mayoría de las veces, vas a querer bombardear a tus enemigos con toneladas de balas en lugar de malgastar tus misiles.
En cada misión, encontrarás elementos que puedes trasladar al siguiente nivel o aumentan tu salud en su conjunto. Si deambulas o te desvías de los objetivos generales de tu misión, puedes encontrar también rutas y objetos ocultos. En el menú de opciones, puedes introducir una contraseña para continuar desde un determinado nivel, o códigos de trucos que te aran invencible o te proporcionaran fuego rápido ilimitado.
Personalmente me gusta bastante el juego, ya que es bastante fácil de jugar y se ejecuta muy bien sobre el ODROID. Si tienes poco de tiempo y simplemente quieres bombardear a algunos enemigos, este es un buen juego. Aun así, te pondrá a prueba y te mantendrá ocupado durante un buen rato si quieres llegar hasta el final.
El único problema que tuve con el juego fue que la música no se escuchaba. Aunque la banda sonora está disponible en el CD, el juego no era capaz de reproducirla, lo cual era una lástima, ya que la música es muy buena. Quizás en una versión diferente del juego, la música funcione, pero en la mía no se escuchaba nada, a no ser que la música se reprodujese a través de un reproductor externo.
Albert Odyssey–Legend of Eldean
Ni siquiera puedo empezar a describir este juego. En mi opinión, probablemente sea uno de los mejores juegos para Sega Saturn.
A menudo se decía que la Sega Saturn era inferior a la PlayStation 1 debido a la ausencia de transparencias. Eso no es del todo cierto. La arquitectura de la Saturn era muy complicada y las transparencias no siempre eran posibles. En algunas ocasiones, se utilizaba una especie de malla para simular las transparencias. Esto se debía a una limitación del hardware, principalmente en juegos 3D, o porque les facilitaba el trabajo a los desarrolladores que no les importaba hacer un esfuerzo adicional para ello. Esto dio pie al rumor de que la Sega Saturn no era compatible con las transparencias. Albert Odyssey es la prueba de que esto no era cierto.
Albert Odyssey usa las transparencias con bastante frecuencia. Los cuadros de diálogo transparentes que muestran el fondo y las sombras de diferentes objetos como árboles, nubes, etc., se mueven dependiendo de tu dirección, o simplemente flotan sobre la pantalla. Las imágenes de muchos de los efectos especiales y las habilidades mágicas también hacían uso de la transparencia. Este juego está magníficamente trazado y se ve muy nítido. Es una verdadera obra maestra de la Sega Saturn, definitivamente es tan bueno como cualquier otro juego de PlayStation.
El resto del juego es lo que esperarías de un juego de rol: un sistema de combate por turnos con ataques, habilidades, objetos y la posibilidad de defenderte o huir de las batallas.
He oído que cuando el juego se exportó a Estados Unidos, se redujo la cantidad de enemigos que te ibas encontrándote, pero incluso así continuaba siendo muy alta. A veces apenas eras capaz de dar unos cuantos pasos antes de que fueras arrastrado al siguiente combate.
Por lo que he visto hasta ahora, Albert Odyssey tiene una historia muy interesante, y los gráficos son realmente increíbles. El juego presenta colores muy cálidos y brillantes, pero también fríos y oscuros para determinadas escenas, como son las mazmorras. El juego tiene muchos detalles, como son los numerosos elementos diminutos dentro de las casas y los poblados, aportando una rica experiencia de juego.
La música del juego se reproduce en su totalidad desde las pistas de sonido del CD y suena estupendamente. Incluso he tenido la tentación de escucharla sin jugar realmente al juego. Este juego pone de manifiesto realmente de lo que era capaz Saturn. Me hubiera encantado tener más juegos como este para Saturn. Con más juegos de esta calidad, la Sega Saturn podría haber llegado a ser un verdadero competidor de la PlayStation 1 en el área de los juegos de rol y 2D.
Entonces, ¿esto significa que Albert Odyssey es una maravilla sobre el ODROID? En su mayor parte, sí, aunque presenta algunos problemas de poca importancia. Por ejemplo, el juego no se ejecuta a máxima velocidad, lo que significa que debes usar el frame skipping para adecuar la velocidad, lo cual provoca saltos visibles al desplazarte. No son de lo peor, pero se aprecian. Si desactivas el frame skipping con F4, el desplazamiento se vuelve suave como la mantequilla, pero te desplazarás a la mitad de velocidad de cuando lo haces normalmente.
Desactivar el frame skipping también afecta a la música y al sonido, lo caul hace que también se reproduzcan a la mitad de velocidad. Si no te molesta, desactiva mejor el frame skipping y lograrás una experiencia más fluida. En algunos casos, también observé algunos efectos que destelleaban en esceso, posiblemente derivados de las transparencias. La sombra del dragón en la Figura 9 destellaba un poco, y más adelante un foco también relampagueaba. Aparte de esto, no he visto más problemas visuales.
Incluso con el frame skipping activado, la velocidad no es del todo del 100%, pero por lo general no te darás cuenta de ello. Sin embargo, lo notará en la introducción. La introducción está dividida en un tramo visual que está renderizado por el propia Saturn, y una parte de audio que se reproduce desde el CD. Lamentablemente, no están sincronizados y como resultado, la introducción se reproduce algo más lenta que la pista de audio, especialmente sin frame skipping. Después de la introducción, el problema de sincronización ya no se apreciable.
Si eres un fanático de los juegos de rol, Albert Odyssey es un título imprescindible que deber tener en tu colección de Sega Saturn.
Cotton 2: Magical Night Dreams
Cotton 2 es un gracioso juego tipo "cute em up", lo cual significa que se trata de un shooter con adorables elementos al estilo anime, es por ello que la serie Cotton es muy conocida. Es un título de un perfecto arcade para la Sega Saturn.
Una mejora importante con respecto a Cotton 1 es que tienes la posibilidad de jugar con dos jugadores (y dos brujas) al mismo tiempo, formando así un equipo con el que luchas a lo largo de cada nivel. Como suele pasar con la serie Cotton, los gráficos están muy bien trazados y la música encaja bastante bien con la configuración.
Esta versión no tiene ni escenas de video ni banda sonora de audio, aun así, la música es muy pegadiza y hay algunas animaciones que te ayudan con la historia. Como es un título exclusivo japonés, no entenderás nada, pero se le ve muy amigable.
Cuando eliminas a los monstruos, éstos lanzan cristales a los que puedes disparar, que luego cambian de color: naranja para fuego, azul para hielo y verde para viento son tus principales poderes mágicos. Hay un cuarto color, amarillo, que aumenta la potencia general de tus ataques sin darte ningún poder mágico. Puede acumular hasta tres poderes mágicos, diferentes o iguales, para lanzar un ataque especial que causa mucho daño. Tu estilo de ataque también cambia de acuerdo con tu poder mágico actual.
No hay mucho más que decir sobre este juego aparte de que se trata de un divertido juego de disparos de desplazamiento lateral, y que puedes jugar con un amigo en tu ODROID usando un segundo mando. Las opciones del menú te permiten ajustar tu dificultad y tus vidas, dándote la posibilidad de adaptar el juego a tu nivel de experiencia.
Cotton Boomerang es más de lo mismo, con algunos pequeños cambios. Por ejemplo, hay más personajes jugables, y si uno de tus personajes muere, cambias a otro personaje. También es un juego muy divertido.
Darius Gaiden
Darius Gaiden es otro shoot'em up de desplazamiento lateral, aunque no tan gracioso. Es un tipo de shooter bastante interesante, pero nada fácil. Una cosa que no me gusta de este juego es que cuando mueres pierdes todos tus poderes, dejándote casi completamente indefenso en la batalla. Esto resulta bastante molesto, he oído hablar a mucha gente que han jugado al juego hasta que mueren y luego lo abandonan, lo cual es comprensible. A veces puedes llegar muy lejos, y empezar de nuevo desde cero puede ser bastante frustrante.
Aun así, es un juego divertido con buenos gráficos. También requiere frame skipping para jugar con fluidez, aunque algunas escenas se ejecutan bastante bien incluso sin tener activado el frame skipping. Desactivar el frame skipping es una buena forma de ralentizar el juego y hacerlo un poco más fácil, ya que te da más tiempo para reaccionar a los ataques enemigos.
Una vez que finalices una batalla contra un jefe, aparece una selección de nivel similar a Outrun y otros juegos de carreras, que te permite decidir qué camino seguir: hacia arriba o hacia abajo. Esto da una cierta sensación de repetición si realmente logras terminar el juego o simplemente tienes que empezar de nuevo.
Este juego es bastante divertido, aunque morir es un verdadero fastidio.
Detana Twinbee Yahoo! - Deluxe Pack
Sí, he incluido otro shooter en esta lista, que es otro amigable 'em up'. De hecho, este es desmesuradamente adorable. También te desplazas de arriba a abajo, pero no lateralmente.
Como ya hemos hablado de un par de shooters, intentaré no alargarme demasiado, tanto como que el juego es bastante corto. Puedes terminar una ronda en aproximadamente 30 minutos o menos, pero es muy divertido, y si fijas el nivel de dificultad en fácil es bastante sencillo de superar, lo cual hace que sea muy amigable para que jueguen los niños.
Cuentas con dos aviones de ataque diferentes. Tus disparos normales van directamente hacia adelante y matan a los enemigos que aparecen frente a ti, mientras que el segundo ataque lanza bombas para destruir objetos o enemigos que están sobre el terreno. En realidad, puedes utilizar los dos botones a la vez para matar a tantos enemigos como puedas.
También hay un ataque de carga que consiste en un puño gigante que lanzas por delante de ti, el cual hace bastante daño. Es bastante bueno para matar jefes u otros grandes enemigos. Si disparas a las nubes. Dejarán caer campanas que puedes recoger, o si les disparas, rebotan y cambian de color. Las campanas de diferentes colores te dan diferentes tipos de poderes, como un escudo o más munición.
Detana Twinbee viene con algunas escenas de anime muy buenas, que no entiendo en absoluto, aunque son divertidas de todos modos. Recomiendo sumamente este juego.
Elevator Action Returns
Mencioné brevemente este juego en septiembre de 2016 cuando hablé por primera vez de la Sega Saturn en ODROID. Aún me sigue gustando bastante este juego.
Este juego te permite jugar con hasta dos jugadores. El objetivo es luchar dentro de un edificio subiendo y bajando por diferentes ascensores (de ahí es de donde viene el nombre) y abriendo diferentes puertas. Las puertas azules te proporcionan elementos como bombas adicionales, puntos y salud, y las puertas rojas son objetivos de misión. El objetivo final es abrir todas las puertas rojas y luego dirigirte a la salida.
Realmente disfruto luchando a lo largo de los diferentes niveles. Si te gusta los shooter de acción y quieres destrozar a varios enemigos solo o con un amigo, este juego es una forma increíblemente divertida de hacerlo. Se ejecuta muy bien en el ODROID-XU3/XU4. También es un juego muy recomendable.
La siguiente lista contiene juegos que merecen menciones honoríficas:
Brain Dead 13
Brain Dead 13 es un juego de video de movimiento completo (FMV) QuickTime, similar a Dragon's Lair o Space Ace. Sin embargo, me gusta bastante más, ya que te permite elegir tu propio camino y es más benevolente, con vidas/continúes ilimitados y la capacidad de guardar tus progresos. Tiene algunos fallos gráficos menores, especialmente en el menú, pero el juego en sí funciona perfectamente.
Command and Conquer
La estrategia en tiempo real (RTS), el clásico Command and Conquer de Westwood, también fue portada de Saturn. Funciona sorprendentemente bien considerando que se trata de un juego de estrategia en tiempo real, y al que juegas con un mando en lugar de un ratón. La versión de Saturn incluye el juego completo, incluidos todos los videos y la música de las versiones de DOS para PC. Utiliza códigos de nivel para guardar la partida y hay algunos problemas con los videos, los cuales aparecen un poco entrecortados, pero aparte de eso, la experiencia de juego es muy agradable. A excepción de los mandos, es muy similar a la versión DOS para PC.
Cyberia
Cyberia es una mezcla entre un juego de aventura en el que se resuelven rompecabezas y un juego de acción arcade. Utiliza videos 3D renderizados previamente para contar la historia, que están un poco anticuados según los estándares actuales. Presenta algunos elementos de acción como minas o aviones que se acercan disparando. El juego esta completamente interpretado por voz, lo cual es muy bueno. Además, guarda la partida automáticamente en la memoria del sistema o en la tarjeta de memoria después de cada paso importante y si mueres, puedes repetir la misma etapa una y otra vez.
DoDonPachi
DoDonPachi es otro shooter arcade exportado a Saturn. Basicamente es un festejo de balas, y a veces son bastante difíciles de esquibar. Por esa razón, disfruto más jugando sin frame skipping. El juego sigue siendo rápido, de modo que no sientes que estás haciendo trampas. Ofrece el modo Arcade y Saturn, donde este último se puede configurar para ser un poco más fácil que el modo Arcade, con más vidas, continues y bombas a tu disposición. Me gusta mucho este juego. Es divertido si solo quieres disparar a algo.
Dragon Force
Había escuchado muchos elogios de este juego, y quería probarlo por mi mismo. Los gráficos son muy buenos con videos de anime, escenas y personajes muy bien trazados, e incluso el juego en sí mismo es muy divertido con una extensa historia para leer y muchas cosas que hacer.
Sin embargo, para ser honesto, encontré a Dragon Force bastante difícil de entender. Hay muchas opciones, pero sin leer primero el manual, no tiene ni idea de qué hacer. Perdí la mayoría de mis batallas al principio hasta que descubrí cómo funcionaba los combates. Incluso entonces, era bastante fácil perder si tomaba decisiones equivocadas. Me enfrenté a 30 arqueros con 10 Samurai y yo como poderoso mago, y aun así me derrotaron. Probablemente necesite dedicarle mucho más tiempo a este juego, ya que parece interesante, las pocas horas que pase jugando terminé perdiendo.
Consola de Juegos: Ejecuta tus Juegos Favoritos en un ODROID-C2 Usando Android
February 1, 2018By @sodinissAndroid, Juegos
He desarrollado una consola de juegos usando un ODROID-C2 con Android 6. La uso para jugar con amigos allí donde esté. Puedes ver un video de la consola en acción en https://www.youtube.com/watch?v=wfTRXIWRP8g.
Materiales
ODROID-C2
Dongle Bluetooth
3 mandos Bluetooth PS3
1 mando Xbox360 conectado por cable
Teclado inalámbrico
HHD de 2.5" con adaptador USB
Cargador usb 5v2a
Cable HDMI
Lo guardé todo en un bonito maletín para portátiles. Podemos decir que "prácticamente es bricolaje", ya que Android no es Retropie. Tienes que configurarlo todo tú mismo si vas a usarlo para juegos. Me llevo algo de tiempo elegir las aplicaciones adecuadas que iba a utilizar, pero ahora todo funciona de la forma que quería.
Software
Emuladores: EPSXE opengl, Mupen64fz, Retroarch y Reicast
Controlador Sixaxis para poder configurar los mandos de PS3
Sambadroid para compartir la tarjeta SD a través de la LAN
Mixplorer como administrador de archivos
HAL launcher
Teamviewer host
Droidmote Server para usar un smartphone como control remoto/mando
La figura 2 muestra la carcasa de Lego que monté con algunas piezas tiradas por ahí. Me encanta, incluso si hubiera tenido que cortar algunas piezas. La mantengo en vertical porque aparentemente nunca se calienta
Tal y como se observa en la Figura 3, todas las piezas están pegadas, excepto la parte superior.
La Figura 4 muestra la conexión y el uso de un disco duro estándar (HDD). Ten en cuenta que la unidad de disco duro coincide con el tamaño de la carcasa de Lego casi a la perfección dándole una apariencia muy cuidada. Normalmente lo utilizo cuando quiero ver una película.
La carcasa de lego tiene el resultado esperado, tal y como se puede ver en la Figura 5.
La Figura 6 muestra la pantalla de inicio del HAL Launcher con ajustes personalizados para dar forma a un estilo inspirado en Nvidia.
Tras agregar manualmente los enlaces de los juegos a la pantalla de inicio, deberían verse como muestra la Figura 7. Cada juego tiene su propio mosaico personalizado, que hice con Photoshop. Me supuso mucho trabajo, aunque no podría estar más contento, ya que el resultado final es sorprendente. Lo prefiero sobre otras interfaces de juegos puesto que no dispongo de demasiados juegos.
La Figura 8 muestra el Crash Team Racing ejecutándose sobre ePSXe con el plugin OpenGL con gráficos mejorados y multi-threading. Los rótulos de ven algo oscuros, pero esta es la mejor configuración que logré obtener para el pequeño ODROID-C2.
La Figura 9 muestra el Quake II ejecutándose sobre ePSXe, jugando con los modernos controles personalizados fps
La Figura 10 muestra Super Smash Bros en Mupen64fz con un paquete de texturas de alta resolución y un hack de pantalla panorámica. Es el mismo para otros juegos de n64.
La Figura 11 muestra un juego ejecutándose a 60 fps, tiene un aspecto magnifico.
La Figura 12 muestra uno de los pocos juegos en Android que admite 4 jugadores en una pantalla así como 4 gamepads.
La Figura 3 muestra una captura de pantalla de Firestrikers para SNES.
Por último, la Figura 14 muestra el juego Crash Bash.
Bus Controller Area Network (CAN): Implementación para ODROID-C1+ y ODROID-XU4
February 1, 2018By Justin LeeODROID-C1+, ODROID-XU4, Mecaniqueo, Tutoriales
Esta página explica cómo habilitar el bus CAN en ODROID-C1/C1+/C0 a través de la interfaz HW SPI. También se incluyen instrucciones detalladas de cómo intercambiar información con una placa MCP2515 Bus Monitor.
Conexión H/W
Los siguientes productos son necesarios para configurar el hardware:
ODROID-C1+
Kit Tinkering C
Módulo MCP2515_CAN
Before installing the software, you must modify the mcp2515 driver to set the amlogic GPIO IRQ. Apply este parche a tu kernel. Descomprime el archivo zip y escribe "git apply odroid-c1-mcp251x.patch". A continuación, edita arch/arm/boot/dts/meson8b_odroidc.dts y elimina el signo de línea comentada de la sección can0.
Habilitar el driver del kernel controlador de CAN
La configuración para la plataforma ODROID-C1 con un chip MCP2515 es: Linux Kernel Configuration > Networking support > CAN bus subsystem support > CAN device drivers > Platform CAN drivers with Netlink support > CAN bit-timing calculation > Microchip MCP251x SPI CAN controller
Luego, actualiza el kernel y el sistema de archivos root. Recurre a estas instrucciones para compilar e instalar el kernel.
Verificar la configuración de soporte CAN
Carga todos los drivers necesarios, usando la contraseña de sudo "odroid":
# ls /sys/class/net/
can0 eth0 ip6tnl0 lo sit0
# ifconfig can0
can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
NOARP MTU:16 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Encender el hardware CAN
Ajusta la tasa de bits antes de realizar cualquier operación, similar al siguiente ejemplo donde la tasa de bits de la interfaz can0 está configurada en 125 kbps:
# ip link set can0 type can bitrate 125000 triple-sampling on
# ifconfig can0 up
# ifconfig
can0 Link encap:UNSPEC HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
UP RUNNING NOARP MTU:16 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:10
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
eth0 Link encap:Ethernet HWaddr 00:1e:06:10:18:1c
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:40
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:1360 errors:0 dropped:0 overruns:0 frame:0
TX packets:1360 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:108256 (108.2 KB) TX bytes:108256 (108.2 KB)
Instalar las utilidades SocketCAN
El paquete "can-utils" es un conjunto de drivers CAN y herramientas de red para Linux. Permite interactuar con dispositivos bus CAN de forma similar a otros dispositivos de red.
$ sudo apt install can-utils
Escribe los siguientes comandos para realizar una prueba de circuito cerrado en un único puerto CAN:
# ifconfig can0 down
# ip link set can0 type can bitrate 125000 loopback on
# ifconfig can0 up
# ip -details link show can0
5: can0: <NOARP,UP,LOWER_UP,ECHO> mtu 16 qdisc pfifo_fast state UNKNOWN mode DEFAULT group default qlen 10
link/can promiscuity 0
can <LOOPBACK,TRIPLE-SAMPLING> state ERROR-ACTIVE restart-ms 0
bitrate 125000 sample-point 0.875
tq 500 prop-seg 6 phase-seg1 7 phase-seg2 2 sjw 1
mcp251x: tseg1 3..16 tseg2 2..8 sjw 1..4 brp 1..64 brp-inc 1
clock 10000000
El siguiente comando muestra el mensaje recibido desde el bus CAN:
$ candump can0
En un segundo terminal, el siguiente comando envía 3 bytes sobre el bus (0x11, 0x22, 0x33) con el identificador 500:
$ cansend can0 500#11.22.33
Para probar la conexión CAN-bus entre 2 placas ODROID-C1, primero conecta los pines CANL y CANH de dos placas ODROID-C1.
Enciende ambas placas, luego escribe lo siguiente en el intérprete de comandos de ambas placas para configurar el dispositivo bus CAN:
$ modprobe can_raw
$ modprobe spicc
$ modprobe mcp251x mcp251x_enable_dma=1
$ ip link set can0 type can bitrate 125000 triple-sampling on
$ ifconfig can0 up
Escribe lo siguiente en el intérprete de comandos de la placa 1 (utilizada para probar la recepción de dispositivos can0):
$ candump can0
Escribe lo siguiente en el intérprete de comandos de la placa 2 (utilizado para probar el envío de paquetes de datos a través del dispositivo can0):
$ cansend can0 500#11.22.33
Llegados a este punto, la placa 1 recibirá el paquete de información enviado desde la placa 2:
Conociendo un ODROIDian: Cristian Sandu (crazyquark)
February 1, 2018By Rob RoyConociendo un ODROIDian
Por favor, háblanos un poco sobre ti.
Soy un desarrollador de software de 34 años de Bucarest, Rumania. Me gradué en la Universidad Politécnica de Bucarest con un título en informática. Mi puesto de trabajo es "desarrollador blockchain", lo cual significa que en su mayor parte desarrollo software en Java, Javascript y Go. Mi equipo está centrado en el mercado empresarial para aplicaciones blockchain. Mi principal lenguaje de programación solía ser C++ pero los tiempos están cambiando. Mi esposa trabaja para una gran empresa de telecomunicaciones como analista de negocios, de modo que somos una familia que pasa mucho tiempo con pantallas.
¿Cómo empezaste con los ordenadores?
Conseguí mi primer ordenador por Navidad en algún momento a principios de los 90, se trataba de un ordenador rumano HC90, es decir, un clon de Sinclair ZX Spectrum (CPU Z80). Muchas personas de mi edad empezaron a programar con BASIC. Principalmente ejecuté juegos sobre él, y llegué a desarrollar alguna programación infantil usando el intérprete BASIC que tenía incluido.
¿Qué te atrajo a la plataforma ODROID?
Me gusta la potencia de cálculo en bruto. Ya estaba familiarizado con los ordenadores de placa reducida (SBC), ya que he jugueteado bastantes con ellos, pero cuando empiezas a ejecutar más y más servicios, éstos muestran sus limitaciones. Hasta donde puedo decir, el ODROID-XU4 sigue siendo el SBC ARM más potente para cuestiones a nivel de servidor.
¿Cómo usas tus ODROID?
Mi ODROID-XU4 es mi Almacenamiento conectado en red (NAS) de uso general, que utiliza una carcasa Cloudshell2 y la magia del Logical Volume Manager (LVM) para que el almacenamiento sea fácilmente ampliable. Ejecuto bastantes servicios a nivel multimedia como Emby, Sonarr y Radarr. También tengo mi blog de WordPress en el XU4 (https://www.cristiansandu.ro/). También tiene un servicio homebridge para conectar algunas luces Philips Hue, así como un servicio personalizado que desarrolle y que usa el receptor IR para ejecutar algunos comandos cuando presiono un botón del mando a distancia de mi TV con el fin de atenuar y apagar las luces. Probablemente olvide algo, pero el ODROID-XU4 sigue dándolo todo. También solía experimentar con contenedores Docker, pero creo que necesito más memoria RAM.
Mi ODROID-C2 tiene la aburrida labor de ser un centro multimedia que ejecuta LibreELEC, y está conectado al televisor para satisfacer todas nuestras necesidades multimedia. Solía tener también una configuración tipo Ambilight usando un Arduino que controlaba la banda de LEDs, pero no llego a ser muy popular en nuestra sala de estar. Tengo pensado volver a montar la configuración con algunos LED SMD.
Mi viejo ODROID-C1 + fue reutilizado como dispositivo PiHole para filtrar anuncios publicitarios y otras cosas maléficas en mi red doméstica. También lo uso para experimentar con sensores de hardware, como un sistema para controlar mi AC que monté el pasado verano. Se puede decir que es una especie de dispositivo de puesta en escena para nuevos servicios, ejecuta DietPi para que sea lo más eficiente posible.
Mi ODROID-C1 aún más antiguo tiene la labor de ser una consola de TV Lakka, pero últimamente no recibe mucha atención, así que probablemente lo modifique para que haga otra tarea. Utilicé un ODROID-HC1 como NAS de backup secundario y un servidor de WordPress. Desafortunadamente, debido a un poco de agua (¡no preguntes!), dejo de funcionar.
¿Cuál es tu ODROID favorito y por qué?
Mi ODROID-C2 es la interfaz para mis sistemas multimedia, así que me gusta bastante, pero el ODROID-XU4 es claramente el centro neurálgico de mi configuración, de modo que el ODROID-XU4 es hasta ahora el mejor ODROID para mí, especialmente con refrigeración pasiva ya que no me gustan los ventilados.
¿Qué innovaciones te gustaría ver en futuros productos Hardkernel?
Hardkernel ya está haciendo un gran trabajo, puedo ver claramente la aplicación práctica de NAS/centros multimedia de sus productos, pero también creo que hay espacio para más cosas relacionadas con los juegos, específicamente los juegos portátiles. Me ha gustado mucho el proyecto de la comunidad sobre una consola portátil desarrollada a partir de un ODROID-C0. En este momento, también estoy buscando soluciones portátiles para poder transmitir juegos desde el PC de mi casa usando Moonlight. No estoy seguro de si se trata de una innovación, pero me gustaría tener un elegante puerto de cámara serie en ODROID para poder conectar placas de cámara compactas para robots y otros fines.
¿Qué hobbies e intereses tienes aparte de los ordenadores?
¿Qué, hay mundo fuera de los ordenadores? También estoy muy interesado en la impresión 3D. Cuento con una Prusa i3 MK2 original, que utilizo para crear carcasas para mis ODROID y ocasionalmente para crear escultura de Baby Groot y algo más. También la utilizo para crear piezas para mi robot móvil personalizado. El robot se puede controlar a través de una interfaz web, así como con un mando de PS3.
Mi interés en la impresión 3D probablemente proceda de mi interés por experimentar con la electrónica, que empezó con Arduino y cosas similares a los microcontroladores junto con SBC, pero ahora estoy intentando en aprender más sobre los distintos componentes y circuitos integrados (ICs) y cómo funciona todo.
Como la mayoría de las personas, me gusta viajar y creo que me muevo bastante. Algún día espero visitar Japón porque me fascina su cultura y sus videojuegos. No leo tanto como quisiera, aunque si es algo que me interesa bastante. Intento leer ficción y no solo material técnico y de no ficción.
También soy adicto a los programas de TV, específicamente a los programas de ciencia ficción/fantasía. ¿Es eso un hobby?
También disfruto viendo películas, he visto cientos de ellas y hay muchas más que quiero ver.
¿Qué consejo le darías a alguien que quiere aprender más sobre programación?
Desarrollo la mayoría de mis proyectos personales en Python, creo que es un muy buen lenguaje de programación para empezar. Hay un montón de sitios que te pueden enseñar a programar hoy día, aunque pienso que deberías introducirte en el mundo de la programación con algo que realmente te apasione, como por ejemplo diseñar tu propia lavadora inteligente. Actualmente, puedes ejecutar MicroPython, que es una variante de Python para los microcontroladores ESP8266/ESP32 y que combina la facilidad de uso de Python con la diversión de los proyectos de electrónica. Si esto es algo por lo que sientes curiosidad, empieza por aquí. A mí siempre me motiva el hecho de poder llegar a ver el objetivo final de mi aprendizaje, como descubrir que puedo montar un robot con Python.