Translate

miércoles, agosto 30, 2017

Bajar archivos de Mega por terminal


Cuando uno trabaja con servidores y por terminal muchas veces necesita bajar o subir archivos a un servidor rápido y ese es es mega.
En esta entrada les voy a mostrar como Bajar archivos de Mega por terminal.

Los pasos:


1. Instalamos con apt-get:
apt-get install megatools

Luego podemos ir a nuestro directorio o crear un directorio donde voy a bajar las cosas:
cd ~/

2.Una vez terminado, busca lo que quieres bajar y puedes poner el comando asi:

megadl --print-names 'linkdemegaconloquequeresdescargar'
Las dos comillas ” TIENEN que estar!!

Ejemplo de como deberíamos bajar algo:

megadl –print-names ‘http://mega.co.nz/#!hQRmGAKT!vOTZ6P0kyjhCGMlgZBdVUMmSrA’

Y van a ver que de este modo habrán aprendido a Bajar archivos de Mega por terminal

viernes, agosto 25, 2017

Orange Pi IoT 2G: Trabajar con la memoria NAND

Trabajar con la memoria NAND 

 

EXPERIMENTAL EXPERIMELTAL 

PRECAUCION: este procedimiento puede dejar totalmente irrecuperable tu placa Orange pi, si sigues el procedimiento es bajo tu responsabilidad!!


1.Trabajar con la memoria NAND desde el PC con Linux



Las utilidades para escribir en la NAND de nuestra Orange Pi Iot 2G:

https://github.com/aib/opi2g-utils


Lo primero necesitaremos poner la placa en modo USB otg:

-Poner el interruptor en modo arranque desde flash (android)
-Poner los Switches en la zona adecuada (1-4 en on y 5-8  en off)
-Con la placa apagada apretar boton y conectar a puerto USB (asi entramos en modo otg, flash)

Foto tal como deben estar los switches e interruptor de placa:


Si lo hacemos bien aparecerá el dispositivo /dev/ttyACM0

La utilidad opi2g_bin_read.py sirve para extraer los ficheros del paquete Android para NAND, os dejo el siguiente enlace de descarga en mega:

https://mega.nz/#!TRNyTJLD!FgtMolmr1c9M_TXCidJ0hqU5qHlOoVespm_7wkAhxjU


Comandos a usar:

Con este comando formateamos y borramos por completo la memoria flash:
./opi2g_nand_write.py -v --format-flash

Si queremos restaurar por completo android en la NAND y sus particiones:

./opi2g_nand_write.py -v bootloader:bootloader.img modem:modem.img boot:boot.img system:system.img vendor:vendor.img



(Sigo investigando)

2 Arranque de Linux desde Tarjeta SD y visualización de NAND

Modificando el U-Boot y grabando en la NAND conseguiremos arrancar linux visualizando los 512MB de la NAND interna.
Es necesario instalar en el boot de la placa un U-Boot modificado, por lo que sera necesario bajar el kit de desarrollo que he preparado:

https://github.com/txurtxil/OrangePiIot2gBuidSystem

1.Una vez seguidos los pasos para instalar el SDK anterior, ejecutaremos
         ./build.sh
2. Elegir la siguiente opción de los menús:

3.Esta opción nos generalara el fichero:
            u-boot.rda
  Este fichero es el que deberemos grabar en la memoria interna NAND de la placa, podemos hacerlo de dos maneras:
                       Manera 1 Encenderemos la placa en modo Android y conectado al PC veremos la memoria interna del telefono "Phone storage" simplemente copiamos el fichero u-boot.rda hay.
                              Despues desde una  sesion putty hacia el puerto COM de la placa entraremos en la shell de Android ( puerto /dev/ttyUSB0, 962500bps en Linux). Y escribiremos el fichero u-boot.rda en la NAND:

                dd if=/mnt/root/u-boot.rda of=/dev/mtd/mtd0 bs=262144 count=2
                       
                        Manera 2: Es mas fácil, podemos usar las utilidades del paso 1 para grabar el u-boot:
                               ./opi2g_nand_write.py -v bootloader:u-boot.rda

Desde ahora dejando el switch en modo arranque Android el U-Boot activará la memoria NAND pero no podrá arrancar Android, así que arrancara Linux desde la memoria SD pero con la Nand activada.

Desde la shell haciendo un "dmesg | grep NAND" veremos que el kernel ha reconocido la particion NAND en el boot:

0.661437] NAND device: Manufacturer ID: 0x98, Chip ID: 0xac (Toshiba TC58NYG2S0H 4G 1.8V 8-bit), 512MiB, page size: 4096, OOB size: 256 



Nota importante: al seguir este tutorial hemos dejado anulado el arranque y uso de Android en la NAND, si queremos restaurar Android lo haremos siguiento el primer punto de este manual (1.Trabajar con la memoria NAND desde el PC con Linux)


3. Aprendiendo a particiona la NAND de la Opi IoT 2G:
       El usuario de github "aib" a preparado una guia en ingles perfecta para instalar Linux en la NAND de esta placa: https://www.aib42.net/article/hacking-orangepi-2g/

 3.1Necesitaremos el fichero boot.cmd, lo editamos, incluiremos las lineas que afectan a la memoria NAND:

setenv bootargs  "mtdparts=rda_nand:64M@0(bootloader),-(nandrootfs) root=${rootdev} rootwait rootfstype=${rootfstype} console=ttyS0,921600 panic=10 consoleblank=0 loglevel=${verbosity} ${extraargs} ${extraboardargs}"

  -64M@0(bootloader):Particion de 64M donde mas adelante instalaremos el boot de linux

  -(nandrootfs): Aqui va el S.O y espacio de usuario, con el parametro "-" le decimos que coja toda la memoria que quede disponible (despues de restar los 64M del bootloader)

Compilamos el fichero boot.cmd para crear el binario boot.scr, lo incluiremos en la particion boot de la tarjeta SD:

mkimage -C none -A arm -T script -d boot.cmd boot.scr 

3.2 Crear unidades, montarlas y copiar datos

Debemos usar el sistema de unidades NAND, UBI:
             
               ubiformat /dev/mtd0

 ubiformat: mtd0 (nand), size 536870912 bytes (512.0 MiB), 2048 eraseblocks of 262144 bytes (256.0 KiB), min. I/O size 4096 bytes

                ubiattach /dev/ubi_ctrl -m 0

UBI device number 0, total 2029 LEBs (515268608 bytes, 491.4 MiB), available 2004 LEBs (508919808 bytes, 485.3 MiB), LEB size 253952 bytes (248.0 KiB)


             -Formateamos el bloque (la etiqueta bootloader el libre, sera arranque):
                  
         ubimkvol /dev/ubi0 -N bootloader -s 64MiB 
 
         -Formateamos el siguiente bloque con el espacio libre que queda para S.O (rootfs)
           ubimkvol /dev/ubi0 -N rootfs -m
 
Volume ID 0, size 2004 LEBs (508919808 bytes, 485.3 MiB), LEB size 253952 bytes (248.0 KiB), dynamic, name "rootfs", alignment 1
          
          Motamos la unidad con el siguiente comando:
         mount -t ubifs ubi0:rootfs /mnt/flash 
 
              ubi0:rootfs on /mnt/flash type ubifs (rw,relatime)
 
 


 

Debemos crear un nuevo fichero boot-nand.scr:

setenv ubiargs "ubi.mtd=1"
setenv rootdev "ubi0:nandroot"
setenv rootfstype "ubifs"

setenv bootargs "${ubiargs} ${mtdparts} root=${rootdev} rootwait rootfstype=${rootfstype} console=ttyS0,921600 panic=10 consoleblank=0 loglevel=8 ${extraargs} ${extraboardargs}"

ubifsload ${initrd_addr} "/boot/uInitrd"
ubifsload ${kernel_addr} "/boot/zImage"
ubifsload ${modem_addr} "/boot/modem.bin"

mdcom_loadm ${modem_addr}
mdcom_check 1

bootz ${kernel_addr} ${initrd_addr}

# Recompile with:
# mkimage -C none -A arm -T script -d /boot/boot-nand.cmd /boot/boot-nand.scr
.......................

jueves, julio 27, 2017

Instalar Domoticz en Raspberry con Razberry

So, like us, you’re into the fantastic world of Z-Wave, which is a great wireless technology for the whole Internet of Things and home automation fields. We will guide you step by step how to install the home automation software ”Domoticz” on to your Raspberry equipped with the Z-Wave add-on card called Razberry (easy to mix up Raspberry and Razberry). We like Domoticz because it has a relatively intuitive and nice looking user interface.

What do you need to get Domoticz up and running with your Raspberry and Razberry?


  • A Raspberry Pi (we use version 2). To install Domoticz, we’ll connect remotely to our Raspberry using the command line interface on our Mac. If you need guidance how to remotely connect to your Raspberry, follow these steps.
  • The Razberry add-on card

Plugging in the Razberry add-on card on top of our Raspberry

A good rule of thumb is to always unplug the power from your Raspberry before you plug in or unplug keyboards, mouse, ethernet cables etc. So we unplug the power and then carefully plug in the Razberry card on top of our Raspberry’s GPIO pins 1-10.

The GPIO pins are the pins facing upwards located along the upper side of the Raspberry in the above image. Now, that’s it hardware wise. Make sure the ethernet cable is connected to your home network and then power up the Raspberry again.

Installing the Domoticz software

It’s recommended to make sure the operating system files on your Raspberry is up to date. Here is a guide how you make sure your Raspberry is up to date. Once your Raspberry is powered on, we’re going to install the Domoticz software. We log in to our Raspberry from our laptop. To install the Domoticz software we type the commands below. This creates a folder a installs the software. Note! the character ”l” in ”armv7l” is not a one, it’s the letter ”l”.
   mkdir ~/domoticz
   cd ~/domoticz
   wget http://domoticz.sourceforge.net/domoticz_linux_armv7l.tgz
   tar xvfz domoticz_linux_armv7l.tgz
   rm domoticz_linux_armv7l.tgz

Make Domoticz start up when Raspberry starts up

Type these commands to make the Domoticz service start up when your Raspberry starts up:
   sudo cp domoticz.sh /etc/init.d
   sudo chmod +x /etc/init.d/domoticz.sh
   sudo update-rc.d domoticz.sh defaults
Reboot your Raspberry by typing:
   sudo reboot
Now connect with a browser on your laptop to see if Domoticz is up and running. In the address field of your browser on your laptop, enter the IP address of your Raspberry followed by ”:8080” . In our case it’s ”192.168.1.99:8080”. It should look like this:

Making Domoticz aware of our Razberry add-on card

Domoticz is made for Z-Wave hardware connected on the USB ports of the Raspberry. Since our Razberry add-on card is connected to the GPIO pins and not a USB port, we need to make a small configuration within Domoticz so Domoticz can speak to the Razberry add-on card. Type the following command in the command line interface:
   sudo nano /etc/udev/rules.d/09-tty.rules
This will open up a basic text editor where you should enter the following text. Press ctrl + O to save the file, and press ctrl + X to exit the text editor.
You have now created a link to a port that Domoticz can use to speak to your Razberry add-on card. Then restart your Raspberry:
   sudo reboot

Configuring Domoticz from the web interface

Once the Raspberry has restarted, we access the Domoticz web interface again by entering the IP address of our Raspberry + portnumber 8080 in the address field of our web browser on our laptop. In our case it’s 192.168.1.99:8080.

Go to the Setup menu and select Hardware.

Make sure ”Enabled” is ticked, and select a name of your choice in the ”Name” field. We choose ”Razberry”. From the drop-down list ”Type”, select ”OpenZWave USB”, and from the drop-down list ”Serial Port” select ”/dev/ttyUSB20”. You probably recognize this as the link we created using the text editor. Finally click ”Add”.

Your Razberry can now speak to Domoticz. Well done! In future posts we will go through how to add your first Z-Wave devices using Domoticz.

miércoles, julio 19, 2017

Cómo configurar un servidor VNC en Ubuntu Server para Orange Pi IoT 2G sin x-server (válido para Raspberry PI y demas)

Este artículo es válido para Raspberry PI y demás placas.
Nuestra Orange Pi IoT 2G  no dispone de interfaz gáfica, al igual que un servidor no debe utilizar interfaz
 gráfica. 
 Aunque una interfaz gráfica en un servidor es algo prescindible, a la hora de realizar determinadas
 acciones de configuración suele ser más práctico y rápido realizarlo desde una interfaz antes que editar
 todos los ficheros manualmente desde un terminal o conectados a través de SSH.


En este artículo vamos a  instalar un servidor VNC en nuestro Ubuntu Server para Orange Pi IoT 2G  que
 nos va a permitir hacer uso de una interfaz gráfica basada en Gnome Core pero sin cargar esta en nuestro
 sistema y, por lo tanto, ahorrando recursos que podrán ser destinados perfectamente a mantener nuestros
servicios funcionando correctamente. Lo primero que debemos hacer es instalar el paquete de Gnome Core.
Para ello teclearemos en la consola de nuestro servidor (físicamente o a través de SSH) lo siguiente:
  • sudo apt-get install gnome-core
También instalaremos el servidor VNC. Lo instalaremos con la siguiente línea:
  • sudo apt-get install vnc4server
Una vez finalizada la instalación debemos configurar nuestro servidor. Debemos teclear:
  • vncserver
Y nos pedirá escribir nuestra contraseña con la que accederemos a VNC. Una vez configurada la contraseña
 de acceso nos indicará que el servidor se ha instalado en la primera pantalla virtual de VNC, es decir, en :1.
Lo primero que vamos a hacer es cerrar este nuevo escritorio virtual para hacer unas pequeñas
configuraciones y abrirlo de nuevo manualmente. Para ello teclearemos:
  • vncserver -kill :1
Vamos a configurar unos parámetros del servidor VNC. Para ello tecleamos:
  • sudo nano .vnc/xstartup
Ese es el archivo de configuración por defecto de VNC. Para configurarlo debemos sustituir su
contenido por lo siguiente:
1#!/bin/sh
2# Uncomment the following two lines for normal desktop:
3unset SESSION_MANAGER
4#exec /etc/X11/xinit/xinitrc
5gnome-session --session=gnome-classic &
6
7[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup
8[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources
9xsetroot -solid grey
10vncconfig -iconic &
11#x-terminal-emulator -geometry 1280x1024+10+10 -ls -title "$VNCDESKTOP Desktop" &
12#x-window-manager &
Una vez guardado nuestro archivo de configuración escribiremos en nuestro terminal:
  • vncserver -geometry 1920×1080
Cambiando la resolución por la que queremos utilizar. Tras unos segundos veremos como ya tenemos
habilitado el servidor VNC dentro del escritorio virtual :1. Para conectarnos a él debemos descargarnos un
cliente VNC (el oficial, por ejemplo, o Vinagre para Ubuntu) y conectarnos a través de la dirección IP de
nuestro servidor seguida de dos puntos : y el escritorio virtual que hemos activado, en nuestro caso, en 1, por
 ejemplo:
  • 127.0.0.1:1

Con esto ya tendremos nuestro servidor habilitado y listo para empezar a controlar nuestro servidor de
 forma remota. En caso de reinicio del servidor tendremos que volver a ejecutar a través de SSH el comando
 para que arranque de nuevo el servidor VNC a no ser que creemos un script para arrancar este servidor que
 se ejecute al inicio del sistema.