La domotique lowcost et libre avec Arduino

L’idée est d’allumer/éteindre un appareil à distance, lampe, radiateur, ordinateur, moteur, gâche, prise électrique. Manuellement ou automatiquement en fonction de la température, luminosité, distances, poids, etc.

IMG_0037

En USB avec un raccourcis sur le bureau, ou par le navigateur, depuis un téléphone, Arduino permet de contrôler facilement un module de plusieurs relais chez sois sans être expert en programmation. Les tutoriaux foisonnent sur les moteurs de recherche.

 

Quelques applications pratiques facilement réalisable :

Allumer radiateur/chaudière via son téléphone
Arrêter la pompe quand il n’y a plus d’eau dans une cuve
Envoyer un SMS si la température dépasse un seuil
Faire avancer la voiture si il n’y a pas d’obstacles devant

Les descriptions des différentes sondes viendront prochainement

 

Quelques exemples :

Controler un relais avec le port USB pour quelques euros

Code de la carte

int redPin = 2; // Red LED connected to digital pin 12
int incomingByte = 0; // for incoming serial data // Green LED connected to digital pin 11

void setup() // run once, when the sketch starts
{
pinMode(redPin, OUTPUT);
digitalWrite(redPin, HIGH);
Serial.begin(9600);
}

void loop() // run over and over again
{

// send data only when you receive data:
if (Serial.available() > 0) {
// read the incoming byte:
incomingByte = Serial.read();

// say what you got:
Serial.print(« I received: « );
Serial.println(incomingByte, DEC);
//digitalWrite(redPin, LOW);

//Quand j’appuye sur A
//Quand j’appuie sur Z
if(incomingByte==122)digitalWrite(redPin, LOW);
if(incomingByte==97)digitalWrite(redPin, HIGH);

}

}

Raccourcis des commandes sur le bureau grâce à Powershell :

Code powershell dans un fichier toto.ps1

$port= new-Object System.IO.Ports.SerialPort COM11,9600,None,8,one; $port.open(); $port.Write(‘a’); $port.Close()

Controler un relais par le réseau pour quelques dizaines d’euros

Exemples :
http://mondommaine.fr/5/1 -> Allume le relais 5
http://mondommaine.fr/5/0 -> Etein le relais 5

Contrôler un relais automatiquement avec des capteurs de température, de luminisité, son, distance, temportisation, etc pour quelques euros

Fabriquer son NAS ou son serveur domestique

Sauvegardes, partages de données, hébergement, serveur d’impression, domotique… avoir un serveur domestique aujourd’hui est devenu incontournable, et en se débrouillant bien, ça ne coute rien ou vraiment pas grand chose.

IMG_0035

Chez nous le serveur domestiques est sous le banc dans l’entrée 🙂

A partir d’un E-PC

Ces petits ordinateurs portables étaient souvent trop lent pour une utilisation quotidienne correcte, du coup les gens s’en sépare assez facilement alors que ce sont des très bonnes bases pour notre serveur domestique

Les points forts :

Consomme peu d’électricité (souvent moins de 10 watt comptez 10€ d’électricité par ans)
Ne chauffe pas trop (Plus durable)
Tient longtemps sur batterie (Pas de redémarrage en cas de coupures de courant)
Peu bruyant (et çà a la maison c’est important)

Les point négatifs :

Qu’un seul disque dur > Prévoir un disque supplémentaire en USB pour des sauvegardes automatique.

Avec le disque interne + un disque externe, il est possible d’avoir 1 Tera de données sécurisées. On « imitera » un raid1 en automatisant une synchronisation entre les disques une foi par jours, toutes les nuits tout est sauvegardé, et si on supprime un fichier par mégarde, il est encore dans la sauvegarde de la veille.

Pour ajouter des disques durs externe sur des serveurs, il est conseillé d’avoir des petits formats qui sont auto-alimenté, car les alims externes de ces disques durs ne sont pas faites pour tenir 24h/24, les transfo claqueront au bout de quelques mois.

Sur une base Windows, XP, 7, 8, 10… réinstallez le système pour partir d’une base vierge, vous pouvez utiliser une version home, startup, mais pour avoir une gestion avancée des utilisateurs vous devrez mettre une version Pro. (Sur un serveur pas besoin d’activation)

Le petit-serveur doit être branché à la box par un cable réseau (bon vieux RJ45)

Dans les paramètres de mise en veille, mettez « Ne rien faire » quand je referme le capot

Le capot fermé permet d’éteindre l’écran et consommer moins d’électricité

 

Les logiciels à installer

Windows > Le système de base intègre un partage de fichier correct pour un partage de donnée sur une réseau locale uniquement, entre tous les appareils de dans la maison.

WAMP > Je conseille encore la 2.0, c’est la suite complète pour un serveur WEB, Apache, Mysql, PHP.

Attention ! La racine web que vous choisirez devrait être différente des dossiers de partage domestique, vous comprendrez que ce qui se trouve dans le dossier c:\wamp\www (par défaut)  sera accessible publiquement.

Si vous souhaitez créer un cloud privé et que des utilisateurs puisse avoir accès a vos données personnelles (partager les photos par exemple) vous pouvez utiliser un « PHP File Navigator », chercher des tutos pour l’installer sur votre Wamp, ça fonctionne très bien. Cherchez également des tutos pour activer le https si vous souhaitez que le transfer soit sécurité

Filezilla Server > Si vous voulez un serveur FTP

CRON > Pour exécuter des tâches comme des sauvegardes automatiques sur des supports  externes, la commande magique : robocopy d:\ f:\ /MIR

Rendre accessible votre serveur depuis internet

Ne continuez que si vous savez ce que vous faites, depuis les paramètres avancés de votre box, redirigez les ports 80 et 443 TCP vers l’adresse IP locale de votre serveur.

Obtenir un Hostname  : monsuperserveur.ddns.net

Vous pouvez créer une adresse qui sera redirigé chez vous. Pour cela je vous recommande https://www.noip.com/ qui est gratuit. Vvous créez un compte, choisissez une adresse, et installez le client (DUC) sur votre serveur si votre IP change régulièrement .

Si votre FAI vous offre une IP fixe (Free pour ne pas le nommer) c’est magnifique, vous n’avez rien à installer

Si vous souhaitez un domaine à vous (chezmoi.com) et que vous avez une IP Fixe, vous pouvez acheter un domaine chez OVH pour une dizaine d’euros par ans et mettre votre adresse IP en zone DNS