Mit der kostenlosen Software openHABian verwandeln Sie Ihren Raspberry Pi in ein Smart-Home-System, das Sie ganz nach Ihren Wünschen gestalten können

Tutoriel pour transformer votre maison en Smart Home avec le Raspberry Pi

Les systèmes Smart Home ont connu une popularité croissante ces dernières années. Mais tous les systèmes ont leurs défauts : absence d’interface, extensibilité limitée ou manque de flexibilité. Nous vous montrerons dans cet article comment prendre les choses en main et construire votre propre dispositif Smart Home, à adapter et agrandir selon vos envies, à l’aide du Raspberry Pi. 

 Le projet

Convient à : utilisateur débutant avec connaissances de bases, utilisateur avancé

Durée : environ 1 à 2 heures

Budget : environ 80€

Matériel : 1 x kit Raspberry Pi 3, carte relai pour Raspberry Pi, câble réseau en option

En supplément : n’importe quel système Smart Home

Autre équipement : écran, clavier PC, connexion internet

Les avantages par rapport aux systèmes Smart Home traditionnels

Dans ce guide, nous vous présentons le logiciel libre openHABian, un dérivé de Debian, qui transforme votre Raspberry Pi en serveur Smart Home. Mais tout d’abord, voyons quel est l’intérêt d’un tel projet si vous êtes déjà en possession d’une enceinte intelligente Amazon Echo ou Google Home.

Grâce à openHABian, vous pouvez d’une part intégrer tous vos systèmes Smart Home existants (liste des systèmes pris en charge) et vous n’avez donc besoin que d’une centrale de commande. D’autre part, vous pouvez définir des interfaces pour les appareils qui n’ont pas d’interface intelligente par défaut.

Les premières étapes pour créer une maison intelligente Raspberry Pi.
Les premières étapes pour créer une maison intelligente Raspberry Pi.

Installer OpenHABian sur le Raspberry Pi

Etape 1 : Préparer la carte MicroSD

Tout d’abord, configurez votre Raspberry Pi en tant que serveur openHABian. Pour ce faire, téléchargez l’image système à partir du site web openHAB, décompressez-la et placez-la sur une carte microSD à l’aide d’un logiciel adapté, tel que Etcher.

Etape 2 : Etablir une connexion internet

Une connexion internet étant nécessaire lors de l’installation, entrez le SSID et le mot de passe de votre réseau Wi-Fi dans openhabian.conf ou connectez votre Raspberry Pi à votre routeur via le câble réseau. Nous recommandons la deuxième option, car il y a souvent des problèmes lors de l’installation via Wi-Fi.

wifi_ssid="My Wi-Fi SSID"

wifi_psk="password123"

Etape 3 : Installation

Insérez maintenant la carte MicroSD dans le Raspberry Pi et connectez-le à l’alimentation électrique. L’installation démarre automatiquement et dure environ 25 minutes, en fonction de la version de votre Raspberry Pi et de votre connexion internet.

Si l’installation a réussi, on vous demandera votre nom d’utilisateur et votre mot de passe (openhabian/openhabian). Ensuite, un script openHABian s’affiche en code ASCII.

Etape 4 : Définir l’adresse IP

Déterminez l’adresse IP du Raspberry Pi en tapant Hostname -I dans la console. Saisissez ensuite celle-ci dans votre navigateur afin de visualiser le panneau de contrôle de votre serveur openHAB (vous pouvez sélectionner “Default” ici).

Nous vous recommandons ensuite d’attribuer une adresse IP statique au Raspberry Pi. Vous pouvez réaliser cette action dans les paramètres de votre routeur. De plus, une connexion samba ainsi qu’un accès externe au Raspberry PI via SSH sont très utiles pour la configuration. Les deux services sont préconfigurés et accessibles à l’adresse IP avec le nom d’utilisateur et le mot de passe par défaut.

Voici l’aspect de votre panneau de contrôle openHAB lorsque vous saisissez l’adresse IP de votre Raspberry Pi
Voici l’aspect de votre panneau de contrôle openHAB lorsque vous saisissez l’adresse IP de votre Raspberry Pi

Votre première application Smart Home

Procédons maintenant à quelque chose qui n’est pas faisable avec un système Smart Home traditionnel, à savoir commuter un relais grâce auquel vous pourrez contrôler des appareils domestiques dépourvus d’interface intelligente, tels que votre porte de garage, vos éclairages extérieurs et intérieurs, vos systèmes de climatisation, les serrures de vos portes électriques, vos volets roulants et bien d’autres encore.

Etape 1 : Mise en place du matériel

Connectez la carte relais au Raspberry Pi comme illustré et connectez le circuit à contrôler (35V maximum !) au relais 1.

Etape 2 : Insérez votre code

Copiez ensuite les scripts suivants dans les dossiers correspondants au sein du répertoire « conf » de votre Raspberry Pi (script Python après les scripts). Pour cela, connectez-vous au Raspberry Pi via samba.

 exec.things:

 Thing exec:command:remote-send [

command="sudo python3 /etc/openhab2/scripts/relaySwitch.py %2$s",

interval=0,

autorun=true]

]

Relay_Switch.items:

 Switch Relay_Switch_1 <poweroutlet>

Switch Remote_Send { channel="exec:command:remote-send:run" }

String Remote_Send_Args { channel="exec:command:remote-send:input" }

String Remote_Send_Out { channel="exec:command:remote-send:output" }

Relay_Switch_1.rules:

 rule "Relay Switch 1"

when

Item Relay_Switch_1 received command

then

while(Remote_Send.state == ON){

Thread::sleep(500)

}

if(receivedCommand == ON){

Remote_Send_Args.sendCommand("1 ON")

}else{

Remote_Send_Args.sendCommand("1 OFF")

}

while(Remote_Send.state != OFF){

Thread::sleep(500)

}

logInfo("Relay_Switch_1", "Result:" + Remote_Send_Out.state )

end

relaySwitch.py:

 #!/usr/bin/python3

 

import argparse

import smbus

 

class Relays():

 

def __init__(self):

self.dev_addr = 0x20

self.dev_reg_mode1 = 0x06

self.dev_reg_data = 0xff

self.bus = smbus.SMBus(1)

self.block = self.bus.read_byte_data(self.dev_addr, self.dev_reg_mode1)

 

def set_on(self, relays):

print("Setting {} on...".format(relays))

self.block &= ~(0x1 << relays)

self.bus.write_byte_data(self.dev_addr, self.dev_reg_mode1, self.block)

 

def set_off(self, relays):

print("Setting {} off...".format(relays))

self.block |= (0x1 << relays)

self.bus.write_byte_data(self.dev_addr, self.dev_reg_mode1, self.block)

 

def read_bytes(self,relays):

self.dev_reg_data |= (0x1 << relays)

block = self.bus.read_byte_data(self.dev_addr, self.dev_reg_mode1)
if __name__ == "__main__":

def state2bool(state):

if state.lower() == "on":

return True

elif state.lower() == "off":

return False

else:

raise argparse.ArgumentTypeError("State can either be on or off")
parser = argparse.ArgumentParser(

description="Change the state of a relays"

)

parser.add_argument("relay_id", type=int)

parser.add_argument("state", type=str)

args = parser.parse_args()

relays = Relays()

 

if state2bool(args.state):

relays.set_on(args.relay_id-1)

else:

relays.set_off(args.relay_id-1)

Etape 3 : Activation de l’interrupteur du relais

Vous devez ensuite créer le bouton avec lequel commuter le relais dans l’interface utilisateur et installer différents bindings. Pour ce faire, saisissez l’adresse IP de votre Raspberry Pi dans le champ d’adresse de votre navigateur et poursuivez la navigation comme suit : PAPIER UI->Addons->Bidings.

Localisez « GPIO Binding » et cliquez sur « Install ». Faites de même avec « EXEC Binding » et « REGEX transformation ».

Revenez ensuite en arrière et sélectionnez « HABPANEL ». Créez ici un nouvel interrupteur et sélectionnez l’élément de relais à commander sous HABItem “Switch_Relay_1”.

Création d’un bouton dans l’HABPANEL avec lequel le relais est commuté
Création d’un bouton dans l’HABPANEL avec lequel le relais est commuté

Enregistrez et cliquez sur « Run ». Si vous appuyez maintenant sur l’interrupteur, vous entendrez le bruit du relais qui clignote, la LED correspondante s’allumera et votre circuit connecté sera activé.

Étape 4: Recherche des erreurs

Si rien ne se passe, vérifiez que le protocole i2c est correctement configuré (suivre ces étapes) ou que vous avez attribué les bons droits (veuillez suivre ces étapes). Pour vous aider au débogage, le visionneur de journaux openHAB, qui se trouve sous le port 9001, peut s’avérer utile.

Accès en dehors de votre propre réseau

Tout naturellement, vous souhaitez continuer à avoir le contrôle de vos appareils en dehors de chez vous. Pour ce faire, openHABian propose un service cloud. Commencez par ajouter le Cloud Connector openHAB dans HABPANEL sous MISC. Après ça, enregistrez-vous et procédez à l’enregistrement de votre serveur openHAB sur myopenhab.org. Découvrez l’UUID et ses secrets en entrant ce qui suit dans la console de votre Raspberry Pi :

 UUID: cat /var/lib/openhab2/uuid
Secret: cat /var/lib/openhab2/openhabcloud/secret

Une fois connecté, vous pourrez voir le lien vers votre panneau de contrôle affiché directement sur la page d’accueil. Vous pouvez désormais faire figurer ce lien en raccourci sur l’écran de démarrage de votre smartphone, tout comme une application. De cette manière, vous gardez le contrôle total sur les fonctions de votre maison.

Installation des add-ons dans l’interface utilisateur PAPER
Installation des add-ons dans l’interface utilisateur PAPER
Utiliser Putty pour accéder à votre Raspberry Pi via SSH
Utiliser Putty pour accéder à votre Raspberry Pi via SSH

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *