Lenguajes de Interfaz: Bloque I Raspberry Pi Introducción
sd
Tarjeta formateada y grabada con una distribución para Rpi
sudo su
Ya no queremos batallar de tanto poner "sudo" por ahi, "sudo por allá" ¿hay una comando que me cambie a root y ya me deje sacar las practica Chakaz del profe?
cd
comando de linux cambiar a un subdirectorio o ruta
35
dólares es el precio de la RPI v3
push
$ git ______ origin master, para enviar contenidos a nuestro repo principal del curso
add
$ git _______ /programaChakaz/*.* ¿cual es la opción para agregarlo a la lista de pendientes a subir al github?
pull
$ git _______ origin master, para sincronizar todo el repo de nuestro RPI virtual o real, por si algun compañero subio codigo a github del proyecto
rm
$ git ________ miarchivo.s, removerá el archivo de la lista considerara a enviar a GitHub repo remoto.
status
$ git ________, nos da el estado de los cambios pendientes o eliminados de nuestro repo local comparando detalles especificos por atender en sincronia para el "git push"
mensaje
$ git commit -m "________________" ¿Que llevaría dentro del commit?
-r
$git rm _____ -f /practicaChakaz/basura ¿Que parametro le falta a git rm, para ser recursivo o sea borrar todo el contenido que dependa del directorio "practicaChakaz" que son como 20,000 directorios dentro ?
-redir tcp:2222::22
Agrega soporte al QEMU para trabajar por SSH con la instancia Raspbian, para lograr conectarnos vía SSH localhost. Y así no estamo sen la pequeña pantalla, podemos usar Linux/macOS Desktop el GUI completo y trabajar agusto. o Putty en Windows
gdb
El depurador o debugger GNU (________) es una herramienta muy útil. Puede que necesite instalar gdb, gran ventaja es usarlo para ver lo que está sucediendo a medida que su programa se está ejecutando. Esto puede ayudarle a corregir algo que va mal. Por ahora, sin embargo, vamos a ver un programa de ejemplo que funciona correctamente.
CISC
En arquitectura computacional, _____ (del inglés Complex Instruction Set Computer, en español Computador con Conjunto de Instrucciones Complejas) es un modelo de arquitectura de computadores. Los microprocesadores ______ tienen un conjunto de instrucciones que se caracteriza por ser muy amplio y permitir operaciones complejas entre operandos situados en la memoria o en los registros internos, en contraposición a la arquitectura alterna. En pocas palabras es nuestra arquitectura x86
RISC
En arquitectura computacional, ______ (del inglés Reduced Instruction Set Computer, en español Computador con Conjunto de Instrucciones Reducidas) es un tipo de diseño de CPU generalmente utilizado en microprocesadores o microcontroladores moviles hoy en dia
Control O, Control X
En editor NANO podemos Guardar y Salir del trabajo remoto o local
GNU Assembler
Es el back end, por defecto del GNU Compiler Collection y es usado para compilar Linux y otros sistemas operativos como el sistema operativo GNU
Controlador serial
FTDI, Prolific PL-2303HX, Atmel, Ch304, etc son chips que incluye el USB adaptador TTL. Incluso en macOS prefiere FTDI sea original.
Pidora
Fedora optimizado a RPI, pero hay otros mas. un ejemplo mas de distribuciones.
GPIO
General Purpose Input Output, conectamos los sensores, motores, etc.
print/t $cpsr
Muestra el valor amplio del registro cpsrd por medio del GNU Debugger al momento de la corrida del programa.
pixel
Nueva vesion de Raspberry OS Linux Debian optimizado para RaspberryPi, el cual trabajamos en clase.
Ejecutar
Para _______ el archivo enlazado el OS lo marca apareciendo de color verde: ./practica1 (punto diagonal y el nombre del archivo)
Cable USB a TTL
Permite directamente a terminal de la Pi (115200-N-8-1) para trabajar localmente, con Putty (windows), Screen (linux y MAC) son 3 cables (Tierra, TX y RX)
dhcpclient wlan0
Pide una nueva direccion IP al router LAN
winscp
Programa de Windows Freeware para gestionar archivos remotamente. Hay otro como Filezilla, cyberduck ...
cyberduck
Programa de Windows y MACOSX Freeware para gestionar archivos remotamente. Otro también es Filezilla.org
alto nivel
Programación php, prolog, perl, python, java 7-8, etc puede trabajar la RPI instalados, son lenguajes ___________, la comunidad recomienda trabajar con Python
Eben Upton
Representa el lider que se se puso en contacto con un grupo de profesores, académicos y entusiastas de la informática para crear un ordenador con la intención de animar a los niños a aprender informática, Gran Bretaña
as -gtabs -o holamundo.o hoalmundo.s
Se compila el programa porque se usará el depurador de GNU (debugger)
Putty
Software libre que permite conectarse via TTL SERIAL o por SSH remoto
5
____V es la energía de la Rpi 2 y Rpi-Zero 1 y 1.a, para la RPI 3 se ocupa 5V con 2.1 amperes, o sea un cargador de una ipad.
github
_______ plataforma de desarrollo colaborativo para alojar proyectos utilizando el sistema de control de versiones Git.
cuidado
al de conectar en el GPIO cables de USB-TTL con 5 voltios y también conectar el micro-USB de 5V, le llegan 10V se quema la placa, información según la página web de RPI dicen que debe suministrarse energía via cable. Pero hay muchos videos en el youtube, etc. que los usuarios ponen corriente por el GPIO. Si tiene duda pregunten y evitar gastar $35 dlls. (ya ha pasado este incidente en otros semestres)
hardware libre
aquellos dispositivos de hardware cuyas especificaciones y diagramas esquemáticos son de acceso público, ya sea bajo algún tipo de pago o de forma gratuita.
as
as -o practica1.o practica1.s
Rpi expansion
cable que hace mas sencillo trabajar en el protoboard
rm
comando de linux borrar archivo, usando parametros podemos borrar directorios recursivos (TODOOO)
pwd
comando de linux indica donde esta en el almacenamiento la ruta o PATH
sudo
comando de linux invoca una instruccion de SUper usuario Do (acción)
iwlist wlan0 scan
comando de linux para listar todas las redes WIFI; para ver donde conectarnos. Aqui hago notar que compramos una WIFI-USB (compatible con Linux, no todas las son)
ls
comando de linux para listar, tambien hay combinaciones como ls -al, lista con detalle
mkdir
comando para crear un directorio.
nano
editor recomendado para trabajar en consola de la pi, hay otros como vi,vim,etc.
next, run, stop, break
ejecutar la siguiente, corrida, parada, posición de instrucción del dgb o GNU Debugger en memoria depurando el programa
QEMU
es un emulador de procesadores basado en la traducción dinámica de binarios (conversión del código binario de la arquitectura fuente en código entendible por la arquitectura huésped), nos ahorrará en no comprar una RPI podemos virtualizarla. Es parte del núcleo de VirtualBOX y otros famosos VM manejadores. Esta para Windows, macOS y Linux. Se decide trabajar en Linux por los laboratorios tiene el bloqueador de modificaciones.
ld
ld -o practica1 practica1.o (enlazador de un archivo compilado)
ssh pi@hostname
para conectarnos en Linux y MACOSX, iphone, android, blackberry
raspberry
password predeterminado del usuario "pi"
ssh -p 2222 pi@localhost
Conectarnos por SSH en una QEMU que trae el parámetro "-redir tcp:2222:22". Aqui seria un ejemplo de forma localhost a la NAT de la máquina virtual
Conectar los 2 cables usb y TTL
Conectas ambos cables se quema la Pi.
CSI para camara
Conector para cámara como PiNoir, etc. que no es USB.
GPIO cabezera
Conector parte superior izquierda, que permite interfazar la RPI a conexiones Entradas y Salidas (sensores, TTL, etc)
iwconfig
Desplegar las propiedades de la tarjeta WIFI USB que conectamos
JTAG
Diseñado originalmente para circuitos impresos, actualmente es utilizado para la prueba de submódulos de circuitos integrados, y es muy útil también como mecanismo para depuración de aplicaciones empotradas, puesto que provee una puerta trasera hacia dentro del sistema. Cuando se utiliza como herramienta de depuración, un emulador en circuito que usa JTAG como mecanismo de transporte permite al programador acceder al módulo de depuración que se encuentra integrado dentro de la CPU. El módulo de depuración permite al programador corregir sus errores de código y lógica de sus sistemas.
DIY
Do It Yourself, es la práctica de la fabricación o reparación de cosas por uno mismo, de modo que se ahorra dinero, se entretiene y se aprende al mismo tiempo.
CTRL + o y CTRL + x
Editor "nano" para salir grabando tecleo CTRL+_____ y CTRL+_____ (respuesta teclear el templete anterior agregando las 2 letras, de lo contrario marcara error)
ESC:wq
Editor "vim o vi" para INSERTAR presione la tecla "i", para salir doy la combinación (Salir del menú, Comando: Grabar y salir). Por favor teclear sin espacios.
qemu-system-arm -kernel kernel-qemu-4.4.12-jessie -cpu arm1176 -m 256 -M versatilepb -serial stdio -append "root=/dev/sda2 rootfstype=ext4 rw" -hda 2017-01-11-raspbian-jessie-lite.img -redir tcp:2222::22
Ejecución de QEMU la arquitectura RISC virtual, basado en kernel Raspbian-Jessie 2017 lite versión, y conectarnos por ssh al puerto 2222 redirect del 22 convencional.
tightvncserver
Programa software libre para escritorio remoto y lo adaptamos a la RPI, podrás invocarlo como "tightvncserver" el puerto de trabajo es el 5901. Y de invocarlos varias veces tendrás 2,3 ... escritorios remotos en el puerto 5901..5902..5903... hemos trabajados hasta 12 sin problemas en RPI 3. Al invocarlo nos pide un passwor de solo lectura y otro de control total. Descarga el "viewer" de la página oficial para conectarse el password es el mismo. También funciona con un VNC de Android, iOS, etc.
mount
Queremos modificar la IMG que descargamos de internet para "montarla" y hace cambios como QEMU la reconozca. ¿que comando de Linux se encarga de eso?
RTC
Real Time Clock: La RPI no tiene pila como sus computadoras personales y no retiene la fecha-hora. Hay un módulo que se compra y se adapta. Pero con Internet puede hacer un Pool.ntp.org a servidores de Tiempo al prender pide esos datos.
SSH
SecureShell para administrar remotamente a un servidor por un sesión encriptada vía internet
corazas
Solución en hardware para adaptar componentes, conectando en el GPIO tarjetas de expansión llamadas _______ ó shields. Hay una muy buena que incluye en ATMEL de Arduino ... etc.
SoC
System On a Chip, formato de un procesador integrador como el Broadcom BCM2835 (CPU + GPU + DSP + SDRAM + puerto USB)
terminal
Trabajanos siempre en la _____________ de Linux para abrir una sesión invocar SCREEN (putty, MiniCom,etc) asi localmente con cable USB a TTL serial.
tightvnc viewer
Version Cliente para acceder al escritorio remoto de TightVncServer instalado previamente y configurado en la RPI. Hay 2 versiones la SSH con cifración y NO-SSH sin llave SSH; esta última es usada en clases.
iwlist wlan0 scan | grep 'ESSID'
Versión filtrada por GREP para solo mostrar los routers o AP wifi al cual deseamos conectarnos
hdmi y video analogo
Video salida HD o Analoga de la RPI versión 1
distribuciones
_________ que soporta la RPI son: Ubuntu Core, RaspBMC, Pidora, Arch, raspbian (pixel), Windows 10 IoT ...
apt-get install
comando de linux instalar programas, por lo regular se inicia con "sudo apt-get" solo el administrador puede instalar programas. Por ejemplo no trae GIT tools y requerimos para clonar nuestro repo github.
Raspberry Pi
es un ordenador de placa reducida o única (SBC) de bajo coste desarrollado en Reino Unido por la Fundación del mismo nombre, con el objetivo de estimular la enseñanza de ciencias de la computación en las escuelas. Sony UK actualmente la esta fabricando con permisos de la fundación.
python
lenguaje de preferencia de programar en RPI
lenguaje ensamblador
lenguaje de programación de bajo nivel para los computadores, microprocesadores, microcontroladores y otros circuitos integrados programables
ARM
procesador de la RPI basado en un procesador de un Ipod primera generación. Marca de procesador de Tabletas y Smartphones hoy en dia, aparte de la gama industrial en el mundo. El teléfono que tiene UD. trae patentes de ARM o almenos que sea un teléfono ATOM (que no pegó en el mercado) por eso el interés que conoscas mas esta arquitectura tan llena ya en la ciudad y requieren optimizar soluciones especificas o innovar nuevos productos con ARM.
Linux embebido
se refiere al uso del núcleo Linux en un sistema embebido, como por ejemplo PDA, teléfonos móviles, robots, enrutadores / servidores, dispositivos electrónicos y aplicaciones industriales con microcontroladores y microprocesadores. En el pasado, el desarrollo de sistemas embebidos fue llevado a cabo en su mayoría utilizando código propietario escrito en lenguaje ensamblador. Los desarrolladores debían escribir los controladores para los dispositivos de hardware y las interfaces desde cero
pi
usuario predeterminado de [email protected], lo usamos en SSH, Terminal, WinScp, etc
commit -a
¿sucede que trabajamos con muchos archivos a la vez que nos perdimos de tanto modificación por todas partes y $ git status, nos marca muchos cambios. Ya terminamos y queremos preparar el $ git push?
raspi-config
Comando de raspbian, para configurar, expandir SD card, cambiar password, etc.Overclock
screen
Comando que se instala y su misión es para abrir sesión por serial-TTL usando nuestro cable de consola. Deberá estar reconocido el controlador en "ls /dev/tty* " mostrando la lista de USB-TTL conectados a la PC local Linux-macOS-win10
ARM Holdings
Es considerada la empresa dominante en el campo de los chips de smartphones y tablets. Es una multinacional dedicada a los semiconductores y al desarrollo de software con sede en Cambridge, Reino Unido. Su principal negocio son los procesadores, aunque también diseña, licencia y vende herramientas de programación bajo las marcas RealView y KEIL, sistemas y plataformas e infraestructura y software system on a chip. (SoC)
I2C
Es un bus muy usado en la industria, principalmente para comunicar microcontroladores y sus periféricos en sistemas integrados (Embedded Systems) y generalizando más para comunicar circuitos integrados entre si que normalmente residen en un mismo circuito impreso.
configure.txt
Este archivo dentro de la tarjeta SD-card, tenemos que editar para que el ADAPTADOR VGA-HDMI, la 2da. linea quitar el ¨#¨para hacer funcionar modo VGA (http://elinux.org/R-Pi_ConfigurationFile) # uncomment if you get no picture on HDMI for a default "safe" mode # hdmi_safe=1
editar
Necesarios para __________ sudo nano ld.so.preload y sudo nano fstab para comentar todas las entradas de "mmcblk" y /etc/ld.so.preload tambien todos los parametros con # (comentario) parte de la solución de QEMU RPI. Recordemos que debemos de montar el ISO primero via "sudo mount -v -o offset=67108864 -t ext4 2017-01-11-raspbian-jessie-lite.img /mnt/rpimg "