Mostrando entradas con la etiqueta diy. Mostrar todas las entradas
Mostrando entradas con la etiqueta diy. Mostrar todas las entradas

16 de junio de 2025

Raspberry Pi NAS

 

Rasberry Pi - NAS

En algún momento se necesita mover algunos archivos entre computadores en el hogar, y se vuelve necesario tener un elemento de nuestra red que lo haga, para este caso si tiene los siguientes elementos disponibles puedes compartir archivos en red:

  • Raspberry Pi.
  • Unidad de estado sólido M2 o disco sata.
  • Adaptadores y cables.
Dispositivos/Adaptadores/Cables

El tutorial que se siguió es el siguiente: How to build a Raspberry Pi NAS,  es completo y funciona bien, pero no tiene unas indicaciones adicionales para que los dispositivos de la manzanita funcionen con Samba, en la sección de "global" debes de agregar estas lineas:

[global]

### Apple ios/osx config ###
vfs objects = fruit streams_xattr
fruit:metadata = stream
fruit:model = MacSamba
fruit:veto_appledouble = no
fruit:nfs_aces = no
fruit:wipe_intentionally_left_blank_rfork = yes
fruit:delete_empty_adfiles = yes
fruit:posix_rename = yes
Al no agregar esta configuración saldrá un mensaje que dice "read-only access" y no le permite agregar o modificar archivos desde dispositivos de la manzana.

El tutorial mencionado utiliza una Raspberry Pi 4, que cuenta con puertos USB 3.0 y conexión Gigabit Ethernet. Sin embargo, en mi caso estoy usando una versión inicial de Raspberry Pi, equipada solo con USB 2.0 y Fast Ethernet. La idea es reutilizar hardware disponible y no adquirir uno nuevo, por lo que actualizar el equipo no es una opción. Como mejora, se incorporó un adaptador TP-Link UE300 con conexión Gigabit Ethernet. No obstante, debido a la limitación del bus USB 2.0 (~300–400 Mbps), el rendimiento sigue por debajo del máximo teórico de Gigabit. Aun así, representa una mejora significativa, cuadruplicando aproximadamente la velocidad respecto al puerto Fast Ethernet original de la Raspberry Pi.

Aunque el disco duro NVMe ofrece velocidades de escritura muy altas, al conectarse por USB 2.0 se aprovecha menos del 3% de su capacidad real. El rendimiento del disco no es el problema el verdadero cuello de botella es la interfaz USB 2.0. En estas condiciones, la velocidad máxima alcanzable se reduce a unos 20–35 MB/s.

Y algo muy importante es usar el sistema operativo Lite, sin Interfaz Gráfica.

Para que te puede servir este NAS:
  • Backup y sincronización básica de archivos personales.
  • Compartición de archivos en red local mediante Samba (SMB), FTP o NFS.

Si quieres usos más avanzados (archivos grandes,  música, video), se debe tener un Raspberry Pi de última generación o el uso de un NAS de uso comercial. Ejemplo de transferencia de 1 Gigabit:
  • Escenario conservador (~20 MB/s):  1,000 MB ÷ 20 MB/s = 50 segundos
  • Escenario óptimo (~35 MB/s): 1,000 MB ÷ 35 MB/s ≈ 28.5 segundos

Caja Protectora


Notas y referencias:


21 de junio de 2020

webcam-whiteboard


www.webcam-whiteboard.com


WW (webcam whiteboard) es un programa que permitía convertir superficies en tableros mediante una Webcam modificada. Este era un proyecto como alternativa a Wiimote Whiteboard. Mediante una pantalla gigante o proyector se podía usar como una pantalla táctil.

This project was first created to be a substitute for the Wiimote Whiteboard. All you need is a webcam and an infrared pen. In the meantime this project grew and aims to include different types of infrared input to control your computer.


El sitio desapareció desde el 2011, el código fuente que estaba en SourceForge (http://sourceforge.net/projects/webcamwhiteb) fue borrado, solo queda rastros de este en Internet. Visite Internet Archive para mas información.
Modo de uso:



En una copia que se descargo en el 2010:
Requerimientos:
  • Java 1.6 a 32bits.
  • Una webcam que soporte infrarrojo.
  • Un lápiz infrarrojo.
  • Para la época funcionaba en WinXP, pero es posible correrlo en Windows 7. 
  • Proyector o pantalla grande.



20 de enero de 2019

Smart Home - DIY

DIY: Do It Yourself, Haslo tu mismo.

En este tiempo de asistentes personales como:
  • "Ok Google" - Asistente de Google
  • Siri - Apple
  • Alexa - Amazon
  • Cortana - Microsoft

En este post, se enfocara en el Asistente de Google, para automatizar un hogar se tiene las siguientes opciones:

  1. Compara dispositivos listos, pero no entraría en la clasificación DIY.
  2. Comprar dispositivos "chinos" por AliExpress y re-configurarlos a sus gusto, como los dispositivos "Sonoff".
  3. Construir tu propio dispositivo, con un esp82266, raspberry pi, entre otros.

Entre las opciones 2 y 3, se tiene el inconveniente de la integración con el asistente  de google, que se puede solucionar de las siguientes formas:

Crear tu propia nube y conecta tus dispositivos.


 Para este caso Google proporciona un servicio llamado Firebase con el cual podemos crear nuestra propia nube con conexiones y almacenamiento limitado en su parte de uso gratuita.

Para este caso tenemos el ejemplo de una Lavadora: https://codelabs.developers.google.com/codelabs/smarthome-washer/

Para complementar este ejemplo podemos buscar en internet "firebase realtime database esp8266", y encontramos ejemplos de como conectarnos mediante el API Firebase-Arduino: https://github.com/FirebaseExtended/firebase-arduino

De esta forma tenemos nuestra nube y nuestros dispositivos DIY para  interactuar con el Asistente de Google.


Usar el API Device Actions para extender un asistente personal.


Para este caso se requiere construir tu propio "parlante" (asistente)  y extenderlo con hardware externo y/o conexiones que permitan interactuar con otros dispositivos: https://developers.google.com/assistant/sdk/device-actions-overview

En esta pagina podemos observar el kit inicial: https://www.adafruit.com/product/4080

Hay dos formas de usar el api, en forma de servicio, pero esta requiere un botón para activar el asistente y la otra forma es una librería, pero principalmente depende del hardware donde se implemente: https://developers.google.com/assistant/sdk/overview#features


Usar comandos de voz configurados en el servicio de IFTTT.


 El servicio de IFTTT tiene una integración con google que permite crear comandos que ejecuten acciones denominadas "applet", con estas acciones podemos interactuar con nuestros dispositivos DIY,  y se pueden hacer de tres formas:

Paso previo tener configurado la parte inicial en IFTTT y un dispositivos DIY.
  1. Exponer el dispositivo al internet, abrir el puerto del moden/router y exponer un rest/http, el cual es invocado por IFTTT.
  2. Como la forma anterior, sin abrir el puerto, pero usar un servicio de proxy inverso o VPN inversa para exponer el pc y/o dispositivo. (ejemplo usar: https://ngrok.com/).
  3. La forma mas segura es, conectarse aun servicio de colas MQT, y que este servicio posea integración con IFTTT. (Ejmplo: Adafruit IO).

 Notas y Referencias:

  • Adafruit IO, si usas este servicio por favor usar el hardware que ellos venden.  
  • IFTTT  
  • No confundir Device Actions (Google Assistant SDK) con Actions (Actions on Google) que es el api para los servicios en la nube (Cloud).