Archivo de la categoría: Sin categoría

Raspberry Instalación de Sistema Operativo Raspbian

Paso 1. Descargar imagen de sistema operativo en el siguiente enlace:

Downloads

RASPBIAN JESSIE WITH PIXEL

Image with PIXEL desktop based on Debian Jessie
Version:March 2017
Release date:2017-03-02
Kernel version:4.4
Release notes:Link
Zise: 1.5GB ZIP File
Paso 2. Descargar W32 disk image ISO.
Con esta aplicación se carga la imagen de Raspbian a una memoria micro SD Clase 10 que será la que contenga todo el sistema operativo del raspberry PI:
Pase 3. Montar la SD en el Raspberry PI, conectar monitor, teclado, mouse. Iniciar el sistema.
Paso 4. Conectar el Raspberry a Internet para instalar actualizaciones del sistema, existen dos formas de hacerlo:
a. Conectando el puerto Ethernet a un router con conexión a internet. (Toma internet de inmediato si tenemos la versión GUI disponible instalada).
b. Configurar un dispositivo USB-WIFI. Se hace desde la consola de Linux.
 Para la opción b, accedemos a la consola a través del icono correspondiente en la barra superior del escritorio:
Image result for raspbian console icon

 

Una vez mostrado el Promp del sistema, editamos el archivo de interfase siguiendo los pasos a continuación:

sudo nano /etc/network/interfaces

Asegurarse de tener las siguientes lineas:

  • auto lo eth0 wlan0
  • iface lo inet loopback
  • iface eth0 inet manual
  • allow-hotplug wlan0
  • iface wlan0 inet manual
  • wpa-conf /etc/wpa_supplicant/xpa_supplicant.conf
  • iface wlan0 inet dhcp
  • wpa-ssid “NOMBRE DE LA RED”
  • wpa-psk “PASSWORD de la RED”

Una vez configurado el archivo interfaces, reiniciar el sistema que por consola se hace a través del comando:

  • sudo reboot

Al reiniciar el sistema, abrir nuevamente la consola para verificar que efectivamente hay conexión a internet:

  • ping 8.8.8.8

Si confirmamos que hay internet, procedemos a actualizar el sistema:

  • sudo apt-get update
  • sudo apt-get dist-upgrade
  • sudo apt-get install -y rpi-chromium-mods
  • sudo apt-get install -y pyhton-sense-emu python3-sense-emu
  • sudo apt-get install -y python-sense-emu-doc realvnc-vnc-viewer

Una vez instaladas estas actualizaciones, se procede a reiniciar el sistema:

  • sudo reboot

Hay varias formas de conectarse al sistema via Consola. Es importante aprender tres maneras de hacerlo.

  • La primera es la explicada anteriormente, a través del icono en la barra superior del escritorio.
  • La segunda opción es utulizando un cable conversor de USB a RS232 como el de la siguiente imagen:

2PCS PL2303HX USB To TTL To UART RS232 COM Cable Module Converter

Este cable cuenta en unos de sus extremos con lo siguiente:

  • cable TX
  • Cable RX
  • Cable GND

Los cuales deberan ser conectados a los pines 06, 08 y 10  del puerto GPIO del raspberry PI:

Cable TX -> Raspberry RX pin 10

Cable RX <- Raspberry TX pin 08

Cable GND – Raspberry GND pin 06

Image result for pinout raspberry pi 3

El software (Hyperterminal) para establecer la conexión se llama “Putty”, y puede ser descargado gratuitamente de la siguiente pagina web:

Una vez instalado dicho software, lo abrimos y nos encontramos con la siguiente ventana:

Image result for putty

Cuando conectamos el conversor USB-RS232 al puerto del PC, éste le asigna un numero de puerto que podemos identificar en “Device Manager” de Windwows:

En este ejemplo, el puerto asignado para el conversor fue el COM26. Procedemos entonces a selecionar el tipo de conexión, el puerto y la velocidad (la cual deberá ser de 115200 baud):

Clic en “Open” y estaremos visualizando la conexión con el raspberry:

Cuando se utiliza la conexión via puerto serial, una de las ventajas es que no se le solicita usuario y clave para ingresar al sistema.

  • Una tercera opción de adminitración del sistema es usando el Putty pero con el tipo de conexión en SSH. Para esto requeriremos saber la dirección IP asignada al raspberry cuando se conexta a una red LAN o WiFi.

Como conocer la dirección IP de mi Raspberry?

El comando para visualizar la dirección IP asignada al controlador de Red a través de la consola es el siguiente:

  • ifconfig

En este ejemplo se puede observar que la dirección IP es 10.216.1.205

Procedemos entonces a abrir una nueva ventana de Putty:

Clic en “Open” y lo siguiente que veremos es: “Un error Fatal”

Esto ocurre porque el SSH debe ser activado desde la consola, ya que el sistema por defecto lo trae desactivado.

Para activar SSH, se debe ejecutar el siguiente comando desde la consola:

  • sudo raspi-config

Para ingresar a los directorios a través de WinSCP:

Hostname: La dirección IP del Raspberry

User name: pi

Password: raspberry

He creado una carpeta en el directorio: /home/pi denominada Mirror.

Dentro de esta carpeta se encuentra el siguiente código que sirve para leer el estado de un pin I/O y dependiendo del estado de éste, se envia la orden de apagar o encender el monitor:


import RPi.GPIO as GPIO
import os, time

GPIO.setmode(GPIO.BCM)
GPIO.setup(4, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)

estado = 0

os.system("xset q")

while 1:

if (estado == 0 and GPIO.input(4)==1):
os.system("xset dpms force off")
print "apagando"
estado = 1
elif (estado == 1 and GPIO.input(4)==0):
os.system("xset dpms force on")
print "prendiendo"
estado = 0
time.sleep(2)

Los espacios en lineas de codigo deben quedar asi:

sudo nano /etc/environment

  • sudo reboot
  • cd /home/pi/Mirror
  • python main.py (sin sudo)

Luego para probar, hacer conexión entre 3.3V y pin I/O # 4.

Para iniciar el script automaticamente se requiere hacer lo siguiente:

Iniciar en el crontab con el comando crontab -e sin el sudo (para que funcione con el usuario local pi).

luego agregar la siguiente linea:

@reboot python /home/pi/Mirror/main.py

Tutorial para sensor de ultrasonido con Raspberry:


import RPi.GPIO as GPIO
import time

GPIO.setmode(GPIO.BOARD)

TRIG = 11
ECHO = 12

GPIO.setup(TRIG,GPIO.OUT)
GPIO.output(TRIG,0)

GPIO.setup(ECHO,GPIO.IN)

time.sleep(0.1)

print "Starting Measurement..."

GPIO.output(TRIG,1)
time.sleep(0.00001)
GPIO.output(TRIG,0)

while GPIO.input(ECHO) == 0:
pass
start = time.time()

while GPIO.input(ECHO) == 1:
pass
stop = time.time()

print (stop - start) * 17000

GPIO.cleanup()

Ejemplos y explicaciones de espejos inteligentes funcionales:

https://magicmirror.builders/

http://www.ismoothblog.com/2016/12/enable-gpu-hardware-acceleration-chrome-and-chromium-browser.html

http://michaelteeuw.nl/post/84026273526/and-there-it-is-the-end-result-of-the-magic

Magic Mirror with a motion detector

Codigo de Apagado de Pantalla y Ultrasonido juntos:


import RPi.GPIO as GPIO
import time
import os

#Deficniciones
distancia = 40

GPIO.setmode(GPIO.BOARD)

TRIG = 11
ECHO = 12

os.system("xset q")

GPIO.setup(TRIG,GPIO.OUT) 
GPIO.output(TRIG,0)
GPIO.setup(ECHO,GPIO.IN)
time.sleep(0.1)

#print "Starting Measurement..."
flag = 0

while 1:
  time.sleep(2)

  GPIO.output(TRIG,1)
  time.sleep(0.00001)
  GPIO.output(TRIG,0)

  while GPIO.input(ECHO) == 0:
	pass
  start = time.time()

  while GPIO.input(ECHO) == 1:
	pass
  stop = time.time()

#while 1:

  
  dist_medida =  (stop - start) * 17000
  print dist_medida
  if (distancia &gt;= dist_medida):
    print "apagar"
    if flag &lt;&gt; 1:
      print "Comando"
      os.system("xset dpms force off")      
    flag = 1
  else:
    flag = 0
    os.system("xset dpms force on")

GPIO.cleanup()