lunes, 28 de abril de 2014

5 - Raspberry PI - Recurso compartido de red con SAMBA

Instalamos samba este servicio nos permite compartir recursos dispositivos o archivos en nuestra red linux con windows funciona bajo el puerto 139 netbios y 445 netbios

Ayuda acerca de servicios y puertos
Link de servicios y puertos conocidos para usar con zenmap
http://es.wikipedia.org/wiki/Anexo:N%C3%BAmeros_de_puerto

Zenmap no puede dar una visión de lo servicios que tenemos corriendo en nuestro server y puertos abiertos ya que esto por ahora funciona desde la LAN privada, pero si nosotros queremos acceder desde la WAN através de la nube o internet, cualquiera podría entrar al servicio si no esta con contraseñas o algún fallo del software de servicio.
Es importante saber que puerto tenemos abiertos y que servicio esta escuchando en el.



entramos a la shell remota de raspberry

ssh nom_user@ip

Instalamos samba en raspberry pi
sudo apt-get install samba samba-common-bin

archivo de configuracion de lo que vamos a compartir
sudo nano /etc/samba/smb.conf

agregamos al final los recursos a compartir en nuestra red con respecto a los permisos es todo un tema aparte ya que se pueden asignar desde varios lugares y muchos metodos.


create mask=777
directory mask=777


con esto ya podes ver tu home y tu pendrive de raspy desde entorno de red acceder a los mismos y escribir en ellos.

******************smb.conf****************************************

[pihome]
comment= PI Home
path=/home/pi
browseable=yes
writable=yes
only guest=no
create mask=777
directory mask=777
public=no

[NAS]
comment=Disco NAS
path=/media/PENDRIVE
browseable=yes
writable=yes
only guest=no
create mask=777
directory mask=777
public=no

**********************************************************************
ctrl -o
ctrl -x
sudo reboot

o paramos el servicio de samba
sudo /etc/init.d/samba stop
sudo /etc/init.d/samba restart

y ya esta

en /etc/init.d/ se encuentran muchos servicio que se inician de forma automatica realizados en script bash vamos a realizar unos cuantos para algunos servicios.





Sldos con respecto a permisos voy a hacer un post porque es todo un tema aparte...

Arduino - Control de temperatura 'RTD PT100 PID y PWM'

Lazo cerrado de control de temperatura para un calentador industrial trifasico.
Sensor : RTD PT100 el cual varia la resistencia en funcion lineal a la temperatura.

Acondicionador: No terminado aun por ahora es un divisor de tension lo mejor es usar amplificadores operacionales para mejorar el cero y la estabilidad.

Control de :Arduino Mega 2560

Interface Salida: Interface de potencia con rele de estado solido soporta 400V 90A por fase modulando la corriente con PWM muy estable.

Actuador: Para la prueba ocupo un pistola de temperatura regulada por PWM con el rele de estado solido lo real van a ser resistencias tubulares de 7kw.

HMI o SCADA: no es un hmi ni scada pero cumple la funcion para monitoreo utilize realterm y KST bajo windows pero bajo ubuntu funciona barbaro pero con GTKTerm.
se puede usar monitoriza openscad scadabr u otro tambien tengo que probar el driver OPC para arduino pero solo funciona en windows y convierte tu arduino en un dispositivo modbus otra opcion es proccessing y android.

Cosas para mejorar
Medir la temperatura con dos RTD para promediar y muestrar y mejorar la estabilidad acondicionar con amplificadores operacionales para mejorar precicion aunque con el ADC de arduino funciona genial agregar una funcion con interrupciones y corte de alta temperatura con termocupla medir el consumo de corriente esto seria genial para saber todos los consumos por fase y tomar deciciones en caso de falla, mejorar los graficos con un SHIELD LCD el PWM es una libreria genial muy bien armada pero se puede mejorar con una RNA o un Perceptron para el aprendizaje de los valores para el P+I+D autotuning y usar un scada un poco mas potente



codigo en github para el calentador.

  • Sldos..




*********************************************************************************
Actualizacion 18-05-2014

Esto es una actualizacion de mi proyecto de control de temeperatura por arduino u openhardware ya que utilizo un freaduino mega 2560 o puede funcionar en un arduino uno o mega.
La primer prueba demostraba su funcionamiento su potencia, flexibilidad y con el firmware adecuado funciona en un uno mega u otro clon o nuestro propio microcontrolador.
La desventaja de este proyecto es la seguridad soldar cablesitos o poner pines no es muy seguro ni cumple con normas de seguridad ni estandares asi que lo siguiente es mejorar la seguridad del mismo, he visto tableros que no cumplen ninguna seguridad intrinseca y funcionan y estan instalados en procesos industriales, lo  siguiente es montarlo en una caja APE y montarlo sobre riel DIN y por amor de dios ponerle como sea borneras una fuente DC-DC estable y en algun momento hacer mi programa grafico en ladder para programarlo ya he visto openarduino un plc con arduino.

muy bueno español ++

controllino nombre medio medio jaja

y otros mas muy buenos.

en fin muchos se lo plantean, el cual me alienta a seguir con mi proyecto por supuesto esta es una mejora pero gracias a las impresoras 3D voy poder realizar los soportes para el riel DIN y las carcasas para las plaquetas.

Se me ocurrio la idea de montar al mega sobre un riel DIN acto seguido dije voy a imprimirlo con mi impresora 3D tengo que hacer los modelos en openSCAD y como buen vago buscando en thingiverse ya lo habian pensado jejeje
el señor jean claude muy ingenioso armo este modelo en openSCAD fabuloso programa te bajas el modelo STL y lo podes imprimir en tu printer 3d

by JEAN CLAUDE


Este tipo de cajas o junction box, nos brinda seguridad contra intemperie humedad y en casa de quemarse contendria el cortocircuito.





El riel DIN es un riel normalizado de 35mm para aplicaciones electricas de montaje.



Bueno primero y principal vamos amontarlo sobre riel DIN con los soportes yo consegui uno pero planeo imprimirlos con mi prusa i3 junto con la carcasa en ABS y usar borneras industriales estandarizadas.
Deberia quedar algo asi ese es la idea.





1- caja ape de aluminio
2- riel DIN normalizado
3- borneras industriales
4- fuente DC-DC con filtros
5- puestas a tierra - fusibles.


Hardware:

Caja:JunctionBox IP66
Sensor: PT100 doble con dos RTD de tres hilos.
Controlador:Freaduino mega 2560.
Display:LCD de 16x2 es un shield pero voy a realizar una extension con borneras.
Interface de potencia:Rele de esado solido de 400vca y 90A por face.

Software:


Dentro de las mejoras la calibracion se realizo con un baño termico seco contrastado con un fluke termometro 51 con termocuplas k y un pirometro raytek por seguridad, uso un PT100 doble en caso de falla de alguna tiene su back-up funciona con cualquiera de las dos y es prioritario, si fallan las dos el proceso del PID se detiene y queda sin funcionar alarmando del mismo.
Se puede incrementar o decrementar el Setpoint requerido desde las botoneras.

Segun como de configure con los declare funciona tanto en el arduino mega como en el uno.









Con respecto a la seguridad de la plaqueta y su cableado planeo usar un shield de este tipo pero creo lo voy a relizar la placa yo mismo aca en argentina no se consigue hay una para el uno pero no me convence.

Sldos...

Actualizacion 30-05-2014*********************************************************




Bueno asi va quedando un poco mejor ya no parece una madeja de cables "va dedicado a la persona que me dijo  que era una madeja de cables" ¬¬  jajaja













va mejorando :)




Sldosss..

******************Actualizacion 12/08/2014****************************************************************************

Bueno me encontre con el inconveniente de utilizar borneras darle mas seguridad a la placa no encontre el screw shield en argentina por lo cual arme uno propio y luego de varios modelos en fritzing monte todo en una sola plaqueta por lo que quedo mas prolijo pero a futuro quiero montarlo en un riel DIN :)














Sldos...

4 - Raspberry PI - Escritorio remoto de Raspy con VNC

Bueno esto pueden instalarlo o no es el escritorio remoto de raspy para instalarlo tienen que entrar a raspy a traves de la shell remota  el servicio VNC corre bajo el puerto 5900 o 5901 o por ahi cerca....

ssh nombre_usuario@ip_raspy

sudo apt-get install tightvncserver

una ves instalado en raspberry pi ejecutar la shell remota todo desde la notebook

tightvnserver :1 -geometry 800x600 -depth 24

en una shell local o sea en tu notebook instalar el cliente VNC viewer en UBUNTU

sudo apt-get install xtigthvncviewer

para conectarte seria

sudo xtightvncviewer ip_raspy:1

el :1 es el numero de escritorio pueden lanzar varios desde el server.

notebook local   ------>  raspberry pi  corriendo el servicio vnc por el puerto 5901 y ssh por el puerto 22
shell local
shell remota conectado al puero 22 de raspy.



Para arrancar el server VNC en el arranque de raspberry agregar el siguiente archivo en /etc/init.d/

cd /etc/init.d/
sudo nano vnc.sh
y copian el archivo



luego lo actualizan
sudo update-rc.d vnc.sh defaults 0
y arrancara cuando reinicien de manera automática.

Sldos.....





3 - Raspberry PI - Configurar Raspy atraves de la shell remota segura SSH

Ahora lo mas interesante conectarnos a nuestra raspy con una shell remota desde win o linux yo lo voy a hacer desde linux ubuntu todo bien con win pero lo odio jeje
Bien ya tienen su SD y raspy conectada a su red wifi con ip privada estatica ahora lo ideal es no usar pantallas y conectarnos de manera remota por una terminal.
Este servicio se conoce como SSH o secure shell y corre bajo el puerto 22 y si todo esta bien para acceder solo tienen que abrir una shell local en su linux desde su notebook o pc y teclear

ssh nombre_usuario@ip_raspy
ej
ssh pi@193.56.4.200
les pide la clave de raspy y entran a raspy atraves del shell



que pueden hacer desde aca de todo instalar programas editar archivos todo via wifi si quedo bien si no por ethernet.

Sldos.. perdon por la ortografia...



2 - Raspberry PI - Configuracion Interfaces de red ETH y WIFI para Raspy

Paso muy importante conectar las raspy a un TV con entrada HDMI o pantalla con entrada RCA y conectar el cable de red ya sea para instalar con NOOBS o BerryBoot su distro preferida o cargar la SD con la distro instalada.
Muy importante es configurar su red ya sea ethernet o wifi(dongle usb wifi)

Debido a noches de sufrimiento ya que no soy un genio hay dos formas de hacerlo una es grafica y otra por comandos.
Cuando conectan la raspy a su router wifi en el puerto lan este al estar configurado como server DHCP les asigna una ip "privada dinamica" para saber si raspy detecto bien su placa de red wifi ya que la ethernet es integrada y siempre funciona pero no queremos andar con cables

teclear en la shell

lsusb "muestra todo el hardware usb donde va a aparecer el dongle wifi"



luego
ifconfig "muestra si tienen interface wlan o sea les cargo bien el driver "


hasta ahi bien ahora hay que decirle a raspy donde conectarse ip privada dinamica o estatica.

ahora usando el archivo interfaces es bastante rapido si lo configuran bien

editor de texto nano

sudo nano /etc/network/interfaces

para guardar ctrl -o
para salir ctrl -x


van a ver algo asi interface loopback - ethernet - wifi
y dice que el router nos provee la ip por DHCP y que la clave es WEP
por ej el DHCP asignara ip desde 193.56.5.2 al 193.56.5.255

******ip privada dinamica wep*********************************************

auto lo
iface lo inet loopback

iface eth0 inet dhcp


auto wlan0

iface wlan0 inet dhcp
    wireless-essid nombre_router_wifi
    wireless-key s:clave_wep
********************************************************************



Otra forma y la que yo uso para asignarle una ip privada estatica y poder conectarnos desde una shell remota.

*****ip privada estatica para wifi wep******************************************

auto lo

iface lo inet loopback
iface eth0 inet dhcp

auto wlan0
#allow-hotplug wlan0
#iface wlan0 inet dhcp
iface wlan0 inet static
        address xxx.xxx.xxx.xxx ip de la raspy
        gateway xxx.xxx.xxx.xxx   ip de router 
        netmask xxx.xxx.xxx.xxx mascara de subred del router
        wireless-essid xxx
        wireless-key s:xxx formato texto
*****************************************************************

Que clave usar recomiendo wap por seguridad pero para empezar con esto basta cambian el archivo lo guardan y reinician

 sudo reboot
o paran el servicio de red y lo reinician
sudo /etc/init.d/networking stop
sudo /etc/init.d/networking start 

posibles errores son el ESSID va en texto plano igual que la contraseña por la s hay otros modificadores  .

        wireless-essid xxx
        wireless-key s:xxx formato texto

Otros comandos utiles
route -v tracea la ruta hasta su gateway
ping ip o host para ver si esta activa una maquina o raspy


Sldos esto sera actualizado para WPA..

lunes, 21 de abril de 2014

1 - Raspberry PI - Configurando a Raspy para utilizarlo como servidor NAS

Bueno este es mi ayuda memoria de todo lo que sufri para realizar un servidor NAS o almacenamiento remoto o sistema de archivo visible para la LAN a traves de SAMBA y accesisble por la WAN a traves de OwnCloud, sincronizando directorios y su contenido por medio de Bitorrent Sync ya sea por LAN o WAN se puede utilizar como SVN(subversion - tortoiseSVN - rabbitSVN) o BACK-UP de nuestro contenido multimedia y acceder desde la LAN o WAN.



Materiales a utilizar:
Raspberry Pi
Dongle Wifi
Disco externo o Pendrive
TV – monitor con entrada HDMI o RCA (solo para la instalación)
Teclado USB o Inalámbrico (solo para la instalación) 

Instalacion de Raspbian en una SD 

Noobs: Lo descargan y lo descomprimen en la memoria SD en lo posible de 8GB arrancan la raspy y eligen que instalar.
Lo bueno SO actualizados.
Lo malo solo eligen una sola vez no pueden agregar otro SO porque elimina todo.

Berryboot: Lo descargan y lo descomprimen en la memoria SD en lo posible de 4GB u 8GB arrancan la raspy y eligen que instalar.
Lo bueno permite actualizar la lista de SO que queremos.
Lo malo los SO están desactualizados. 

w32diskimager o usbimagewriter: Este programa permite copiar una imagen y hacerla arrancable se descargan el file.img y lo queman en la SD hay una versión para Linux o Win.

Que distro instalar Raspbian o Openelec(XBMC). ?

Raspbian es una version de Debian para el prosesador ARM
Openelec es una version de XBMC para el prosesador ARM usado generalmente con un TV para ver contenido multimedia, pelicualas, videos musica, acceder a redes compartidas etc. 

Una ves que arrancamos Raspy con Raspbian nos pedirá usuario y contraseña esto se puede cambiar.

Usuario: PI
Contraseña: Raspberrypara cambiar la contraseña hacer modificaciones y expandir la memoria SD teclear en la shell


sudo raspi-config
 
Web a las cuales tienen que entrar 
pagina oficial de descarga de raspberry pi
http://www.raspberrypi.org/downloads/

berryboot (bajar el zip y descomprimir en la SD)
https://github.com/maxnet/berryboot 
 
usb-imagewriter para ubuntu

sudo apt-get install python-glade2
sudo apt-get install usb-imagewriter
sudo imagewriter

 win32diskimager para win
http://sourceforge.net/projects/win32diskimager/ 



Sldos voy a actulizar a medida que encuentre algo nuevo o por correcciones :)..