domingo, 31 de octubre de 2021

Instalar en la raspberry Pi servidores.

 Comandos para instalar en la raspberry Pi una serie de servidores.

  • WEB
  • SSH
  • FTP
  • VNC


La raspberry utilizada es el modelo 2 con 512 M de memoria RAM.
Debido a la antiguedad de la placa he instalado raspbian 7 (DEBIAN 7) 2014.





https://youtu.be/DA1EaQWcYQU

http://downloads.raspberrypi.org/raspbian/images/
http://downloads.raspberrypi.org/raspbian_lite/images/

RASPBERRY- configuracion /boot/config.txt
=========================================
hdmi_force_hotplug=1

framebuffer_width=1280
framebuffer_height=720


REPOSITORIO
===========

7.0 -- wheezy
echo deb http://legacy.raspbian.org/raspbian/ wheezy main contrib non-free rpi >> /etc/apt/sources.list
apt-get update

IP_STATICA 192.168.1.50
=======================
/etc/network/interfaces

nano /etc/network/interfaces

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
  address 192.168.1.50
  netmask 255.255.255.0
  gateway 192.168.1.1
dns-nameservers 8.8.8.8
post-up echo "Interface eth0 levantada con exito"
post-down echo "Interface eth0 bajada con exito"


SERVIDOR SSH
============

ssh 192.168.1.50 -l seta


SERVIDOR VNC
============

CONTRASEÑA
     x11vnc -storepasswd
    
cd .config
 mkdir autostart
 cd autostart
 nano x11vnc.desktop

Pegar el siguiente texto:

[Desktop Entry]
Encoding=UTF-8
Type=Application
Name=X11VNC
Comment=
Exec=x11vnc -forever -usepw -display :0 -ultrafilexfer
StartupNotify=false
Terminal=false
Hidden=false


    
SERVIDOR FTP
============

apt-get install vsftpd
/etc/init.d/vsftpd status

Editar:
    nano /etc/vsftpd.conf
Cambiar a:
    anonymous_enable=NO
    local_enable=YES
    write_enable=YES


SERVIDOR WEB
============

sudo apt-get install nginx
sudo service nginx status

Editar:
    nano /etc/nginx/sites-enabled/default

Cambiar a:
    root /var/www;
    
SERVIDOR WEB_CONFIGURACION
--------------------------
mkdir  /var/www
chown -R seta:seta   /var/www
chmod  ugo+rx    /var/www

mkdir  /var/www/seta
chown -R seta:seta   /var/www/seta
chmod  ugo+rx    /var/www/seta

mkdir  /home/seta/www
chown -R seta:seta   /home/seta/www
chmod  ugo+rx    /home/seta/www

echo "/home/seta/www     /var/www/seta   none    bind    0    0" >> /etc/fstab

editar:
    nano /etc/nginx/sites-enabled/default
cambiar a:
        root /var/www;
        
Copiar los ficheros de la página principal en:
        /var/www
Los fichero de cada usuarios en;
        /home/usuario/www    

CAMARA
======

sudo modprobe bcm2835-v4l2
sudo sed -i '$a bcm2835-v4l2' /etc/modules

fswebcam -r "800x600" -S 5 --flip h,v  --no-banner  --jpeg 50 d1.jpg

Si error:  failed to open vchiq instance
    sudo chmod 777 /dev/vchiq
        o
    sudo usermod -a -G video seta
    
Configurar tarea:
=================
 nano /home/seta/www/webcam/tareaWeb
 
crontab -e
    */2  * * * * /home/seta/www/webcam/tareaWeb > /dev/null 2>&1
    
De esta forma el script se ejecutara cada 2 minutos.


APAGAR
======
shutdown -h now

REINICIAR
=========
reboot

    
PROGRAMAS RECOMENDADOS
======================

apt-get install mc
apt-get install xfe

martes, 12 de octubre de 2021

Generador de vídeo PAL con ATmega328.

  Página principal


Generador de vídeo  PAL
ATmega328 -> Video
Visualizar  temperatura y humedad en TV
 
Arduino


Cuando el vídeo compuesto PAL/NTSC empieza a  no usarse, incluso algunos televisores no tienen entrada de video compuesto, he encontrado una página donde explica como generarlo con un procesador ATMEGA 328.
Existen otros montajes para generar video compuesto mediante ATMEGA328, pero no son buenos como este.
    http://searle.x10host.com/MonitorKeyboard/index.html
Este montaje solo genera vídeo, y su control se realiza con dos líneas mediante el protocolo I2C.
Los modos de vídeo pueden ser:

40 Character normal
80 Character normal
40 Character bold
80 Character bold
40 Character normal double-height
80 Character normal double-height
40 Character bold double-height
80 Character bold double-height
Modo gráfico 160x100

La conexión al dispositivo maestro en mi montaje se realiza mediante I2C de dos líneas, pero existe la posibilidad de realizarlo mediante 4, y 8 líneas, con lo cual será más rápida su comunicación.
Para mas detalles os recomiendo que visitéis su página, esta muy bien explicado todas su configuraciones.
También tiene otros muchos proyectos interesantes, gracias
Grant Searle .

Para mi proyecto he utilizado un arduino nano que lee el sensor DHT22  (AM2302), para luego mandar los datos de temperatura y humedad al circuito de generación de vídeo.
Como no tenía la versión del 74HC166 he utilizado el modelo 74LS166, existe diferencias en la impedancia de entrada, pero después de probarlo funciona.

Circuito original.


Circuito para interface I2C de dos líneas, y generación de video PAL.

Como quería hacer prácticas con el programa KiCad lo realizado también para este programa.

Esquema con KiCad.



Circuito impreso con KiCad.


Vista 3D con KiCad.

El circuito impreso no lo he probado, por lo que no garantizo que esté bien, lo he realizado a modo de práctica.


 El sensor de temperatura se conecta a un arduino, para luego mandar los datos al generador de vídeo.


Circuito montado y funcionando.


Visualización de la señal de video compuesto en un televisor.

PROGRAMA

Para programar el ATmega328 he utilizado un arduino en modo programador.
En mi anterior artículo (simuld.html) explico como programar el microcontrolador con un arduino.
Una vez montado el circuito programador debemos grabar el programa con la orden:

avrdude -C/usr/share/arduino/hardware/tools/avrdude.conf -v -v -patmega328p -cstk500v1 -P/dev/ttyUSB0 -b19200 -U flash:w:SBCVideo.hex:i -U lfuse:w:0xf7:m -U hfuse:w:0xd9:m -U efuse:w:0xff:m

Este proyecto está realizado en Debian 10.
Espero que disfrutéis haciendo este proyecto.

Saludos.
Juan Galaz


Bibliografía:

simuld.html
http://searle.x10host.com/MonitorKeyboard/index.html