Onduleur, Raspberry, Domoticz

Voyons ici comment gérer un onduleur relié à notre Raspberry Domoticz.

Nous prendrons un cas simple ou le raspberry devra s’éteindre tout seul avant la fin des batteries de l’onduleur.

Il y aura deux épisodes à cette saga.

Prérequis

L’onduleur devra être équipé d’un port USB que vous relierez à un des ports USB du Raspberry avec le câble USB correspondant.

Alimentez votre raspi par un des connecteurs électriques dédiés de l’onduleur.

Faites attention il y a parfois des sorties électriques secourues par l’onduleur et d’autres non secourues. Branchez vous bien entendu sur une sortie protégée (c.f. logo ou « Battery » par exemple).

Ouvrez une session ssh sur le Raspberry pour continuer la configuration.

Installation

Tapez la ligne suivante afin d’installer les outils usb si il n’existent pas.

sudo apt-get install usbutils

Puis le logiciel de gestion de l’onduleur

sudo apt-get install nut

Configuration

Lors de l’installation, il s’affiche :

Setting up libupsclient1 (2.6.4-2.3+deb7u1) ...
Setting up nut-client (2.6.4-2.3+deb7u1) ...
[info] nut-client disabled, please adjust the configuration to your needs.
[info] Then set MODE to a suitable value in /etc/nut/nut.conf to enable it.
Setting up nut-server (2.6.4-2.3+deb7u1) ...

Comme indiqué il faut éditer /etc/nut/nut.conf par un

sudo nano /etc/nut/nut.conf

Et on place tout en bas le mode à  standalone

mode=standalone

Configuration de l’onduleur

Tapez ensuite

sudo nano /etc/nut/ups.conf

un fichier apparait :

# This file is used by upsdrvctl to start and stop your driver(s), and
# is also used by upsd to determine which drivers to monitor.  The
# drivers themselves also read this file for configuration directives.
#
# The general form is:
#
# [upsname]
#       driver = <drivername>
#         port = <portname>
#       < any other directives here >
#
# The section header ([upsname]) can be just about anything as long as
# it is a single word inside brackets.  upsd uses this to uniquely
# identify a UPS on this system.
#

Nous allons changer la partie upsname en supprimant les # de début de ligne.

  • Remplacez [upsname] entre crochets par un nom de votre choix identifiant cet onduleur.
  • driver = devra être rempli avec le nom du driver spécifique à votre onduleur, allez sur cette page pour rechercher votre modèle http://networkupstools.org/stable-hcl.html au bout à droite figure le nom à utiliser dans cette ligne.

Si vous ne trouvez pas, pas de panique beaucoup d’onduleurs fonctionnent avec le driver blazer_usb

Sinon recherchez sur le net avec le nom de votre onduleur pour trouver la référence correcte du matériel.

  • port = mettez auto pour que le Raspberry se débrouille , sinon mettez le vrai tty « /dev/tty/ACMO »

Ce qui fait  :

[ond_rasp_dz]
         driver = blazer_usb
         port = auto

Mon onduleur se nomme ond_rasp_dz

on démarre par

sudo upsdrvctl start

et paf une erreur

Network UPS Tools - UPS driver controller 2.6.4
Network UPS Tools - Megatec/Q1 protocol USB driver 0.08 (2.6.4)
Can't claim USB device [0665:5161]: could not detach kernel driver from interface 0: Operation not permitted
Driver failed to start (exit status=1)

il s’agit d’un problèmes de droits sur les ports usb, accordons les droits en notant les nombres affichés dans l’erreur ci-dessus.

On crée un fichier de règles pour l’onduleur.

Vous pouvez mettre le nom que vous voulez, toutefois le nom de l’onduleur préfixé par 10 est clair et explicite.

sudo nano /etc/udev/rules.d/10-ond_rasp_dz.rules

et on met la ligne  :

 SYSFS{idVendor}=='0665', SYSFS{idProduct}=='5161', MODE='0666'

Rebootez le pi, rebootez sinon ça marche pas.

Une fois le pi relancé , retirez le câble usb, patientez 10 seconds, rebranchez.

Maintenant interrogeons l’onduleur par la commande upsc suivie du nom donné plus haut.

sudo upsc ond_rasp_dz

me renvoie (cela dépend de votre onduleur)

battery.charge: 100
battery.voltage: 26.60
battery.voltage.high: 26.00
battery.voltage.low: 20.80
battery.voltage.nominal: 24.0
device.type: ups
driver.name: blazer_usb
driver.parameter.pollinterval: 2
driver.parameter.port: auto
driver.version: 2.6.4
driver.version.internal: 0.08
input.current.nominal: 5.0
input.frequency: 50.1
input.frequency.nominal: 50
input.voltage: 231.6
input.voltage.fault: 231.6
input.voltage.nominal: 220
output.voltage: 231.6
ups.beeper.status: enabled
ups.delay.shutdown: 30
ups.delay.start: 180
ups.load: 10
ups.productid: 5161
ups.status: OL
ups.type: offline / line interactive
ups.vendorid: 0665

On voit entre autres la charge que votre matériel « tire »sur l’onduleur (ups.load 10), le status (OL) = on line , (OB)= sur batteries , le délai avant shutdown (ups.delay.shutdown)

Nous avons donc un onduleur qui fonctionne en liaison avec notre Raspberry, nous verrons comment programmer des instructions d’extinction dans un prochain article.

Quelques références

http://networkupstools.org/ le site de nut

https://doc.ubuntu-fr.org/nut  et http://ovanhoof.developpez.com/upsusb/ pour des explications assez génériques.

Quelques trucs en vrac

Problèmes de droits

En faisant un lsusb sans câble USB puis avec on voit apparaître la ligne concernant l’usb relié à l’onduleur.

dans mon cas

Bus 001 Device 004: ID 0665:5161 Cypress Semiconductor USB to Serial

Je vois que l’on est sur le bus 001 , port 004

On va voir les droits par un

ls -l /dev/bus/usb/001

crw-rw-r-- 1 root root 189, 0 Dec 28 22:55 001
crw-rw-r-- 1 root root 189, 1 Dec 28 22:55 002
crw-rw-r-- 1 root root 189, 2 Dec 28 22:55 003
crw-rw-r-- 1 root nut  189, 3 Dec 28 23:04 004
crw-rw-r-- 1 root root 189, 4 Dec 28 22:55 005

on voit bien que le port 004 est associé à nut, Sinon un

sudo chgrp nut /dev/bus/usb/001/004

remet tout ça en place.

Connexion refused, data stale, init SSL

Ces messages sont souvent résolus par le fait de débrancher/rebrancher le câble usb APRES avoir changé udev/rules.d ET avoir rebooté.

Les commandes de l’onduleur

sudo upscmd -l nom_de_l_onduleur donne la liste des commandes comprises et exécutables par l’onduleur, pratique pour le piloter par scripts.

 

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/

Commandes vocales via Jarvis

J’avais déjà parlé ici de reconnaissance vocale via imperihome Android ou YANA.

Je voudrais vous présenter ici un nouvel outil que j’ai découvert récemment nommé JARVIS.

Son grand avantage par rapport à d’autres outils : LE FRANCAIS est natif !!

jarvis Vous emballez quand même pas trop, on est pas dans Ironman. jarvis_logo_red

L’intérêt de ce Jarvis ci est de faire de la reconnaissance vocale et d’y enchaîner des actions :

  • « Jarvis » « météo » vous donnera vocalement la météo de weather Underground (plugin+enregistrement) ,
  • « Jarvis » « tu sais quelle heure il est ? » dira l’heure.

La reconnaissance se base sur des mots clés que vous définissez vous même. Ainsi dans le « tu sais quelle heure il est » le mot clé recherché peut être défini à *HEURE* et donc toute phrase contenant le mot heure donnera l’heure. Cette reconnaissance d’un mot permet de lancer des scripts bash qui font des actions. « Heure » lance une commande linux :

date +%H%M

En plus d’être extrêmement paramétrable car on peut programmer soit même les actions à effectuer à l’issue d’une phrase, on peut lancer des taches vocales via cron (toutes les 10 minutes dire « Bonjour votre Altesse »), il y a des plugins dont un destiné à de la domotique et bien plus.

La phase de reconnaissance vocale peut utiliser soit un moteur local (pocketsphynx) soit Bing.

La page de référence est ici http://domotiquefacile.fr/jarvis/ et Alexylem le concepteur du soft à bien fait les choses puisque explications d’ installation et d’utilisation du soft sont très claires et didactiques (comprenez par la que je ne détaillerai pas ces phases 😆 ).

Bien entendu nous verrons ici comment intégrer Jarvis à notre Domoticz.

A noter Jarvis ne fonctionne QUE sur Raspberry, il faut donc un micro et des enceintes reliés à celui-ci.

Les points forts

Énormément de choses sont paramétrables, plusieurs moteurs de synthèse ou reconnaissance vocable, liste de mots clés reconnus , actions à déclencher, des plugins météo, gmail, de domotique.

On peut aussi lancer Jarvis en ligne de commande pour lui faire faire des actions, on peut utiliser les scripts:/// de Action ON et Action OFF pour lancer des commandes au basculement d’un switch. jarvis.sh -s « Le salon vient de s’allumer » juste pour faire dire une phrase ou -x pour exécuter une commande interne Jarvis

Via Lua un petit os.execute fera le job./home/pi/jarvis/jarvis.sh -x « c’est comment la météo » lance la commande METEO de Jarvis.

Installation

Je vous laisse parcourir le site de Jarvis pour effectuer l’installation.

Sachez toutefois qu’il vous faudra installer sox, alsamixer,aplay, arecord,mpg123 et jq.

sudo apt-get install sox alsamixer aplay arecord mpg123

Pour jq vous trouverez la procédure ici https://easydomoticz.com/manipuler-les-donnees-json-de-domoticz-en-shell/

Sinon, pas d’inquiétude, la procédure d’installation vérifie tout cela et vous donne les commandes à taper.

Puis l’assistant d’installation vous guide dans tout le processus de configuration y compris la détection de vos micros et hauts-parleurs.

A noter : Les meilleurs résultats de reconnaissance que j’ai pu obtenir sont lors de l’utilisation de la reconnaissance vocale Microsoft Bing qui utilise Internet (à mon grand désespoir).

Alexylem à un joli tableau récapitulatif ici http://domotiquefacile.fr/jarvis/content/stt

Pensez à votre vie privée lorsque vous transmettez des commandes à des tiers sur Internet (Bing, Google, Wit)

Une fois familiarisé avec Jarvis, attaquons nous au coté Domoticz de façon à piloter quelque chose à la voix.

Intégration avec Domoticz

Nous allons utiliser un plugin générique Home Automation de Jarvis.

Ce plugin permet d’envoyer des requêtes http à la voix .

Dans le store Jarvis

jarvis_storeInstallez le plugin « Home Automation » puis « Home Control ».

De même n’hésitez pas à faire des mise à jour du plugin dans Store > Installed > Home Control > Update en attendant les mise à jour automatique des plugin (work in progress).

Il s’affiche une page d’aide que nous allons détailler et adapter à Domoticz.

Loading...
## Description
If your home automation system can be controlled via http requests, this Jarvis plugin is just for you.
It will allow you to simply turn on and off your devices.

## Configuration

1. Indicate the turn on and turn off http urls (with `[ADDRESS]` placeholder):

   ```
   pg_hc_turnon_url="http://192.168.1.1/home.php?action=on&device=[ADDRESS]"
   pg_hc_turnoff_url="http://192.168.1.1/home.php?action=off&device=[ADDRESS]"
   ```

2. List your device names & corresponding addresses in `json` format

   ```
   pg_hc_config='{ "devices":[
       { "name": "BEDROOM", "address": "A1"},
       { "name": "LIVING ROOM", "address": "A2"},
       { "name": "BAR", "address": "A3"}
   ]}'
   ```

## Usage
```
You: turn on the bar
> http://192.168.1.1/home.php?action=on&device=A3
Jarvis: Done
```

## Author
[alexylem](https://github.com/alexylem)
Press [Enter] to continue

On voit ici qu’il nous faudra adapter les url suivant les spécifications de l’API Json de Domoticz et indiquer dans le tableau pg_hc_config le nom à prononcer et l’idx domoticz.

Modifiez les turnon_url et turnoff_url avec vos ip:ports Domoticz et l’appel à l’api JSON qui vous convient en laissant [ADDRESS] à l’endroit ou vous devez envoyer l’idx Domoticz.

Rappel : l’idx c’est cette colonne :idx_domoticz

Faites les modifs  via le menu « Config » du plugin « Home Automation » de Jarvis pour obtenir quelque chose comme :

pg_hc_turnon_url="http://192.168.1.81:8080/json.htm?type=command&param=switchlight&idx=[ADDRESS]&switchcmd=On"
pg_hc_turnoff_url="http://192.168.1.81:8080/json.htm?type=command&param=switchlight&idx=[ADDRESS]&switchcmd=Off"


pg_hc_config='{ "devices":[
    { "name": "lumière", "address": "112"},
    { "name": "Volet cuisine", "address": "33"},
    { "name": "volet salon", "address": "34"}
]}'

Ou 192.168.181:8080 est mon Domoticz, lumière et 112 , le nom et l’idx de la lumière , volet cuisine, 33 …

En prononçant « allume lumière » on ira donc activer l’idx 112 de Domoticz  via « pg_hc_turnon_url »

N.B  Les plugins sont dans le dossier plugins, il y a un sous dossier par plugin, puis dans celui ci un readme.md qui donne quelques explications au sujet du plugin , puis des dossiers /fr ou /en ou se situent les commandes dans la langue correspondante. Ce sont des fichier texte bash. Vous pouvez agir directement sur ces fichiers. La modification est immédiate, pas besoin de relancer Jarvis sauf si vous avez changé un mot à reconnaitre..

Je vous conseille de prendre des mots vraiment discriminants , par exemple , la reconnaissance du mot « volets » donne souvent le verbe « voler » et donc la phrase « ouvre voler salon » n’existant pas …

alexylem vient de me préciser que en utilisant « vole » tout simplement (la comparaison vérifie si le nom du device est « inclue » dans la commande reçue) cela devrait fonctionner.

Et comme les plus perspicaces d’entre vous auront remarqué qu’il faut dire « Allume volet salon » ou « éteint volet salon » ce qui peut paraitre bizarre nous verrons prochainement comment améliorer cela en ajoutant les mots « Ouvre » et « Ferme ».

Un petit film de présentation ici

 

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/

Des scripts plus faciles pour Domoticz avec dzVents

Vous êtes sans doute nombreux à avoir vu passer l’info: depuis quelques semaines il existe un nouveau type de langage de scripts que l’on peut intégrer à Domoticz, les dzEvents de dannybloe.

Langage de script qui se veut plus simple et plus lisible que Lua et qui est une surcouche du Lua Domoticz. Ainsi le dzEvent sera « retraduit » en « vrai » Lua. L’idée est de faciliter la lecture/ecriture de scripts.

Vous trouverez donc ici la traduction à ma sauce et des débuts d’explications de ces ressources anglophones : http://www.domoticz.com/forum/viewtopic.php?f=23&t=10834&sid=b844044efb6fbeb0841881a164361a0c

et https://github.com/dannybloe/dzVents

Voici donc le pitch de dzEvents

Présentation

dzVents (|diː ziː vɛnts| raccourci pour Domoticz Easy Events) apporte un nouveau type de scripting dans Domoticz.

Vous pouvez gérer vos switches facilement,vous aurez un contrôle sur les scripts basés sur le temps avec un vrai planning, dzEvent vous apporte une API qui utilise toutes les informations de Domoticz issues de toutes les différentes tables de Domoticz.Plus de commandArrays complexes car dzEvent les encapsule tous y compris les écritures et lecture de vos périphériques.

Et cerise sur le gâteau la performance des scripts à été améliorée : si vous avez beaucoup de scripts Domoticz ne cherchera qu’une seule fois l’information pour vos script device et time au lieu de parcourir tous les scripts un par un.

Un exemple :

Imaginez que nous ayons un switch, qui à son changement d’état doit activer un autre switch si et seulement si la température d’une pièce est supérieure à une valeur niveau puis nous envoyer une notification

En dzEvent cela donne :

return {
    active = true, 
    on = {
        'Premier switch'
    },

    execute = function(domoticz, roomSwitch)

        if (roomSwitch.state == 'On' and domoticz.devices['Salon'].temperature > 18) then
            domoticz.devices['Autre switch'].switchOn()
            domoticz.notify('Ca marche!',
                            'J'ai eteint car il faisait trop chaud',
                            domoticz.PRIORITY_LOW)
        end

    end
}

Pas mal !

Remarquez la syntaxe du haut on = , c’est le déclencheur sur l’état de quelque chose.

Un autre exemple avec des dates/heures/jours, le on = est ici un timer

return {
    active = true,
    on = {
        ['timer'] = {'Every 10 minutes on mon,tue,wed,thu,fri'}
    },

    execute = function(domoticz)

        -- check time of the day
        if (domoticz.time.isDayTime and domoticz.variables['myVar'].nValue == 10) then
            domoticz.variables['anotherVar'].set(15)
            --activate my scene
            domoticz.setScene('Evening lights', 'On')
            if (domoticz.devices['My PIR'].lastUpdate.minutesAgo > 5) then
                domoticz.devices['Bathroom lights'].switchOff()
            end
        end         

    end
}

Voyez qu’ici toutes les 10 minutes les lundi,mardi,mercredi,jeudi,vendredi on va lire une variable MyVar et si elle est égale a 10 on met une autre variable nommée ‘AnotherVar’  à 15 et on active une scène ‘Evening lights’ et si le périphérique nommé PIR n’a rien vu bouger depuis 5 minutes on met Bathroom lights à off par un switchOff.

Simple et concis.

Voyons la mise en place.

Installation.

Note: Ceci n’est pas testé pour des machines  non-linux (Windows).  Je suis certain que vous aurez des problèmes (dixit dannybloe concepteur du script).

Récupérez la dernière version depuis  GitHub, décompressez la dans le dossier de vos scripts Lua (/domoticz/scripts/lua)

cd domoticz/scripts/
https://github.com/dannybloe/dzVents/archive/master.zip
unzip master.zip

Vous obtenez un dossier dzEvent-master, entrez à l’intérieur prenez en le contenu (copier) et recopiez le directement dans le dossier Lua (coller) pour obtenir cela  :

dzEvent_1

Supprimez dzEvent-master une fois que tout est fonctionnel.

En résumé, un dossier  dzVents,puis les fichiers dzVents contenant :

domoticz/
    scripts/
        lua/
            dzVents/
                ... <dzVents files> ...
                examples/ 
                tests/
            scripts/
            script_time_main.lua
            script_device_main.lua
            dzVents_settings.lua
            ... <other stuff that was already there> ...

Ouvrez le fichier  dzVents_settings.lua et placez vos ip et numéro de port Domoticz. Merci de vérifier que vous n’utilisez pas de user/password pour le réseaux locaux (127.0.0.1) dans la config de Domotic sinon dzVents ne pourra lire les valeurs de vos équipements !

Dans ces settings on peut régler le niveau de log souhaité, plus ou moins bavard, 3 étant le plus loquace et utile au tout départ afin de savoir si tout marche. Repassez le à 2 ensuite.

Le [‘Enable http fetch’] à placer à True ou False permet à dzVents d’interroger régilièrement Domoticz et de mettre à disposition des scripts dzVents toutes les valeurs de Domoticz d’un seul coup.

[‘Domoticz ip’] = ‘192.168.1.81’,
[‘Domoticz port’] = ‘8080’,
[‘Fetch interval’] = ‘every 30 minutes’, — see readme for timer settings
[‘Enable http fetch’] = true, — only works on linux systems
[‘Log level’] = 3
}

Le dossier nommé scripts devra contenir nos scripts dzVents, il suffit juste de les nommer en .lua, plus besoin de script_device, ou script_time…

Et tout de suite les logs Domoticz doivent vous donner trace de l’activité de dzEvents (ici avec niveau de log = 3)

LUA: Found otherdevices_utility adding this as a possible attribute
LUA: Found otherdevices_svalues adding this as a possible attribute
LUA: Found otherdevices_humidity adding this as a possible attribute
LUA: Found otherdevices_idx adding this as a possible attribute
LUA: Found otherdevices_dewpoint adding this as a possible attribute
LUA: Found otherdevices_temperature adding this as a possible attribute
LUA: Found otherdevices_lastupdate adding this as a possible attribute
LUA: Event in devicechanged: Memory Usage_Utility value: 7.7199997901917
LUA: Searching for scripts for changed device: Memory Usage
LUA: Event in devicechanged: Memory Usage value:
LUA: Searching for scripts for changed device: Memory Usage
LUA: Found otherdevices_utility adding this as a possible attribute
LUA: Found otherdevices_svalues adding this as a possible attribute
LUA: Found otherdevices_humidity adding this as a possible attribute
LUA: Found otherdevices_idx adding this as a possible attribute
LUA: Found otherdevices_dewpoint adding this as a possible attribute
LUA: Found otherdevices_temperature adding this as a possible attribute
LUA: Found otherdevices_lastupdate adding this as a possible attribute
LUA: Event in devicechanged: CPU_Usage value:
LUA: Searching for scripts for changed device: CPU_Usage
LUA: Event in devicechanged: CPU_Usage_Utility value: 1.4700000286102
LUA: Searching for scripts for changed device: CPU_Usage
LUA: Found otherdevices_utility adding this as a possible attribute
LUA: Found otherdevices_svalues adding this as a possible attribute

Bien maintenant que ça marche , continuons.

Si cela ne fonctionne pas vérifiez bien votre arborescence /domoticz/scripts/lua/dzevent avec le fichier de settings dans /lua

Mon premier script dzVents

Créons notre premier script :

Récupérez le nom exact d’un de vos switchs ici un capteur PIR nommé ‘Présence’ puis copiez ce script dans le dossier scripts (/domoticz/scripts/lua/scripts). Nommez le comme bon vous semble ici test.lua

Le script envoie une notification et affiche un message dans le log Domoticz lors de son passage à ON et envoie une notification lors du passage à OFF.

return {
    active = true,
    on = {
        'Présence'
    },
    execute = function(domoticz, switch)
        if (switch.state == 'On') then
            domoticz.notify('Alerte!', 'Capteur Presence à ON!',
            domoticz.PRIORITY_NORMAL)
         domoticz.log ('il y qq ds le salon')
        else
            domoticz.notify('Fin d'alerte', 'Plus rien à signaler',
            domoticz.PRIORITY_NORMAL)
        end
    end
}

le log affiche alors (en mode 3)

LUA: Found otherdevices_temperature adding this as a possible attribute
LUA: Found module in /home/pi/domoticz/scripts/lua/scripts folder: test
LUA: Event in devicechanged: Présence value: On
LUA: Searching for scripts for changed device: Présence
LUA: Handling events for: "Présence", value: "On"
LUA: =====================================================
LUA: >>> Handler: test
LUA: >>> Device: "Présence" Index: 157
LUA: .....................................................
LUA: il y a qq ds le salon
LUA: .....................................................
LUA: <<< Done
LUA: -----------------------------------------------------
LUA: [1] = SendNotification: Alerte!#Capteur Presence à ON!#0#pushove
LUA: =====================================================
Notification sent (email) => Success
Notification sent (http) => Success
EventSystem: Script event triggered: /home/pi/domoticz/scripts/lua/script_device_main.lua
2016-03-28 14:42:45.330 (Z-Stickusb11) Light/Switch (Présence)

Voila, après cette première étape nous découvrirons d’autres fonctionnalités dans de prochains articles.

P.S : il y a un dossier examples dans le dossier dzVents contenant quelques fichiers exemple, n’hésitez pas à les ouvrir pour vous en inspirer.

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/

Connecter un Raspberry directement à mon PC Windows

Après quelques semaines sans nouveaux articles sur le blog cause changement de boulot, plantages, changement de serveurs … reprenons un rythme plus habituel de publication par un tuto tout simple :

Comment connecter mon Raspberry, en IP fixe, directement à mon PC Windows par un simple câble réseau sans routeur,box…; comme ceci :

raspberry_connexion_directe

Matériel :

Un raspberry, son alimentation, une carte SD avec une distribution Linux dessus (c.f https://easydomoticz.com/domotique-comment-debuter/installation-de-domoticz-sur-raspberrylinux-debian/

Nous prendrons ici l’exemple de Raspbian.

Un câble réseau RJ45  NORMAL (droit) bien que les cartes réseau actuelles savent aussi utiliser les câbles croisés.

Tout d’abord nous devrons trouver une ip compatible avec notre PC puis modifier un fichier Linux pour donner l’adresse IP fixe.

Quelle IP donner à mon Raspberry ?

Etant donné que votre PC Windows n’est connecté à rien sur sa prise réseau RJ45, Windows à donné à cette interface réseau une adresse automatique commençant par 169.X.X.X  dite APIPA.

Ouvrons un terminal et jettons un œil à ipconfig à la ligne de la carte ethernet et non pas du Wifi.

ipconfig_windows

Ici mon PC Windows à l’adresse IP 169.254.16.146. Il faut que je donne à mon Raspberry une IP compatible, je choisis 169.254.16.147

Vous devez donner une IP en ne changeant QUE la dernière valeur (147) que vous devez adapter à votre configuration.

Configuration du fichier cmdline.txt :

Notez bien que la manip documentée pour une connexion avec Windows est valable pour n’importe quel système d’exploitation du moment que vous savez quelle ip à été donnée à votre RJ45.

Je ne décris ici que la mise en place avec un PC Windows.

Une fois votre image « gravée » sur votre carte SD, ouvrez un explorateur de fichiers, allez sur votre carte SD puis trouvez le fichier cmdline.txt, recopiez le au cas ou cela se passerait mal en cmdline.old puis ouvrez le cmdline d’origine

 

cmdline raspberry

Vous y trouvez quelque chose comme :

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

et AU BOUT DE CETTE LIGNE vous ajoutez ip=l’ip choisie plus haut sans retour à la ligne

dwc_otg.lpm_enable bla bla bla .... elevator=deadline rootwait ip=169.254.16.147

PAS DE TOUCHE ENTREE, DE RETOUR CHARIOT, DE TABULATION, c’est juste ESPACE ip=xxxx.xxxx.xxxx.xxxx

Sauvegardez vos modifs, éjectez proprement votre carte SD, insérez la dans le Raspberry, branchez le câble réseau et l’alim et patientez quelques secondes le temps du démarrage du Raspberry.

Un ping vers votre adresse vous confirmera que tout est correct, vous pouvez utiliser putty,mremote, un navigateur web pour aller vers votre nouvelle connexion.

Dans le cas ou cela ne fonctionne pas , retirez la carte SD, inserez la sur une autre machien et examinez la ligne en question.

Dans le pire des cas supprimez cmdline.txt et renommez cmdline.old en cmdline.txt puis refaites les manips.

Cette configuration prend le pas sur celle de /etc/network/interfaces.

Bien entendu la technique de /etc/networks/interfaces et toujours possible, celle ci est simple dans le cas ou aucune connexion vers une box n’est nécessaire.

Bien entendu on peut installer un serveur DHCP sur la machine Windows pour notre Raspberry, mais c’est une autre aventure…

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/

Notifications Radio

La lecture d’un article de Korben http://korben.info/fabriquer-emetteur-fm-pirate-avec-raspberry-pi.html  et le tuto associé http://www.framboise314.fr/le-raspberry-pi-comme-emetteur-fm-experimental/  m’avaient donné l’idée de faire quelque chose entre Domoticz et la bande FM.

Les nouveaux Raspberry (B+/Pi2) ne supportent plus de cette façon cette technique.

Plus qu’un tuto détaillé , c’est juste l’idée que je voulais présenter aujourd’hui pour le fun.

Évidement  cette émission (qui risque de perturber les récepteurs voisins et d’empêcher les auditeurs du voisinage d’écouter leur station préférée) ne pourra être que de très courte durée et uniquement pour tester cette possibilité offerte par notre framboise314. Les normes d’émission dans la bande FM et la réglementation sont très strictes et il faut absolument éviter de vous mettre hors la loi. Les fréquences sont définies par le CSA et la bande FM est quasiment saturée. Lisez cet article de loi avant de vous lancer… (Merci Framboise314)

Et pour peu que vous ayez le GPIO 4 de disponible, et une fois appliqué le tuto en question c’est un jeu d’enfant de déclencher un

sudo ./pifm alerte.wav 103.0
sudo ./pifm porte.wav 103.0

en fonction d’un état de Domoticz via Lua, bash …

Même si la portée n’est pas très grande , cela permet de diffuser quelque chose, jusqu’au fond du jardin

Pour toute question technique concernant cet article, veuillez utiliser les forum situés à https://easydomoticz.com/forum/