Cómo: FHEM - instalar nanoCul

Un sistema de hogar inteligente solo es realmente divertido cuando puede comunicarse con otros componentes.
Dado que muchos sistemas utilizan conexiones de radio para la comunicación, es lógico hacer que FHEM tenga capacidad de radio tan pronto como sea posible.

La mayoría de los sensores y actuadores en el sector del hogar inteligente se basan en frecuencias en el rango de 433 o 866 Mhz además de W-Lan y Bluetooth.
Los dos últimos también son utilizados por varias estaciones meteorológicas inalámbricas, controles de persianas, controles de motores, etc.

Hay dos formas de hacer que FHEM sea apto para radio:
1. Usted compra un adaptador USB a inalámbrico listo para usar que ya está ensamblado pero que también es costoso.
2. Usted construye su propio adaptador de USB a radio y ahorra mucho dinero.

Construirlo usted mismo no es un problema en este caso, porque hay otro magnífico proyecto de código abierto:
El nanoCul.
El nanoCul es un adaptador de USB a radio que se puede soldar a partir de componentes estándar simples y programar. Cómo funciona el ensamblaje que he descrito en este artículo.


Instrucciones de seguridad

Sé que las siguientes notas siempre son un poco molestas y parecen innecesarias. Desafortunadamente, muchas personas que sabían "mejor" han perdido ojos, dedos u otras cosas debido a un descuido o se lesionaron. La pérdida de datos es casi insignificante en comparación, pero incluso estos pueden ser realmente molestos. Por lo tanto, tómese cinco minutos para leer las instrucciones de seguridad. Porque incluso el proyecto más genial no vale la pena lesionarse u otros problemas.
https://www.nerdiy.de/sicherheitshinweise/

Enlaces afiliados / enlaces publicitarios

Los enlaces a las tiendas en línea enumerados aquí son los llamados enlaces de afiliados. Si hace clic en dicho enlace de afiliado y realiza una compra a través de este enlace, Nerdiy.de recibirá una comisión de la tienda en línea o el proveedor correspondiente. El precio no cambia para usted. Si realiza sus compras a través de estos enlaces, ayuda a Nerdiy.de a poder ofrecer otros proyectos útiles en el futuro. 🙂 


Requisitos

Artículos útiles:
Antes de que pueda comenzar a instalar el nanoCul, debe haber preparado el RaspberryPi para que se pueda acceder a él a través de Putty y FHEM esté instalado en él.
Los siguientes tres artículos describen lo que se debe hacer para preparar la RaspberryPi:
RaspberryPi: ¡configuración para nerdiys!
RaspberryPI – ¡La primera configuración!
Tu propia casa inteligente – instalación e ingreso a FHEM
RaspberryPi: controle el RaspberryPi a través de SSH

Material requerido:
-No-

Material requerido:

En la siguiente lista encontrará todas las piezas que necesita para implementar este artículo.


Estructura del nanoCul

El nanoCul consta esencialmente de cuatro componentes importantes:

1. El módulo de radio CC1101: está disponible para 433Mhz y 866Mhz
2. Un convertidor de nivel: Dado que el módulo de radio CC1101 (3.3V) y el Arduino Nano (5V) funcionan con diferentes niveles lógicos, deben ajustarse en cada caso.
3. Un Arduino Nano: un microcontrolador que es relativamente fácil de programar y operar a través de la interfaz USB.
4. La placa de circuito donde todo está soldado.
5. Opcional: Una vivienda para que todo el conjunto también esté protegido.


Conecte nanoCul a la RaspberryPi

Para conectar el nanoCul a la RaspberryPi, debe conectar el nanoCul a la RaspberryPi mediante un cable USB. Esto puede (dependiendo de las características del Arduino Nano utilizado) ser un cable micro o mini USB.
Conecte el cable USB a la RaspberryPi. (No importa qué puerto USB use en la RaspberryPi).
Enchufe el cable USB en el nanoCul. Tan pronto como se encienda su RaspberryPi, al menos un LED debería encenderse en el nanoCul. Si eso le molesta, puede cubrir el LED del nanoCul con cinta adhesiva, pintarlo con una pluma para cubrir pozos o desoldarlo.

Instalar el compilador AVR C-Cross

Para adaptar el firmware (casi el sistema operativo del nanoCul) a nuestras necesidades, tenemos que compilarlo nosotros mismos. Lo primero que tenemos que hacer es instalar el compilador AVR C-Cross.
Después de usted masillas en el Rasp Pi puedes hacer esto con el siguiente comando.

sudo apt-get install make gcc-avr avrdude avr-libc

Durante la instalación, es posible que se le pregunte si acepta que la instalación ocupe espacio de almacenamiento adicional. Confirmas esta solicitud con una “j” y Enter. A continuación, la instalación continuará.



Descargar firmware nanoCul

Para descargar el firmware actual para el nanoCul, primero debe encontrar el enlace actual. Ir a: https://sourceforge.net/p/culfw/code/HEAD/tarball

Lo primero que aparecerá es una ventana de descarga. Cierras esto porque quieres cargar el código en la RaspberryPi y no en tu computadora.
Ahora copia el enlace de descarga haciendo clic derecho en "enlace directo" y luego en "Copiar dirección de enlace". El enlace ahora está en su portapapeles y puede pegarlo en Putty. Sin embargo, antes de hacer clic en Enter en Putty, debe colocar un "wget" delante de él para que Rasp Pi también sepa que debe descargar el archivo especificado en el enlace.

Por ejemplo, el comando completo se vería así para la versión actual (556):

wget https://sourceforge.net/projects/culfw/

El Rasp Pi luego descarga el archivo y muestra el progreso en una pequeña animación.


Descomprimir firmware

El firmware descargado ahora está oculto en un archivo zip. Para poder seguir trabajando con él, primero debemos descomprimirlo.
Esto se puede hacer (con la versión actual) con el comando:

descomprimir culfw-code-566-trunk.zip

Si la versión (en el ejemplo, la 566) ha cambiado mientras tanto, debe ajustar la parte después de "descomprimir" según su versión.


Cambiar a la carpeta con el firmware

Ahora debe cambiar a la carpeta que acaba de crear al descomprimir.
El comando para esto es:

cd culfw-code-566-trunk/culfw/Devices/nanoCUL


Aquí nuevamente, la parte con el "566" debe notarse para ver si su versión ha cambiado


Configurar board.h correctamente

Antes de compilar el firmware, debemos agregarle los parámetros.
configurar correctamente. Esto se hace en el archivo "board.h". esto miente
en la carpeta a la que acaba de cambiar.
con el comando

tablero sudo nano.h

llegas al editor de texto "nano" y puedes usarlo para editar el archivo
Editar tablero.h.
No se alarme: la vista de la consola desaparece y todo se ve un poco diferente.

Aquí se pueden configurar varios parámetros. Por ejemplo, la frecuencia de reloj del microcontrolador o la frecuencia de radio del módulo de radio.

Si quieres usar un módulo de radio con 433Mhz y tu microcontrolador o la placa Arduino corresponde a un Arduino, no necesitas cambiar nada aquí.

Sin embargo, si usa un módulo de radio con 866Mhz, debe cambiar la siguiente parte.
Use las teclas de flecha en su teclado para navegar a "#define HAS_CC1100_433" y escriba "//" delante de él.
Esto comenta esa parte y le dice al compilador que use el
El firmware debe ensamblarse para que no sean para un 433Mhz sino
para ser configurado para un adaptador inalámbrico de 866Mhz.

Para guardar los cambios en el archivo board.h, presione CTRL+X, luego presione
"j" (porque desea guardar el archivo modificado) y luego haga clic en
Ingresar. Nano luego se cierra y estás de vuelta en la consola.


Montar firmware (let)

Este paso es fácil. El comando para esto es:

hacer

Este comando hace que se compile el firmware que acaba de configurar. Esto significa que el código legible por humanos se traduce a lenguaje de máquina y luego se puede programar en el microcontrolador de nanoCul en el siguiente paso.


Firmware del programa

Una vez compilado el firmware, es hora de programarlo en el microcontrolador del nanoCul.
Para ello tienes que introducir el siguiente comando:

hacer programa

El microcontrolador se programa y el código programado se vuelve a comprobar.


Averigua el ID del nanoCul

Para registrar el nanoCul en FHEM, primero tenemos que averiguar su identificación única.
Esto es importante, de lo contrario podrían surgir conflictos si, por ejemplo, dos nanoCuls están conectados a una RaspberryPi. (por ejemplo, porque desea ejecutar uno para 433Mhz y otro para 866Mhz).
Para obtener la identificación correcta, nada debe estar conectado a la RaspberryPi aparte del nanoCul.
Luego puede averiguar la ID del nanoCul con el siguiente comando:

ls /dev/serial/by-id

Luego se emite una identificación. En mi caso es el "usb-1a86_USB2.0-Serial-if00-port0". Por supuesto, esta identificación puede ser diferente para usted. Ahora tenemos que recordar este ID porque es necesario para el siguiente paso



Registrar nanoCul en FHEM

Para registrar el nanoCul en FHEM, debe cambiar a la interfaz web de FHEM. Hay un campo de entrada en el área superior a través del cual podemos ingresar la definición del nanoCul.
Esta definición dice:

definir nanoCUL CUL /dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0@38400 1234

"nanoCul" representa el nombre de su nanoCul en FHEM. Puede elegir un nombre diferente aquí.
"CUL" describe la función del dispositivo definido y no debe modificarse.
"/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0"
representa la interfaz con el nanoCul. Ahora tienes que hacerlo aquí.
asegúrese de utilizar el ID determinado en el paso anterior.
"@38400"
representa la tasa de baudios (~velocidad) con el FHEM con el nanoCul
comunica. Este valor debe ser igual a 38400.
"1234" es un código que en realidad solo se requiere cuando los diagramas nanoCUL FHT
debe enviar Entonces debe ser ajustado en consecuencia. De cualquier manera, esto debe especificarse.

Si ha "ensamblado" su definición de su ID en consecuencia, solo tiene que transferirla al campo de texto en FHEM y presionar Enter.
Luego será redirigido a esta descripción general del nanoCUL que acaba de crear. Aquí puede configurar todo lo importante con respecto al nanoCul.
Para probar si el nanoCul fue reconocido con éxito, configure "obtener nanoCul ..." para "obtener la versión nanoCul" y haga clic en "obtener".
Luego debería recibir un mensaje como: "versión nanoCUL => V 1.67 nanoCUL868". Si no obtiene una respuesta aquí, verifique la identificación de su nanoCul nuevamente como se describe en el paso 9. De lo contrario, a veces ayuda desconectar el nanoCul de la RaspberryPi y volver a conectarlo o reprogramar el nanoCul nuevamente. Reiniciar Rasp Pi a menudo resuelve el problema.

Si todo funciona, recuerda guardar tu configuración de FHEM haciendo clic en "Guardar configuración" en la barra izquierda.

Ahora debería haber conectado un nanoCul a su RaspberryPi y registrado en FHEM.


Diviértete con el proyecto.

Espero que todo te haya funcionado como se describe. Si no es así, o si tiene alguna pregunta o sugerencia, hágamelo saber en los comentarios. Si es necesario, lo añadiré al artículo.
Las ideas para nuevos proyectos siempre son bienvenidas. 🙂

PS Muchos de estos proyectos, especialmente los proyectos de hardware, cuestan mucho tiempo y dinero. Por supuesto que hago esto porque lo disfruto, pero si crees que es genial que comparta la información contigo, me encantaría hacer una pequeña donación al fondo del café. 🙂

Cómprame un café en ko-fi.com       

11s comentarios

  1. Hola,
    lo siento, no puedo descargar el archivo correcto.
    Traté de crear el archivo board.h en la frambuesa simplemente copiando el código del sitio web, pero cuando intento iniciar el proceso de "hacer", el resultado es "no hay nada que hacer para 'board.h'.
    Entonces, ¿puedes actualizar tu buen tutorial con el nuevo enlace al archivo actualizado?
    ¡Muchas gracias!

        1. Hola franco,
          Lo intenté de nuevo y parece que el enlace me funciona. ¿Tal vez puedas probar con un navegador diferente (para mí funciona en Google Chrome)? Tan pronto como abro este enlace, comienza la descarga de la fila ubicada en: https://sourceforge.net/code-snapshots/svn/c/cu/culfw/code/culfw-code-r568-trunk.zip
          Este es el archivo de firmware que está buscando. Entonces, en caso de que todavía no funcione, puede usar este enlace. 🙂
          atentamente
          Fabian

  2. Pingback: Signo de Fhem Cul
  3. Pingback: Cul In Fhem Iniciar sesión
  4. Hola Fabián,
    En primer lugar, muchas gracias por esta gran guía, con la que incluso yo, como un principiante completamente desprevenido, puedo arreglármelas.
    Desafortunadamente, cuando ejecuto el comando "hacer", me encuentro con un error:

    ecki@raspberrypi:~/Descargas/culfw-code-r569-trunk/culfw/Devices/nanoCUL $ marca
    Compilando C: ../../clib/somfy_rts.c
    ../../clib/somfy_rts.c: En la función 'send_somfy_rts_frame':
    ../../clib/somfy_rts.c:200:85: error: extraviado '#' en el programa
    my_delay_us(30415 + (((cuadro[6] >> 7) & 1) ? 0 : somfy_rts_interval_half)); # 129341
    ^
    ../../clib/somfy_rts.c:200:87: advertencia: declaración sin efecto [-Wunused-value]
    my_delay_us(30415 + (((cuadro[6] >> 7) & 1) ? 0 : somfy_rts_interval_half)); # 129341
    ^
    ../../clib/somfy_rts.c:202:1: error: esperado ';' antes del token '}'
    }
    ^
    hacer: *** [makefile:328: ../../clib/somfy_rts.o] error 1

    ¿Tienes un consejo para mí?
    Gracias
    Ecki

    1. Hola Ecki,
      Eso me parece un error en los componentes del programa del firmware. El archivo somfy_rts.c probablemente tenga un problema en la línea 202, por lo que no se puede construir el paquete. Desafortunadamente, tendría que ponerse en contacto con los desarrolladores del firmware. 🙂
      Atentamente
      Fabian

  5. Hola Fabián,
    En primer lugar, muchas gracias por esta gran guía, con la que incluso yo, como un principiante completamente desprevenido, puedo arreglármelas.
    Desafortunadamente, cuando ejecuto el comando "hacer", me encuentro con un error:
    ecki@raspberrypi:~/Descargas/culfw-code-r569-trunk/culfw/Devices/nanoCUL $ marca
    Compilando C: ../../clib/somfy_rts.c
    ../../clib/somfy_rts.c: En la función 'send_somfy_rts_frame':
    ../../clib/somfy_rts.c:200:85: error: extraviado '#' en el programa
    my_delay_us(30415 + (((cuadro[6] >> 7) & 1) ? 0 : somfy_rts_interval_half)); # 129341
    ^
    ../../clib/somfy_rts.c:200:87: advertencia: declaración sin efecto [-Wunused-value]
    my_delay_us(30415 + (((cuadro[6] >> 7) & 1) ? 0 : somfy_rts_interval_half)); # 129341
    ^
    ../../clib/somfy_rts.c:202:1: error: esperado ';' antes del token '}'
    }
    ^
    hacer: *** [makefile:328: ../../clib/somfy_rts.o] error 1
    ¿Tienes un consejo para mí?
    Gracias
    Ecki

Kommentar hinterlassen

Tu dirección de correo electrónico no será publicada. Erforderliche Felder sind mit * markiert

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.