Etiquetas

555 74HC04 74HC14 74HC165 74LS04 acentos ADC10 Amstrad archivo arduino aristóteles armbian array ass at backup base64 bash Basho bc beethoven Biblia blog bucle c c++ c++11 c++17 C005 cadena Carmina Burana casting CD4017 CD4040 Cine clases Colores connect Consolación a Helvia Consolación a Marcia Consolación a Polibio constante corsair CPC Cristal 32Khz css cursor mouse cut daemon date dead keys Debian directorio disco duro DS32kHz electricidad Electrónica ensamblador entryList epicureismo Estadística estoicismo felicidad ffmpeg filePath filosofia Filosofía firefox flac for fstab funcion Gargantúa gastronomía gilgamesh Ginott gmp gpt grep gtts Hobbes hotkeys html imagemagick inline Javascript kde kernel modulos latex ldr lib-notify Linux Literatura ludoteca macro mapa de bits Matroska mega Microsoft Word Milan Kundera mkvextract mkvinfo mount mp3 mplayer MSP430 msp430F5529 MSP432 Multimedia Musica oop orange_pi pato PIR PL9823 Platón poesía POO en C++ pulseaudio puntero PWM pygame pyqt python QAction qApp QApplication QByteArray QDialog Qdir QFile QFileDialog QImage qlabel QList QListWidget QMessagebox QMouseEvent qpainter QPalette QPixmap QProcess QRegularExpression QRegularExpressionMatchIterator QString QStringList Qt qt5 QToolbar quijote QVector qwidget R Rabelais ratón relé Resonador cerámico samba San Agustín screen Séneca signal slot smart smartctl sox srt static const stdarg.h subtítulos Symbian tar teléfonos móviles temperatura temperatura cpu Temporizador tesseract Timer timestamp Trigonometría tts tutorial uid unicode user USI va_arg va_end va_list va_start velocidad ventilador Voltaire wallpaper xboxdrv xinput xrandr Z80 zip

martes, marzo 21, 2017

Screen en la orange pi zero

La conexion por ssh con la OPI Zero se puede interrumpir. Para mantener la sesión abierta aunque la conexión se pierda hay una utilidad de linux llamada screen.

Para empezar:
screen

Para recomenzar tras la perdida de la conexión:
screen -r

Para ver la misma sesión desde dos dispositivos
screen -x

Crear nueva ventana:
Ctrl+A "C"

Cerrar una ventana desde bash
exit

Siguiente ventana:
Ctrl+A "N"

Previa ventana:
Ctrl+A "P"





Más info aquí: https://www.rackaid.com/blog/linux-screen-tutorial-and-how-to/

lunes, marzo 20, 2017

Lectura de la temperatura de la CPU de la Orange Pi Zero desde python

#Esta función retorna un int con la temperatura de la CPU
def getTemperature():
    file = open("/sys/class/thermal/thermal_zone0/temp","r")
    t = file.read()
    file.close()
    return int (t)

viernes, marzo 10, 2017

GPIO en Orange Pi Zero

GPIO
Instalar orangepi_PC_gpio_pyH3.
Aquí lo explican: http://www.akirasan.net/sensor-de-movimientos-hc-sr501-conectado-por-gpio/

Los ejemplos están aquí: https://github.com/duxingkei33/orangepi_PC_gpio_pyH3/tree/master/examples

Blink:
#!/usr/bin/python
# -*- coding: utf8 -*-

import os
import sys

from time import sleep
from pyA20.gpio import gpio
from pyA20.gpio import port


led = port.PG6

gpio.init()
gpio.setcfg(led, gpio.OUTPUT)

print "Comenzando"
for n in range (100):
    #print "Encendido"
    gpio.output(led,1)
    sleep(0.1) # 100ms
    #print "Apagado"
    gpio.output(led,0)
    sleep(0.1) # 100ms

print "Terminado"


Boton:
Encender y apagar un led con un switch.
El led va en PG6
El switch va en PA14

 #!/usr/bin/python
# -*- coding: utf8 -*-

import os
import sys

from time import sleep
from time import time
from pyA20.gpio import gpio
from pyA20.gpio import port

# los pines que se van a usar.
led = port.PG6
button = port.PA14

#Inicializar el módulo es lo primero.
gpio.init()
gpio.setcfg(led, gpio.OUTPUT)
gpio.setcfg(button, gpio.INPUT)

gpio.pullup(button, 0) # clear pullup
gpio.pullup(button, gpio.PULLUP) #enable pull-up

#funciones
def smallPause ():
    sleep(0.1) #100 ms

def longPause ():
    sleep(0.5) # 500 ms

def ledOn():
    gpio.output(led,1)

def ledOff ():
    gpio.output(led,0)

def welcome():
    for n in range (2):
        ledOn ()
        smallPause()
        ledOff()
        #longPause()
        ledOn()
        #longPause()
        ledOff()
        longPause()

print "Comenzando"
welcome()

lastTime=0
estado = 0
while True:
    if gpio.input(button) == gpio.LOW:
        # rutina anti-rebote del pulsador.
        t = time() - lastTime  
        if (t > 0.5 ):  #no permite pulsaciones con menos de 0.5 Segs de intervalo
            if estado == 1:
                ledOff()
                estado = 0
            else:
                ledOn()
                estado = 1

            lastTime = time()
   
    sleep(0.1) # Una pausa de 100 ms dentro del bucle para no poner la cpu 100%)
   
print "Terminado"


Puesta en marcha de la Orange pi Zero


1. Descargar Armbian

Leer la página de getting started: https://docs.armbian.com/User-Guide_Getting-Started/

El sistema operativo tiene que instalarse en una microSD.
La página de descarga para la Orange Pi Zero: https://www.armbian.com/orange-pi-zero/

Voy a instalar la imagen de Debian Jessie: https://www.armbian.com/donate/?f=https://dl.armbian.com/orangepizero/Debian_jessie_default.7z

Para Guardar la imagen en la tarjeta microSD se utiliza este programa: https://etcher.io/

La versión para Linux se ejecuta como root y funciona sin problemas.

2. Primer arranque.
Para el primer arranque instalo la tarjeta microSD en la Orange Pi. Conecto el cable de red y la alimentación en el puerto micro USB. Para la alimentación un cargador de movil de 5V y 1.0A.

Esperar unos minutos .

La Orange pi se conecta al Router y recibe una IP por DHCP. Lo siguiente es conectar a la Orange pi por ssh (ssh root@). La contraseña inicial es 1234.

3. Repasar la página de getting started: https://docs.armbian.com/User-Guide_Getting-Started/

Actualizar el sistema:
apt-get update
apt-get upgrade

4. Configurar el wifi
Para configurar el wifi se utiliza un programa llamado nmtui
Red Hat tiene una magnífica documentación: https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Networking_Guide/sec-Networking_Config_Using_nmtui.html

También la getting started de armbian tiene información, pero lo mejor es:
a) ejecutar nmtui
b) En el menú seleccionar edit a connection
c) Editar la conexión que nos interesa.
d) Conectar: nmtui connect
e) Activar el wifi al arranque: editar el archivo /etc/rc.local y añadir la linea nmtui connect .  Aquí también dan ideas: http://askubuntu.com/questions/228304/how-do-i-run-a-script-at-start-up

Ejecutar shudown -h now, Retirar la alimentación y el cable de red. Al volver a encenderse, la conexión por SSH debería funcionar por wifi.

5. Arreglando las locales:
Aquí explican la solución: http://askubuntu.com/questions/162391/how-do-i-fix-my-locale-issue
 Sería algo así:
$ sudo locale-gen "en_US.UTF-8"
Generating locales...
  es_ES.UTF-8... done
Generation complete.

$ sudo dpkg-reconfigure locales
Generating locales...
  es_ES.UTF-8... up-to-date
Generation complete.

6. Cambio de nombre
El nombre original del host, "orangepizero" me parece un poco largo. Para cambiarlo: https://wiki.debian.org/HowTo/ChangeHostname

Más cosas
Lectura de la temperatura de la cpu: http://www.orangepi.org/orangepibbsen/forum.php?mod=viewthread&tid=287

Crear un comando cpuTemp. Añadir esto a .bashrc
 alias cpuTemp="echo \"Temperatura de la CPU:\" && cat /sys/class/thermal/thermal_zone0/temp"

Montar una samba shared:
aptitude install cifs-utils
mount -t cifs //192.168.1.100/tmp /mnt/samba