Translate

domingo, febrero 24, 2019

Configurar El Wifi Y Activar El SSH En Una Raspberry PI ZERO


Cómo configurar el Wi-Fi antes de iniciar la Raspberry Pi por primera vez

En versiones recientes de Raspbian han añadido un par de cambios interesantes, uno de ellos tiene que ver con la seguridad y el otro con facilitar la configuración. El primero de ellos es que ya no está activado por defecto el servio de terminal remoto por SSH. El segundo es que se puede configurar por adelantado el Wi-Fi.

Activar o habilitar SSH sin pantalla

Tienes que hacer dos cosas antes de poner la microSD en la Raspberry. Puedes hacerlo desde Windows mismo. Después de copiar la imagen de Rapsbian Lite usando Etcher como recomiendo en otro post, extrae la tarjeta y vuélvela a poner. Se verá al menos la partición de arranque o /boot allí crea un nuevo fichero vació de la forma que quieras y lo renombras como: ssh en minúsculas sin extensión ni nada. Si Windows le ha añadido alguna extensión como .txt o la que sea debes borrarla.

Configurar Wi-Fi sin pantalla

Ahora crea un fichero de texto con el Notepad mismo y le pones de nombre: wpa_supplicant.conf . Dentro de ese fichero escribe la configuración de tu Wi-Fi de la siguiente forma PERO CAMBIANDO LA PARTE DEL NOMBRE DE TU WI-FI Y TU CONTRASEÑA
# /etc/wpa_supplicant/wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev 
update_config=1

network={
 ssid="nombre de tu router o SSID"
 psk="tu contraseña del wi-fi"
 key_mgmt=WPA-PSK 
}
Después de esto ya podemos retirar la microSD y luego al ponerla en la Raspberry Pi por primera vez se activará el servicio SSH y se configurará el Wi-Fi con la información del otro fichero

viernes, febrero 22, 2019

Trabajar con la Orange Pi IoT 2G


Usar switches, pantallas LCD y OLED, sensores temp, Iot Mqtt:


https://4pda.ru/forum/index.php?showtopic=813602&st=260#entry67467290


https://4pda.ru/forum/index.php?showtopic=813602&st=280


https://4pda.ru/forum/index.php?showtopic=813602&st=340#entry71820433








Kernel, modules, memoria NAND:

Utilidades para compilar el kernel, modulos y uboot para Orange Pi Iot 2G

-Fix ramdom Wifi MAC
-Uboot con acceso a ubifs (NAND)



Sistema host 16.04.1-Ubuntu x64
Instalar Toolchain (para crosscompile):
sudo apt-get install gcc-arm*


Clonar repositorio github a disco:

1.1 git clone https://github.com/txurtxil/Opi2gIOT



2 Para cambiar el kernel en la SD (primero clonar desde una distro SD para Opi2G):

          2.1 Copiar el Kernel:
               Montar la particion con el kernel zImage:
               mount /dev/sdb1 /mnt
               Borramos el kernel zImage antiguo:
               rm -rf /mnt/lib/modules/3.10.62-rel5.0.2/
               Copiamos el nuevo:
               cp zImage /mnt/
               sync
                umount /mnt
          2.2 Copiar modulos:
               Montar la particion con el rootfs:
               mount /dev/sdb2 /mnt
               Borramos los modulos antiguos:
               rm -rf /mnt/lib/modules/3.10.62-rel5.0.2/
               Copiamos los nuevos:
               cp -rf lib/modules/3.10.62-rel5.0.2+/ /mnt/lib/modules/
               sync
               umount /mnt





3 Para grabar el uboot en la SD:
3.1 dd bs=512 seek=256 if=u-boot.rda of=/dev/sdb && sync
Para ver la NAND el uboot debe grabarse en la memoria flash de la tarjeta Opi2G, para grabarlo es necesario poner en modo OTG la tarjeta y usar las herramientas de ubi:
https://www.aib42.net/article/hacking-orangepi-2g

4. Si queremos ver la memoria NAND desde un arranque linux desde SD (para usar las utilidades UBI preparar particiones, etc):

-Poner en modo otg la placa:
-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: 


-Formateamos la Memoria NAND:

/opi2g_nand_write.py -v --format-flash
Reiniciamos la placa en modo OTG otra vez y grabamos el u-boot modificado:
./opi2g_nand_write.py -v bootloader:u-boot.rda

El u-boot a usar debe ser el que esta modificado, se pueden baajar los binarios desde aqui:
http://surfero.blogspot.com/search?q=nand


Help: http://surfero.blogspot.com.es/2017/05/orange-pi-2g-iot-referencias.html

martes, febrero 19, 2019

Linux – random mac address on boards OrangePi/NanoPi


For some boards, such as Orange Pi/NanoPi, mac address can random changing. To fix it, need to add one string to /etc/network/interfaces


hwaddress ether  where ether – is a mac address in format 00:00:00:00:00:00

Example of part of file /etc/network/interfaces

allow-hotplug eth0
no-auto-down eth0
iface eth0 inet dhcp
    hwaddress 12:34:56:78:90:ab

MONTAR IMAGEN IMG EN LINUX PARA EDITARLA Y REDUCIRLA

Antes de nada hay que tener en cuenta que no se puede montar la imagen en su conjunto, ya que en realidad contiene dos particiones (sector de arranque y sector de sistema).
Sin embargo, se puede montar las particiones individuales de la imagen. 
Usando el siguiente comando, veremos la distribucion de particiones dentro de la imagen ("imagenRPi")
CÓDIGO: SELECCIONAR TODO
fdisk -l "imagenRPi".img.

Nos saldrà algo como la siguiente:
CÓDIGO: SELECCIONAR TODO
Disco "imagenRPi".img: xxxxxx GiB, xxxxx bytes, xxxxx sectores
Unidades: sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico/físico): 512 bytes / 512 bytes
Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes
Tipo de etiqueta de disco: dos
Identificador del disco: 0x81c0ff4b

Device         Boot        Start       End    Blocks  Id System
"imagenRPi".img1            8192    122879     57344   c W95 FAT32 (LBA)
"imagenRPi".img2          122880   5785599   2831360  83 Linux
Estas son las dos particiones. 
El primero de ellos (sector de arranque) está marcado como "FAT", 
y el otro "Linux" (sector de sistema), en EXT4 normalmente. 
Tendremos que fijarnos en el numero del sector de "inicio" y en donde indica: 
Unidades: sectores de 1 * 512 = 512 bytes
Entonces para poder montar las particiones tendremos que multiplicar el "sector de inicio" por las "unidades de sector", tal que asi:
CÓDIGO: SELECCIONAR TODO
1ª partición 512 * 8192 = 4194304
2ª partición 512 * 122880 = 62914560
Para poder montar las particiones, creamos primero las carpetas donde las montaremos, con el comando:
CÓDIGO: SELECCIONAR TODO
sudo mkdir /mnt/img
sudo mkdir /mnt/img/imagenRPi1  (para montar la particion de arranque)
sudo mkdir /mnt/img/imagenRPi2  (para montar la particion de sistema)
una vez creado los directorios los montamos con los siguientes comandos:
CÓDIGO: SELECCIONAR TODO
mount -v -o offset=4194304 -t vfat "imagenRPi".img /mnt/img/imagenRPi1
mount -v -o offset=62914560 -t ext4 "imagenRPi".img /mnt/img/imagenRPi2
** donde "offset" lo obtenemos de la multiplicacion que hemos hecho anteriormente
** tener en cuenta el tipo de particion que es para montar (vfat, si es fat16; o ext4...)
** despues el nombre de la imagen "completa" ("imgRPI".img)
** y finalmente el directorio que queramos asignar a cada uno.

Una vez montado, nos vamos a través del explorador de archivos (o por terminal, como querais) a las rutas donde hemos montado las particiones, y editamos o eliminamos lo que queramos.

Cuando acabemos, simplemente desmontar la imagen (o imagenes)
CÓDIGO: SELECCIONAR TODO
sudo umount /mnt/img/imagenRPi1
sudo umount /mnt/img/imagenRPi2
Con esto ya tenemos la imagen nuestra "personalizada", pero convendria reducirla o adaptarla.
Para eso con el script "PiShrink"
Lo descargamos y lo hacemos ejecutable:
CÓDIGO: SELECCIONAR TODO
sudo wget https://www.fororaspberry.es/archivos/pishrink.sh && sudo chmod 777 pishrink.sh
y finalmente lo ejecutamos:
CÓDIGO: SELECCIONAR TODO
sudo ./pishrink.sh /media/HDD/"imagenRPi".img /media/HDD/"imagenRPi"_REDUCIDA.img
(en este caso suponemos que nuestra imagen se encuentra en /media/HDD, pero debeis especificar la ruta donde la tengais)
esperar a que acabe.. y ..
FINITO!!!!

Como trabajar a diario con github

Subir archivos de proyecto local a github publico


Guia:
1 Empezar a trabajar,ir a la carpeta donde tenemos el proyecto cd /carpera:

1.$git init
2.$git add .
3.$git commit -m “version1.0″
4.$git remote add origin https://github.com/usuario/repositorio
5.$git remote -v
6.$git push origin master
Explicación:

En este tutorial voy a explicar como subir los archivos de tu carpeta local a tu repositorio de Github. Para eso es importante seguir los siguientes pasos:
Instala Git Bash en tu computadora utilizando la terminal. Lo puedes descargar del siguiente link: https://git-scm.com/downloads
Ingresa a www.github.com y crea un repositorio publico en tu cuenta de Github.


Abre la terminal y navega con el comando “cd” a la carpeta de tu proyecto.
Dentro de tu proyecto escribe: $git init
Agrega los archivos a tu nuevo repositorio local utilizando el siguiente comando (no olvides el punto después de “add”): $git add .

Para entender el siguiente paso, es necesario entender el significado de “commit”. Commit es un comando que va creando distintas versiones del proyecto. Conforme vayamos avanzando, creando nuevos archivos y mejorando el proyecto, podemos ir guardando las distintas versiones en github, para esto será necesario que hagamos un commit cada ves que queramos crear una nueva versión. Utilizando el siguiente código: $git commit -m “version1.0″
Ahora, es necesario en la terminal ir al repositorio git (la carpeta del proyecto) y estando dentro pegar el siguiente código: $git remote add origin https://github.com/usuario/repositorio
Ahora, es necesario poner el siguiente código: $ git remote -v
El ultimo paso escribir en la terminal: $ git push origin master


2 Subir las modificaciones para actualizar un remositorio:


git add .
git config --global user.email "tu@cuentaGithup.org"
 git commit -m "version1.1"
git remote -v
git fetch
git push origin master

Si queremos añadir un nuevo archivo y que lo siga ejecutaremos este comando para agregarlo al repositorio:
git add -f NuevoFichero

viernes, febrero 15, 2019

activar Proxy en la shell de Linux

Set http_proxy shell variable on Linux/OS X/Unix bash shell

Type the following command to set proxy server:
$ export http_proxy=http://server-ip:port/
$ export http_proxy=http://127.0.0.1:3128/
$ export http_proxy=http://proxy-server.mycorp.com:3128/

If the proxy server requires a username and password then add these to the URL. For example, to include the username foo and the password bar:
$ export http_proxy=http://foo:bar@server-ip:port/
$ export http_proxy=http://foo:bar@127.0.0.1:3128/
$ export http_proxy=http://USERNAME:PASSWORD@proxy-server.mycorp.com:3128/

How do I setup proxy variable for all users?

To setup the proxy environment variable as a global variable, open /etc/profile file:
# vi /etc/profile
Add the following information:
export http_proxy=http://proxy-server.mycorp.com:3128/
OR
export http_proxy=http://USERNAME:PASSOWRD@proxy-server.mycorp.com:3128/
Save and close the file.

A note about enabling proxy access to a specific user

To enable proxy access for a specific user, add the lines user shell profile. For the default bash shell, the profile is the file .bash_profile. For example, enable proxy access for a specifc user called vivek, type:
$ vi $HOME/.bash_profile
OR
# vi /home/vivek/.bash_profile
Append the following line:
export http_proxy=http://USERNAME:PASSOWRD@proxy-server.mycorp.com:3128/
Save and close the file.

How do I use password protected proxy server using various command line options?

You can simply use wget command as follows:
$ wget --proxy-user=USERNAME --proxy-password=PASSWORD http://path.to.domain.com/some.html
Lynx command has the following syntax:
$ lynx -pauth=USER:PASSWORD http://domain.com/path/html.file
Curl command has following syntax:
$ curl --proxy-user user:password http://url.com/