Vamos a montar un sensor de temperatura para vuestras DM500, asi podreis controlar esos "calores" que les dan a veces.
Este montaje se ha realizado y probado sobre una DM500C. Es prácticamente seguro que se puede realizar en una DM500S, DM500T o DM500+ sin realizar ningún cambio, pero no ha sido probado. El mod se puede aplicar tambien a otros modelos de dream, pero es necesario localizar los puntos de conexión señalados en este manual.
Introducción
Para empezar, vamos a explicar como funciona este sensor.
El individuo en cuestión es el LM77, un sensor de temperatura con bus I2C.
Para los que no sepais de que va eso del I2C, solo hay que decir que es un tipo de bus de datos creado por Philips para interconectar los primeros microprocesadores que aparecieron en las tv's a mediados y finales de los 80 con el resto de elementos, como el tuner, la eeprom donde se guardan los canales, el receptor de infrarrojos, etc.
Dada su simpleza, y su relativa alta velocidad (no es ninguna maravilla, pero era más rápido que los puertos serie de la época) poco a poco fue saltando de las TV's a los microcontroladores, y hoy en día lo teneis tambien en vuestros pc's (en una versión un poco más simplificada llamada SMBUS).
Como era de esperar, las Dream's no ivan a ser menos, e incluyen uno o dos buses según la versión del core (1 bus para las 600/500 y 2 para las 7000/7020).
En nuestras dreams se utiliza para controlar el tuner, y en las "gorditas" lo teneis tambien en un conector de la parte posterior.
A este bus se le pueden añadir hasta 128 dispositivos "esclavos", y puede conectarse prácticamente de todo, desde memorias eeprom, a controladores de teclado, pasando por displays de todo tipo, dac's, adc's, sensores de todo tipo, etc...
Si quereis aprender algo más sobre el I2C, teneis un enlace en la sección de referencias.
Volviendo al tema del sensor, este pequeñajo de 8 patillas tiene en su interior un sensor de temperatura y un pequeño controlador que lo muestrea cada cierto tiempo y que se comunica con el exterior a traves del anteriormente citado bus de datos.
Tambien tiene un par de patillas que pueden ser programadas para que se activen automáticamente al llegar a ciertas temperaturas que nosotros queramos para, por ejemplo, controlar ventiladores, o simplemente hacer sonar una alarma, pero que de momento no utilizaremos (puede que en un montaje futuro).
Materiales y montaje
Para hacer este mod, necesitaremos lo siguiente:
- Un circuito integrado LM77 (imprescindible)
- Cable de conexiones (yo he utilizado un trozo de cable de cinta, como los de los discos duros IDE o las disqueteras).
- Soldador y estaño.
- Herramientas de corte como alicates o tijeras.
- Goma termoretractil o termofusible. No es imprescindible, pero si muy útil. Tambien se puede utilizar cinta aislante.
Antes de empezar, veamos un poco de que se trata este montaje.
A continuación, teneis una vista del sensor al lado de una moneda para que os hagais una idea del tamaño. Justo despues, el patillaje del sensor que nos servirá de guia para el montaje.

Como podeis ver, el tamaño es minusculo, así que debeis armaros de paciencia, y prácticar un poco antes con el soldador para que todo vaya rodado.
En la imagen del patillaje, los pines que nos interesan para este montaje son tan solo 4, los nombrados como SDA, SCL, GND y VCC.
SDA y SCL se corresponden respectivamente con las lineas de datos y de reloj del bus I2C, por donde nuestro amigo "charla" con nuestra dream.
Las lineas A0 y A1 sirven para seleccionar la dirección que ocupará el chip en el bus. Todos los dispositivos del bus I2C tienen una dirección de 7 bits, la cual se utiliza para identificar con quien quiere "hablar" el host (en nuestro caso la dream). Es algo similar a una dirección IP, pero en chiquitito. Esto tambien supone que en cada bus I2C solo puede haber 128 dispositivos "esclavos".
Por lo general, todos los dispositivos I2C tienen una dirección "base" de fábrica, y ofrecen la posibilidad de configurar los últimos bits de esta para evitar que coincida con la de otros chips del mismo tipo, o de diferente tipo pero con la misma dirección base. Como en el LM77 solo nos dejan los dos últimos bytes, esto quiere decir que se pueden tener hasta 4 chips iguales (las combinaciones posibles con 2 bits binarios) en el mismo bus, obviamente cada uno con una dirección diferente. En nuestro montaje, para simplificar al máximo, los vamos a conectar a la alimentación, lo que significa que la dirección del chip acabara con dos unos binarios (11). Si echais una ojeada al datasheet, llegareis a la conclusión de que nuestro chip tendrá la dirección hexadecimal 0x4b.
Los pines VCC y GND se corresponden con la alimentación y masa (o tierra) en este mismo orden.
¡¡¡ATENCIÓN!!! Cuando compreis el LM77, os pueden dar una de las dos versiones, la de 3.3v o la de 5v.
Debeis de tenerlo en cuenta ya que tendreis que conectarlo a la alimentación que corresponda para que no suceda nada extraño, ni se rompa nada.
La forma de destinguirlos es fácil. En el chip va serigrafiado el nombre del mismo, LM77, junto con un código que puede ser CIM o CIX, seguido de un guión y un número que puede ser 3 ó 5, y que como imaginareis, se corresponde con el voltaje necesario para que funcione el chip.
Aclarado esto último, veamos como y a donde hay que conectar esos pines.
Para empezar, realizaremos las conexiones siguientes en el chip, tal y como se muestra en la siguiente imagen:
¡¡¡ATENCIÓN!!! Fijaros que el chip tiene uno de los lados biselado, y/o con un puntito. Este punto y/o bisel sirven como referencia para indicar el pin número 1, y debeis alinearlo igual que en las imágenes.
Como con imágenes se ve todo mejor, os dejo unas fotos de como lo he hecho yo:



El siguiente paso es opcional, pero muy recomendable. Se trata de aislar el chip y sus conexiones para evitar cortocircuitos en el interior de nuestra dream.
En mi caso he utilizado un macarrón de goma termoretractil (o termofusible). Este tipo de goma se encoge al aplicarle calor, ajustandose al material que hayamos introducido en su interior. Para darle calor puede utilizarse desde el mismo soldador, pasandolo poco a poco por la superficie, una llama de una vela o un mechero (ojo, sin aplicar directamente la llama) o con un secador de pelo al máximo de calor. Por lo general yo utilizo una pistola decapadora, que no es más que un secador con esteroides.
En su defecto, también podemos utilizar cinta aislante, o cualquier método aislante que no afecte a las propiedades térmicas del montaje (no vale envolverlo en pegamento ni nada por el estilo).
Como no, también hay imágenes para esto:



Ahora toca hacer las conexiones en el deco. Para eso, debemos identificar los puntos de conexión del bus I2C.
Como recordareis haber leido más arriba, las dream (al igual que todo decodificador digital) utilizan el bus I2C para controlar el tuner, así que la forma más fácil de obtener las señales es directamente de este. En la sección de referencias teneis el datasheet completo de uno de los tuners de cable, con su correspondiente patillaje. Aunque la dream sea satélite os vale igual de referencia ya que el pineado es el mismo.
De todos modos, como sé que ese tipo de documentos no son la delicia de nadie, os dejo otro documento más gráfico:
Fijaros que he marcado dos pines como VCC. Uno es el de 5V para los chips que funcionen a 5V, y el otro es de 3,3V para los chips que funcionan a 3,3V. Ojo, solo debe de conectarse uno de ellos, el que corresponda al chip que tenemos.
¿Sabeis lo que toca ahora?...
¡¡¡Efectivamente!!!. Es hora de hacer el resto de conexiones.
Uniremos uno a uno los cables que hemos soldado al chip del sensor con su homonimo en el tuner. Es decir, el cable que va a las patitas de VCC, A0 y A1 se conecta con el pin del tuner con el mismo nombre que la primera de ellas (y que corresponda al voltaje del chip), el que va a la patita GND al pin GND del tuner, y las SDA y SCL a los pines SDA y SCL del tuner.
Al final, os tiene que quedar algo como esto:
Como podeis ver, mi dream tiene un disipador sobre el core, y he encajado el sensor justo entre las aletas de aluminio. Es posible que vuestra dream no tenga disipador, con lo que quizas necesiteis fijar el sensor de otra forma. Con un trozo de cinta de doble cara seria suficiente, pero lo dejo a vuestra elección.
Software
¿Que es el hardware sin el software?... Pues básicamente un ladrillo tecnológico.
Así que lo que necesitamos para sacarle partido a nuestro nuevo y flamante añadido es un poquito de soft que haga algo útil con él.
Y estais de suerte porque os he preparado un pequeño programita que hace lo que se le pide... mostrar la temperatura.
No es nada vistoso, ni super currao y se puede mejorar, pero lo he hecho en menos de media hora y es lo que hay.
Lo primero que teneis que hacer es descargaros este fichero:
AQUI
Luego lo subis a vuestra dream por ftp (o el método que prefirais) al directorio /tmp de vuestra dream.
Acto seguido, y con la dream encendida y en un canal, entrais en el blue panel:
Y seleccionais la opción 2, Addons.
Os saldra la siguiente ventana:
Escogeis la opción Manual install y os saldra esta otra pantallita:
Bajais con las flechitas del mando hasta la linea donde aparece el archivo que habeis subido al deco, y pulsais el botón verde (OK). En este caso solo habia este archivo, así que ya salia seleccionado por defecto.
Ahora empieza la instalación, pero antes os pedira confirmación de la siguiente manera:
Ahora solo os queda pulsar de nuevo el botón verde para volver al canal, y estareis preparados para ver la temperatura de vuestra pequeña.
Muy bien, pues vamos a por ello...
De nuevo, botoncito azul desde un canal cualquiera, y de nuevo aparece el blue panel:
Esta vez escogemos la opción 7, Plugins:
Ahora tenemos una lista con nuestros plugins instalados. Seleccionamos el plugin con nombre "Temperatura" (obvio), en mi caso el 2 y...
Antes de que os alarmeis por la temperatura, en mi caso 53 grados, os digo que es normal que el core ande entre los 50 y los 56 grados, siendo lo habitual 53,50.
Esta temperatura es la del propio core, y no la del "ambiente" interior de la dream, que está sobre unos 30 grados.
En standby, el core puede llegar a bajar hasta los 22 grados, eso sí, con prácticamente toda actividad parada, es decir, sin emuladora, ni red, ni nada por el estilo
Posibles mejoras
Como nada es perfecto, todo es susceptible de mejoras, y esto no iba a ser menos.
Por la parte del hardware se pueden hacer algunas cosillas, como conectar un ventilador al sensor para que se active al llegar a cierta temperatura y poco más...
En la parte de software si que se pueden hacer más cosas. Empezando por un panel en enigma como dios manda, hasta un driver que loguee todos los cambios de temperatura, la temperatura media, que recolecte estadisticas, etc...
Referencias
Información sobre el bus I2C: http://es.wikipedia.org/wiki/I2C
Datasheet chip sensor de temperatura: http://www.tododream.com/team/ferix/lm77.pdf
Datasheet sintonizador para cable: http://www.tododream.com/team/ferix/CU1216LS.pdf
Agradecimientos al autor: Ferix
Saturday, February 14, 2009
Sensor de temperatura
Tuesday, February 10, 2009
Como aumentar el sonido
Este post va dirigido a todos aquellos que poseen una dreambox500 sobre todo y que deseen aumentar la potencia de salida de su sonido.
La solución mas fácil y económica es usar un amplificador de sonido externo.
Usaremos un módulo prefabricado
y de venta en cualquier tienda de electrónica, en nuestro caso usaremos un P-5 de la marca CEBEK.
Este módulo necesita alimentación externa, y aunque el la etiqueta pone 18v en la hoja de sus caracteristicas técnicas nos admite un rango entre 12 a 24 voltios
Podemos usar un alimentador de ésos multitensión que venden hasta en los bazares chinos, podemos ponerlo en un valor de 12V (medido en vacio suelen dar 15V).
El consumo máximo del módulo es de 25mA (5 mA en reposo), asi que no es necesario que sea un alimentador grande.
A continuación, habrá que soldar dos RCA machos a la zona marcada como Input -entrada- en la placa del módulo y dos RCA hembras a output.
Ya solo faltara darle tensión.
Saturday, February 7, 2009
Montar Multiboot e imagenes diferentes
Voy a intentar esplicar como se monta mutiboot y de como se meten las imagenes en el , necesitamos el programa Flashwizard
Abrimos el programa y entramos en configuracion y utilidades ponemos ariba la ip de la dream la que tengamos. En root lo dejamo tal cual y debajo ponemos la contraseña de la dream si no emos cambiado por defecto suele ser dreambox.
En este caso, lo vamos a montar en una memoria usb. Tambien lo podemos hacer en una memoria sandisk o en el disco duro.
Bueno, si es la primera vez que la usamos, debemos de FORMATEAR la memoria usb. 
Nos saldra una ventana que nos dice si estamos seguros de formatear el usb, le diremos que SI (Yes)
A continuacion, marcaremos disc y OK
Y cuando finalice, nos debera de salir una ventana indicando que se ha formateado el usb correstamente. Le damos a OK.
Luego le damos al botón de Montar usb, y nos debera de salir una ventana indicando que lo a montado correctamente, y le damos a ok.
Bien, hasta ahora solo hemos segido unos pasos para formatear la memoria USB, ahora vamos a INSTALAR LAS DISTINTAS IMAGENES dentro de ella.
Pulsamos el boton Instalar o eliminar una imagen en multiboot, y observaremos que en la parte superior nos reconoce el usb activo (se nos pone un bullget de color verde)
Acto seguido, nos vamos y pulsamos sobre el boton que pone arastra archivo aqui o abrir carpeta y elegimos la imagen de nuestro pc y le damos a abrir. (Asegurate de poner imagenes acordes al modelo de tu dreambox)
Nos saldra una ventana preguntandonos que si estamos seguro de querer instalar la imagen. Le damos a SI (Yes).
A continuación, nos pedira que indiquemos en que periferico deseamos instalarlo, logicamente le diremos que en nuestra memoria USB.
Luego nos pedira que le indiquemos el nombre que le queremos poner. Y le damos a OK.
Seguidamente y si toda va bien, empezará el proceso de la carga.
Cuando termine, nos sale una ventana que nos indica que la imagen se ha instalado correctamente. Le damos a ok y ya tenemos la imagen.
Ahora ya solo nos quedara reiniciar la dreambox y escoger esa nueva imagen instalada en su menu de arranque.
Tuesday, February 3, 2009
Montar un directorio del HD en Linux
Vamos a explicar los pasos para montar un directorio del disco duro de un PC Linux
En vista del potencial, he montado un servidor NFS en mi Linux ubuntu Drapper Drake 2.6.15. y la dreambox se encarga de montarla, de esta manera es como si tuviera un disco duro
He visto manuales para windows que funcionaran muy bien, pero os recomiendo linux(para todo)porque lo veo más seguro.
Uso un Pc-Linux(PIV), un modem/router wifi D-Link 640, y para conectar la dreambox al wifi, un Bridge wifi-ethernet Linksys WET54G(funciona muy bien, se usan para conectar videoconsolas a wifi) concetado a la DB-500S
1. Configurar la red del DreamBox, por supuesto nada de DHCP, todo a pelo
2. En mi PC Linux instalar, en modo root, instalar los demonios NFS(hay que estar conectado a internet, porque los ficheros se los baja de la Red):
root@miLinux# apt-get install nfs-common
root@miLinux# apt-get install nfs-kernel-server
3- Editamos el fichero /etc/hosts.deny con: root@miLinux# gedit /etc/hosts.deny
y al final del archivo añadimos:
portmap:ALL
lockd:ALL
mountd:ALL
rquotad:ALL
statd:ALL
Guardamos y salimos
4.- Editamos el fichero /etc/hosts.allow con: root@miLinux# gedit /etc/hosts.allow
y al final del archivo ponemos:
portmap: 192.168.XXX.XXX
lockd: 192.168.XXX.XXX
rquotad: 192.168.XXX.XXX
mountd: 192.168.XXX.XXX
statd: 192.168.XXX.XXX
donde he 192.168.XXX.XXX es la ip de la DreamBox (las X las tenéis que sustituir por vuestra verdadera IP)
Guardamos y cerramos
5.- Editamos el fichero /etc/exports con: root@miLinux# gedit /etc/exports
y añadimos la línea:
/var/compartir 192.168.XXX.XXX(rw,async)
donde "/var/compartir" es el subdirectorio del Pc Linux(podemos poner el que queramos) que va a poder ser accedido por la Dream, luego lo montaremos en lugar correcto. y la Ip es la de la DreamBox.
Bueno hecho esto solo tenemos que hacer que el demonio nfsd funcione en nuestro PC poniendo(En realidad vamos a reiniciarlos, esto no hará falta volver hacerlo , excepto si cambiamos la configuración del demonio):
root@miLinux# sudo /etc/init.d/nfs-common restart
root@miLinux# sudo /etc/init.d/nfs-kernel-server restart
root@miLinux# sudo /etc/init.d/portmap restart
Si tenéis algún firewall, tendréis que abrir los puertos(yo tengo el firestarter instalado). La de intentos de entrar raros que encuentro de vez en cuando en mi equipo me sorprende y por eso no uso windows).God bless America y al Firestarter!. Si a alguien le interesa lo puedo postear como se hace
Como es red local no tenéis que abrir ningún puerto en el router, ni en el bridge
Bueno yas'tá, ahora sólo tenéis que tomar el mando a distancia. Herramietas, configuración avanzada, configuarción de red, le dais a mount( ó montar)
ahí tendréis que poner la IP del PC Linux, tipo NFS, el subdirectorio local en el que vais a montar en la dreambox, por defecto me parece que pone "/var/mnt/hdd"(no recuerdo), el subdirectorio del Pc que vais a motar , en nuetro caso el que pusimos"/var/compartir" y al boton de montar
Bueno ya tenéis disco duro en la Dreambox. (Thanks to pirist)

