Calaos-OS est un système d'exploitation basé sur Linux et Yocto/OpenEmbedded. Il comprend toutes les couches logicielles nécessaires au fonctionnement d'une installation domotique Calaos.
Les paquets logiciels disponibles sont désactivés par défaut et doivent être activés au besoin.
Pour configurer Calaos-OS, il faut au préalable se connecter en SSH sur la machine.
Calaos-OS utilise systemd pour gérer les services. On peut donc activer/désactiver calaos-server ou calaos-home en utilisant les commandes:
systemctl enable calaos-server systemctl disable calaos-server
Ou bien pour calaos-home:
systemctl enable calaos-home systemctl disable calaos-home
Cette commande permet de voir le log système de tous les services. Pour voir les logs de calaos-server:
journalctl -lu calaos-server
pour voir ceux de calaos-home (moins utile mais pratique en cas de soucis):
journalctl -lu calaos-home
Calaos-OS utilise maintenant “connman” pour gérer les interfaces réseau. Il faut donc:
connmanctl services
qui affiche la liste des services réseaux, par exemple :
root@n450:~# connmanctl services *AR Wired ethernet_000bab451b09_cable *AR Wired ethernet_000bab451b08_cable
“ethernet_000bab451b08_cable” pour une connexion Ethernet, l'adresse MAC et “cable” pour une connexion filaire. La configuration manuellement se fait via les commandes suivantes. La configuration également d'un serveur DNS, dans l'exemple il s'agit de la Freebox.
connmanctl config ethernet_000bab451b09_cable --ipv4 manual 10.0.0.1 255.255.255.0 192.168.0.254 connmanctl config ethernet_000bab451b08_cable --ipv4 manual 192.168.0.100 255.255.255.0 192.168.0.254 connmanctl config ethernet_000bab451b08_cable nameservers 192.168.0.254
Pour mettre une interface avec la config en DHCP:
connmanctl config ethernet_000bab451b09_cable --ipv4 dhcp
Attention En aucun cas le serveur Calaos ne doit être mis en production en DHCP ! Techniquement cela fonctionnera via une réservation DHCP par exemple mais vous vous exposez à des problèmes à un moment ou un autre (panne de courant, panne de box Internet, doublon d'adresse IP, etc).
Remplacez le nom de l'interface réseau par celle listée lors de la première commande. Si l'interface n'est pas “active” par défaut, utilisez la commande:
connmanctl connect ethernet_000bab451b08_cable connmanctl connect ethernet_000bab451b09_cable
!! Documentation non terminée !!
Le premier lancement du service calaos va créer automatiquement les fichiers de configuration dans /etc/calaos.
systemctl start calaos-server
Le fichier important est /etc/calaos/local_config.xml qui comporte le nom et mot de passe par défaut “user” et “pass”.
<?xml version="1.0" encoding="UTF-8" ?> <calaos:config xmlns:calaos="http://www.calaos.fr"> <calaos:option name="show_cursor" value="true" /> <calaos:option name="dpms_enable" value="false" /> <calaos:option name="smtp_server" value="" /> <calaos:option name="cn_user" value="user" /> <calaos:option name="cn_pass" value="pass" /> <calaos:option name="longitude" value="2.322235" /> <calaos:option name="latitude" value="48.864715" /> </calaos:config>
Ils peuvent être changés par les commandes:
calaos_config set cn_user user calaos_config set cn_pass pass
Pour configurer les options propres à calaos (comme le nom d'utilisateur, le mot de passe, etc.), il faut utiliser calaos_config.
On peut utiliser un écran tactile RS232 soit par un port RS232 présent sur la machine, soit en utilisant un convertisseur Serie<>USB. On peut utiliser des convertisseurs compatibles Linux tels que: http://www.ldlc.com/fiche/PB00144601.html
Pour faire fonctionner le port série, il faut activer un service avec systemd:
Avec un adaptateur Serie<>USB:
systemctl enable usb-serial-touchscreen@ttyUSB0
Avec un port série classique:
systemctl enable usb-serial-touchscreen@ttyS0
Une fois la configuration activée, il faut redémarrer la machine pour que tout soit chargé au démarrage correctement.
Un écran tactile USB sera automatiquement détecté dès son branchement. S'il ne fonctionne pas automatiquement, cela signifie que le driver est manquant.
Pour calibrer l'écran, il faut lancer la commande suivante:
DISPLAY=:0 xinput_calibrator
Puis aller sur l'écran et appuyer sur les points demandés. Une fois que c'est fait, il faut retourner dans la console et voir les valeurs qui sont affichées.
Il faut ensuite créé un fichier 90-calib.conf avec le contenu suivant:
Section "InputClass" Identifier "calibration" MatchProduct "XXXXXXXX" Option "Calibration" "YYYYYYYYY" Option "SwapAxes" "0" EndSection
Les valeurs XXXX et YYYY doivent être remplacées par celles données par xinput_calibrator.
Une fois le fichier créé, il faut le placer dans /usr/share/X11/xorg.conf.d/90-calib.conf
A partir de la v3.0, le fichier 90-calib.conf peut être directement écrit grâce à la commande suivante:
DISPLAY=:0 xinput_calibrator --output-filename /usr/share/X11/xorg.conf.d/90-calib.conf
Puis redémarrer la machine.
Après l'installation, il faudra aussi régler l'heure. Pour cela il faut paramétrer le fuseau horaire qui correspond au votre. Par defaut, le fuseau horaire GMT est utilisé et celui-ci est représenté par le fichier /etc/localtime
Par exemple, pour configurer sur le fuseau horaire francais (Paris):
ln -sf /usr/share/zoneinfo/Europe/Paris /etc/localtime
Pour vérifier la date et l'heure courante, il faut utiliser la commande suivante:
root@nuc:~# date Wed Sep 1 12:48:23 CEST 2014
La date et l'heure sont par defaut configurées pour se mettre a jour automatiquement via NTP. Le serveur calaos.fr est utilisé comme serveur de temps (configuré dans le fichier /etc/ntp.conf). Il est possible de le changer s'il ne convient pas a votre localisation (calaos.fr étant situé en France).
La mise à jour de l'horloge se fait automatiquement par le service ntp, mais il est également possible de forcer la mise à jour de l'horloge via NTP. Cela se fait de cette manière:
systemctl stop ntpd ntpd -gq systemctl start ntpd
ou pour forcer une date et une heure, par exemple:
systemctl stop ntpd date -s 2015.09.08-12:59:00
Pour changer la position géographique de votre maison et pouvoir profiter de la fonction lever/coucher du soleil, les commandes sont:
calaos_config set latitude xx.xxxx calaos_config set longitude yy.yyyy
Remplacer les X et Y par les coordonnées de votre maison. Vous pouvez utiliser ce site Coordonnees GPS pour obtenir les coordonnées exactes de votre localisation.
Il est possible à partir de la beta4, de changer la langue de calaos_home. Pour cela, il faut se connecter en SSH et utiliser la commande suivante (pour le francais):
root@nuc:~# localectl set-locale LANG="fr_FR.UTF-8" root@nuc:~# localectl set-keymap fr root@nuc:~# localectl set-x11-keymap fr
Puis vérifier avec:
root@nuc:~# localectl System Locale: LANG=fr_FR.UTF-8 VC Keymap: fr X11 Layout: fr
Pour faciliter les tests avant la version finale de Calaos-OS, le curseur de la souris (rond) est visible par défaut. Il est possible de le désactiver ou non grâce à la commande:
calaos_config set show_cursor false
Sur évènement, Calaos peut envoyer des emails, pour cela il faut que le réseau soit fonctionnel. Il est simple de le tester avec, par exemple, la commande ping:
ping google.fr PING google.fr (74.125.206.94): 56 data bytes 64 bytes from 74.125.206.94: seq=0 ttl=45 time=37.426 ms 64 bytes from 74.125.206.94: seq=1 ttl=45 time=37.084 ms 64 bytes from 74.125.206.94: seq=2 ttl=45 time=39.349 ms
La réponse indiquant un délai de réponse, le réseau fonctionne bien jusque sur Internet. Parfait, sinon revoir votre configuration. La configuration du serveur SMTP sera spécifique en fonction de votre opérateur:
Abonnés Free, depuis chez vous, sans authentification:
calaos_config set smtp_server smtp://smtp.free.fr calaos_config set smtp_port 25 calaos_config set smtp_auth false
Ces options seront visibles dans /etc/calaos/local_config.xml. Il est possible de tester l'envoi d'un email via la commande:
calaos_mail --from votre_adresse@free.fr --to votre_email@free.fr --subject TEST --body TEST --verbose
Si tout va bien, vous pouvez envoyer des emails depuis Calaos.
A partir de la v3.0, un outil de migration est présent. Il permet de faciliter la mise à jour de calaos-os sur les machines ou il est possible de démarrer sur une clé USB. L'outil est capable de récupérer la configuration complète de la machine (config calaos, calibration de l'écran tactile, config réseau connman, etc…) depuis une version installée sur un disque dur interne. Les versions 2 et supérieurs de calaos-os sont supportées.
calaos_migrate.sh