desktop

Reciclar Laptop antigua con RPi

Hola, voy a subir un proyectito a medida que voy avanzando de como reutilizo la pantalla de una vieja laptop Compaq C700LA, para convertirla en una Laptop Pi, esta laptop Compaq ya esta acabada, la compré en 2008, el disco duro esta bien dañado y el fan apenas funciona, el flex ya esta malogrado pero la pantalla esta bien, para reutilizarlo y construir una Laptop Pi, primero hay que compar un "LCD board controller" en eBay hay muchos vendedores de China que venden el controlador de acuerdo al modelo de tu pantalla. Yo contacté previamente al vendedor, le envié foto de mi pantalla LCD y de acuerdo al modelo de la misma programó el controlador para que le hiciera Ok, en este caso sólo con entrada HDMI por ser mas barato, los controladores con entrada VGA, HDMI y DVI cuestan unos dólares mas.
Aquí mis primeras pruebas



Una vez hecho las primeras pruebas, hay que pensar en montar todo de forma que sea estable y resista el trato diario, lo primero fué pensar que el flex nuevo no podría resistir mucho el abrir y cerrar permanentemente la pantalla, así que se me ocurrió montarlo atras de la pantalla. Veo que no obtendré una Laptop si no un All-in-One PC, :LOL:
 

Adjuntos

  • IMG_4181.jpg
    IMG_4181.jpg
    55.2 KB · Visitas: 67
  • IMG_4198.jpg
    IMG_4198.jpg
    53.6 KB · Visitas: 68
  • IMG_4200.jpg
    IMG_4200.jpg
    71.6 KB · Visitas: 68
  • IMG_4204.jpg
    IMG_4204.jpg
    81.3 KB · Visitas: 69
  • IMG_4205.jpg
    IMG_4205.jpg
    61.9 KB · Visitas: 69
  • IMG_4202.jpg
    IMG_4202.jpg
    48.6 KB · Visitas: 69
  • IMG_4203.jpg
    IMG_4203.jpg
    52 KB · Visitas: 68
  • IMG_4216.jpg
    IMG_4216.jpg
    77.5 KB · Visitas: 71
  • IMG_4217.jpg
    IMG_4217.jpg
    75 KB · Visitas: 64
  • IMG_4218.jpg
    IMG_4218.jpg
    81.8 KB · Visitas: 56
  • IMG_4220.jpg
    IMG_4220.jpg
    83.8 KB · Visitas: 57
Última edición:
Pues es una buena forma de recuperar piezas.

Una Rpi la verdad es que tiene potencia suficiente para usar como PC en bastantes cosas.
 
Como una buena PC-RPi debe ser posible tener acceso al GPIO para ir desarrollando códigos, en este caso estoy probando las librerías de Adafruit para el control del display Nokia5110 con Python:eek:
Saludos
Americo8888:)
 

Adjuntos

  • IMG_4233.jpg
    IMG_4233.jpg
    51.9 KB · Visitas: 42
  • IMG_4238.jpg
    IMG_4238.jpg
    49.2 KB · Visitas: 41
  • IMG_4237.jpg
    IMG_4237.jpg
    51.2 KB · Visitas: 41
  • IMG_4234.jpg
    IMG_4234.jpg
    65.8 KB · Visitas: 43
  • IMG_4236.jpg
    IMG_4236.jpg
    67.3 KB · Visitas: 45
  • IMG_4235.jpg
    IMG_4235.jpg
    65.4 KB · Visitas: 41
Última edición:
Una vista al display Nokia5110 mostrando parametros de la red WiFi y del CPU con python y el código lo comparto:)
Código:
#!/usr/bin/python
import subprocess
import time
import os
import psutil
import Adafruit_Nokia_LCD as LCD
import Adafruit_GPIO.SPI as SPI

from PIL import Image
from PIL import ImageDraw
from PIL import ImageFont

def get_temperature():
    
    try:
        s = subprocess.check_output(["/opt/vc/bin/vcgencmd","measure_temp"])
        return float(s.split('=')[1][:-3])
    except:
        return 0

def get_ipaddress():
   
    arg='ip route list'
    p=subprocess.Popen(arg,shell=True,stdout=subprocess.PIPE)
    data = p.communicate()
    split_data = data[0].split()
    ipaddr = split_data[split_data.index('src')+1]
    return ipaddr

def get_wlan_level():
	try:
		out = subprocess.check_output('cat /proc/net/wireless', shell=True).strip()
		keyword = "wlan0"
		wlanlevel = 0
	
		for line in out.split("\n"):
			if (line.find(keyword) >= 0):
				level = line.split()
				wlanlevel = int(level[3][:len(level[3]) - 1])
	
		return wlanlevel
		
	except:
		print "error get_wlan_level"
		return 0

def get_ssid():
	try:
		out = subprocess.check_output('iwconfig', shell=True).strip()
		keyword = "wlan0"
		essid = ""
	
		for line in out.split("\n"):
			if (line.find(keyword) >= 0):
				data = line.split()
				essid = (data[3][7:len(data[3]) - 1])
		
		return essid
	
	except:
		print "error get_ssid"
		return "not connect"
		
def actualizar():

    # Create blank image for drawing.
    # Make sure to create image with mode '1' for 1-bit color.
    image = Image.new('1', (LCD.LCDWIDTH, LCD.LCDHEIGHT))

    # Get drawing object to draw on image.
    draw = ImageDraw.Draw(image)

    # Draw a white filled box to clear the image.
    draw.rectangle((0,0,LCD.LCDWIDTH,LCD.LCDHEIGHT), outline=255, fill=255)

    # Load fonts
    scriptpath = os.path.dirname(os.path.abspath(__file__))
    font0 = ImageFont.truetype(scriptpath + '/5x7_practical.ttf', 16)
    # Write some text.
    #draw.text((0,0),'   RPi CPU Info', font=font0)
    draw.text((0,0),'AP= '+str(get_ssid()), font=font0)
    draw.text((0,10),'IP= '+str(get_ipaddress()), font=font0)
    draw.text((0,20),'Sig.= -'+str(get_wlan_level())+' dBm', font=font0)
    draw.text((0,30),'Temp.= '+str(get_temperature())+'*C', font=font0)
    draw.text((0,40),'CPU= '+str(psutil.cpu_percent())+' %', font=font0)

    # Display image.
    disp.image(image)
    disp.display()
	
# Raspberry Pi hardware SPI config:
DC = 23
RST = 24
SPI_PORT = 0
SPI_DEVICE = 0

# Hardware SPI usage:
disp = LCD.PCD8544(DC, RST, spi=SPI.SpiDev(SPI_PORT, SPI_DEVICE, max_speed_hz=4000000))

# Initialize library.
disp.begin(contrast=49)

# Clear display.
disp.clear()
disp.display()

print 'Press Ctrl-C to quit.'

while True:
    actualizar()
    time.sleep(1.0)
 

Adjuntos

  • IMG_4239.jpg
    IMG_4239.jpg
    62.3 KB · Visitas: 40
  • IMG_4240.jpg
    IMG_4240.jpg
    119.8 KB · Visitas: 34
Última edición:
Actualizando el tema, para mayor comodidad le agregué a mi All in One PC-Rpi :LOL: un teclado y mouse inalámbrico Genius Slimstar8000me, va todo Ok.:)
Saludos
Americo8888
 

Adjuntos

  • IMG_4731.jpg
    IMG_4731.jpg
    77.8 KB · Visitas: 33
  • IMG_4732.jpg
    IMG_4732.jpg
    84 KB · Visitas: 31
  • IMG_4733.jpg
    IMG_4733.jpg
    76.2 KB · Visitas: 33
  • IMG_4734.jpg
    IMG_4734.jpg
    66.6 KB · Visitas: 33
Atrás
Arriba