Mode d'emploi : FHEM - installer nanoCul

Un système de maison intelligente n'est vraiment amusant que s'il peut communiquer avec d'autres composants.
Étant donné que de nombreux systèmes utilisent des connexions radio pour la communication, il est logique de rendre le FHEM compatible radio dès que possible.

La plupart des capteurs et actionneurs du secteur de la maison intelligente reposent sur des fréquences de l'ordre de 433 ou 866 Mhz en plus du W-Lan et du Bluetooth.
Les deux derniers sont également utilisés par diverses stations météo sans fil, commandes de volets roulants, commandes de moteurs, etc.

Il existe deux façons de rendre le FHEM compatible radio :
1. Vous achetez un adaptateur USB vers sans fil prêt à l'emploi, déjà assemblé mais également coûteux.
2. Vous construisez votre propre adaptateur USB-radio et économisez beaucoup d'argent.

Le construire vous-même n'est pas un problème dans ce cas, car il existe un autre magnifique projet open source :
Le nanoCul.
Le nanoCul est un adaptateur USB-radio qui peut être soudé à partir de composants standard simples et programmé. Comment fonctionne l'assemblage que j'ai décrit dans cet article.


Consignes de sécurité

Je sais que les notes suivantes sont toujours un peu ennuyeuses et semblent inutiles. Malheureusement, de nombreuses personnes qui savaient "mieux" ont perdu des yeux, des doigts ou d'autres choses à cause d'une négligence ou se sont blessées. La perte de données est presque négligeable en comparaison, mais même celles-ci peuvent être vraiment ennuyeuses. Par conséquent, veuillez prendre cinq minutes pour lire les consignes de sécurité. Parce que même le projet le plus cool ne vaut pas une blessure ou d'autres problèmes.
https://www.nerdiy.de/sicherheitshinweise/

Liens d'affiliation/publicitaires

Les liens vers des boutiques en ligne répertoriés ici sont des liens dits d'affiliation. Si vous cliquez sur un tel lien d'affiliation et effectuez un achat via ce lien, Nerdiy.de recevra une commission de la boutique en ligne ou du fournisseur concerné. Le prix ne change pas pour vous. Si vous effectuez vos achats via ces liens, vous aidez Nerdiy.de à pouvoir proposer d'autres projets utiles à l'avenir. 🙂 


Conditions préalables

Articles utiles :
Avant de pouvoir commencer à installer le nanoCul, vous devez avoir préparé le RaspberryPi pour qu'il soit accessible via Putty et que FHEM soit installé dessus.
Les trois articles suivants décrivent ce qu'il faut faire pour préparer le RaspberryPi :
RaspberryPi - configuration pour les nerdiys !
RaspberryPI – La première configuration !
Votre propre maison intelligente - installation et entrée dans FHEM
RaspberryPi - Contrôlez le RaspberryPi via SSH

Matériel requis :
-Non-

Matériel requis :

Dans la liste suivante, vous trouverez toutes les pièces dont vous avez besoin pour mettre en œuvre cet article.


Structure du nanoCul

Le nanoCul se compose essentiellement de quatre composants importants :

1. Le module radio CC1101 : il est disponible pour 433 Mhz et 866 Mhz.
2. Un convertisseur de niveau : Étant donné que le module radio CC1101 (3,3 V) et l'Arduino Nano (5 V) fonctionnent avec des niveaux logiques différents, ils doivent être ajustés dans chaque cas.
3. Un Arduino Nano : Un microcontrôleur relativement facile à programmer et à utiliser via l'interface USB.
4. Le circuit imprimé où tout est soudé ensemble.
5. En option : Un boîtier pour que l'ensemble soit également protégé.


Connectez nanoCul au RaspberryPi

Pour connecter le nanoCul au RaspberryPi, vous devez connecter le nanoCul au RaspberryPi via un câble USB. Cela peut (selon les caractéristiques de l'Arduino Nano utilisé) être un câble micro ou mini USB.
Branchez le câble USB dans le RaspberryPi. (Peu importe le port USB que vous utilisez sur le RaspberryPi.)
Branchez le câble USB dans le nanoCul. Dès que votre RaspberryPi est allumé, au moins une LED doit s'allumer sur le nanoCul. Si cela vous dérange, vous pouvez soit recouvrir la LED du nanoCul avec du ruban adhésif, soit la peindre avec un stylo bien couvrant, soit la dessouder.

Installer le compilateur AVR C-Cross

Afin d'adapter le firmware (quasi le système d'exploitation du nanoCul) à nos besoins, nous devons le compiler nous-mêmes. La première chose que nous devons faire est d'installer le compilateur AVR C-Cross.
Après vous mastics sur le Rasp Pi, vous pouvez le faire avec la commande suivante.

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

Au cours de l'installation, il vous sera peut-être demandé si vous acceptez que l'installation occupe un espace de stockage supplémentaire. Vous confirmez cette demande avec un « j » et Enter. L'installation se poursuivra ensuite.



Télécharger le micrologiciel nanoCul

Afin de télécharger le firmware actuel pour le nanoCul, vous devez d'abord trouver le lien actuel. Aller à: https://sourceforge.net/p/culfw/code/HEAD/tarball

La première chose qui apparaîtra là-bas est une fenêtre de téléchargement. Vous fermez ceci parce que vous voulez charger le code sur le RaspberryPi et non sur votre ordinateur.
Maintenant, vous copiez le lien de téléchargement en faisant un clic droit sur "lien direct" puis sur "Copier l'adresse du lien". Le lien est maintenant dans votre presse-papiers et vous pouvez le coller dans Putty. Avant de cliquer sur Enter in Putty, cependant, vous devez mettre un "wget" devant pour que le Rasp Pi sache également qu'il doit télécharger le fichier spécifié dans le lien.

Par exemple, la commande complète ressemblerait à ceci pour la version actuelle (556) :

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

Le Rasp Pi télécharge ensuite le fichier et affiche la progression dans une petite animation.


Décompressez le micrologiciel

Le firmware téléchargé est maintenant caché dans une archive zip. Afin de pouvoir continuer à travailler avec, nous devons d'abord le déballer.
Cela peut être fait (avec la version actuelle) avec la commande :

décompressez culfw-code-566-trunk.zip

Si la version (dans l'exemple le 566) a changé entre-temps, vous devez ajuster la partie après le "unzip" en fonction de votre version.


Passez au dossier avec le firmware

Vous devez maintenant basculer vers le dossier que vous venez de créer en décompressant.
La commande pour cela est :

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


Là encore, il faut noter la partie avec le "566" pour voir si votre version a changé


Définir board.h correctement

Avant de compiler le firmware, nous devons y ajouter les paramètres
régler correctement. Cela se fait dans le fichier "board.h". Cela ment
dans le dossier vers lequel vous venez de basculer.
Avec la commande

carte sudo nano.h

vous accédez à l'éditeur de texte "nano" et pouvez l'utiliser pour modifier le fichier
Edit board.h.
Ne vous inquiétez pas : la vue de la console disparaît et tout semble un peu différent.

Divers paramètres peuvent maintenant être réglés ici. Par exemple la fréquence d'horloge du microcontrôleur ou la fréquence radio du module radio.

Si vous souhaitez utiliser un module radio avec 433Mhz et que votre microcontrôleur ou la carte Arduino correspond à un Arduino, vous n'avez rien à changer ici.

Cependant, si vous utilisez un module radio avec 866Mhz, vous devez changer la partie suivante.
Utilisez les touches fléchées de votre clavier pour naviguer jusqu'à "#define HAS_CC1100_433" et écrivez "//" devant.
Cela commente cette partie et indique au compilateur d'utiliser le
Les micrologiciels doivent être assemblés de manière à ce qu'ils ne soient pas destinés à un 433Mhz mais
à configurer pour un adaptateur sans fil 866Mhz.

Pour enregistrer vos modifications dans le fichier board.h, appuyez sur CTRL+X, puis appuyez sur
« y » (car vous souhaitez enregistrer le fichier modifié), puis cliquez sur
Entrer. Nano se ferme alors et vous êtes de retour dans la console.


Assembler le firmware (let)

Cette étape est facile. La commande pour cela est :

faire

Cette commande provoque la compilation du firmware que vous venez de configurer. Cela signifie que le code lisible par l'homme est traduit en langage machine et peut ensuite être programmé dans le microcontrôleur du nanoCul à l'étape suivante.


Micrologiciel du programme

Une fois le firmware compilé, il est maintenant temps de le programmer dans le microcontrôleur du nanoCul.
Pour ce faire, vous devez saisir la commande suivante :

programmer

Le microcontrôleur est programmé et le code programmé est ensuite vérifié à nouveau.


Découvrez l'ID du nanoCul

Afin d'enregistrer le nanoCul dans FHEM, nous devons d'abord connaître son identifiant unique.
Ceci est important, sinon des conflits pourraient survenir si, par exemple, deux nanoCuls sont connectés à un RaspberryPi. (par exemple parce que vous voulez en exécuter un pour 433Mhz et un pour 866Mhz).
Afin d'obtenir le bon ID, rien ne doit être connecté au RaspberryPi en dehors du nanoCul.
Vous pouvez alors connaître l'ID du nanoCul avec la commande suivante :

ls /dev/serial/by-id

Une pièce d'identité est alors délivrée. Dans mon cas, il s'agit du "usb-1a86_USB2.0-Serial-if00-port0". Cet ID peut bien sûr être différent pour vous. Nous devons maintenant nous souvenir de cet ID car il est nécessaire pour la prochaine étape



Enregistrer nanoCul dans FHEM

Pour enregistrer le nanoCul dans FHEM, vous devez passer à l'interface Web FHEM. Il y a un champ de saisie dans la zone supérieure à travers lequel nous pouvons entrer la définition du nanoCul.
Cette définition se lit comme suit :

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

"nanoCul" représente le nom de votre nanoCul dans FHEM. Vous pouvez choisir un nom différent ici.
"CUL" décrit la fonction de l'appareil défini et ne doit pas être modifié.
"/dev/serial/by-id/usb-1a86_USB2.0-Serial-if00-port0"
représente l'interface avec le nanoCul. Maintenant tu dois le faire ici
assurez-vous d'utiliser l'ID déterminé à l'étape précédente.
"@38400"
représente le débit en bauds (~vitesse) avec le FHEM avec le nanoCul
communique. Cette valeur doit être égale à 38400.
"1234" est un code qui n'est en fait requis que lorsque les diagrammes nanoCUL FHT
devrait envoyer. Ensuite, il doit être ajusté en conséquence. Dans tous les cas, cela doit être précisé.

Si vous avez "assemblé" votre définition de votre ID en conséquence, il vous suffit de la transférer dans le champ de texte dans FHEM et d'appuyer sur Entrée.
Vous serez alors redirigé vers cet aperçu du nanoCUL que vous venez de créer. Ici, vous pouvez définir tout ce qui est important concernant le nanoCul.
Afin de tester si le nanoCul a été reconnu avec succès, réglez « get nanoCul … » sur « get nanoCul version » et cliquez sur « get ».
Vous devriez alors avoir un message du type : « version nanoCUL => V 1.67 nanoCUL868 ». Si vous n'obtenez pas de réponse ici, vérifiez à nouveau l'ID de votre nanoCul comme décrit à l'étape 9. Sinon, il est parfois utile de déconnecter le nanoCul du RaspberryPi et de le reconnecter ou de reprogrammer le nanoCul à nouveau. Redémarrer le Rasp Pi résout souvent le problème.

Si tout fonctionne, pensez à sauvegarder votre configuration FHEM en cliquant sur « Save Config » dans la barre de gauche.

Vous devriez maintenant avoir connecté un nanoCul à votre RaspberryPi et l'avoir enregistré dans FHEM.


Amusez-vous avec le projet

J'espère que tout a fonctionné comme décrit. Si ce n'est pas le cas ou si vous avez des questions ou des suggestions, faites-le moi savoir dans les commentaires. Je les ajouterai à l'article si nécessaire.
Les idées de nouveaux projets sont toujours les bienvenues. 🙂

PS Beaucoup de ces projets - en particulier les projets matériels - coûtent beaucoup de temps et d'argent. Bien sûr, je le fais parce que j'aime ça, mais si vous pensez que c'est cool que je partage l'information avec vous, je serais heureux d'un petit don au fonds du café. 🙂

Achetez-moi un café sur ko-fi.com       

11 commentaires

  1. Salut,
    désolé - je ne suis pas en mesure de télécharger le bon fichier.
    J'ai essayé de créer le fichier board.h sur la framboise en copiant simplement le code du site Web, mais lorsque j'essaie de démarrer le processus « make », le résultat est « rien à faire pour « board.h ».
    Alors pouvez-vous s'il vous plaît mettre à jour votre belle procédure par le nouveau lien vers le fichier mis à jour ?
    Merci beaucoup!

    1. Salut Franck,
      pourriez-vous s'il vous plaît me dire quel fichier vous ne pouvez pas télécharger? 🙂
      Le firmware culww semble être téléchargeable.
      cordialement
      Fabien

        1. Salut Franck,
          J'ai essayé à nouveau et il semble que le lien fonctionne pour moi. Peut-être pouvez-vous essayer un autre navigateur (pour moi, cela fonctionne dans Google Chrome) ? Dès que j'ouvre ce lien ça lance le téléchargement du fila situé à : https://sourceforge.net/code-snapshots/svn/c/cu/culfw/code/culfw-code-r568-trunk.zip
          Il s'agit du fichier de micrologiciel que vous recherchez. Donc, si cela ne fonctionne toujours pas, vous pouvez utiliser ce lien. 🙂
          cordialement
          Fabien

          1. Salut Fabien,

            super, maintenant ça marche 🙂

            Merci beaucoup pour votre soutient!
            Cordialement
            Franc

  2. Ping : Fhem Cul Signe
  3. Ping : Connexion Cul In Fhem
  4. Bonjour Fabien,
    Tout d'abord, merci beaucoup pour cet excellent guide, avec lequel même moi, en tant que débutant sans méfiance, je peux me débrouiller.
    Malheureusement, je rencontre une erreur avec la commande « make » :

    ecki@raspberrypi:~/Downloads/culfw-code-r569-trunk/culfw/Devices/nanoCUL $ make
    Compilation C : ../../clib/somfy_rts.c
    ../../clib/somfy_rts.c : Dans la fonction 'send_somfy_rts_frame' :
    ../../clib/somfy_rts.c:200:85 : erreur : '#' parasite dans le programme
    my_delay_us(30415 + (((frame[6] >> 7) & 1) ? 0 : somfy_rts_interval_half)); # 129341
    ^
    ../../clib/somfy_rts.c:200:87 : avertissement : instruction sans effet [-Wunused-value]
    my_delay_us(30415 + (((frame[6] >> 7) & 1) ? 0 : somfy_rts_interval_half)); # 129341
    ^
    ../../clib/somfy_rts.c:202:1 : erreur : ';' attendu avant le jeton '}'
    }
    ^
    make: *** [makefile:328: ../../clib/somfy_rts.o] erreur 1

    Avez-vous un conseil pour moi?
    Merci
    Ecki

    1. Salut Eki,
      Cela me semble être une erreur dans les composants du programme du firmware. Le fichier somfy_rts.c a probablement un problème à la ligne 202, c'est pourquoi le paquet ne peut pas être construit. Malheureusement, vous devrez contacter les développeurs du firmware. 🙂
      Cordialement
      Fabien

  5. Bonjour Fabien,
    Tout d'abord, merci beaucoup pour cet excellent guide, avec lequel même moi, en tant que débutant sans méfiance, je peux me débrouiller.
    Malheureusement, lorsque j'exécute la commande "make", je rencontre une erreur :
    ecki@raspberrypi:~/Downloads/culfw-code-r569-trunk/culfw/Devices/nanoCUL $ make
    Compilation C : ../../clib/somfy_rts.c
    ../../clib/somfy_rts.c : Dans la fonction 'send_somfy_rts_frame' :
    ../../clib/somfy_rts.c:200:85 : erreur : '#' parasite dans le programme
    my_delay_us(30415 + (((frame[6] >> 7) & 1) ? 0 : somfy_rts_interval_half)); # 129341
    ^
    ../../clib/somfy_rts.c:200:87 : avertissement : instruction sans effet [-Wunused-value]
    my_delay_us(30415 + (((frame[6] >> 7) & 1) ? 0 : somfy_rts_interval_half)); # 129341
    ^
    ../../clib/somfy_rts.c:202:1 : erreur : ';' attendu avant le jeton '}'
    }
    ^
    make: *** [makefile:328: ../../clib/somfy_rts.o] erreur 1
    Avez-vous un conseil pour moi?
    Merci
    Ecki

Kommentar hinterlassen

Votre adresse e-mail ne sera pas publiée. Erforderliche Felder sind mit * markiert

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.