Différences
Ci-dessous, les différences entre deux révisions de la page.
projets:poelepelletdomotique [2016/01/29 09:06] – jonathan.alibert | projets:poelepelletdomotique [2024/06/18 11:34] (Version actuelle) – modification externe 127.0.0.1 | ||
---|---|---|---|
Ligne 48: | Ligne 48: | ||
* Pour plus d' | * Pour plus d' | ||
* Pour télécharger les sources, les compiler et installer la bibliothèque : | * Pour télécharger les sources, les compiler et installer la bibliothèque : | ||
+ | <sxh [Bash]> | ||
sudo aptitude install libssl-dev | sudo aptitude install libssl-dev | ||
git clone http:// | git clone http:// | ||
Ligne 54: | Ligne 54: | ||
make | make | ||
sudo make install | sudo make install | ||
+ | </ | ||
* Ensuite, installe le serveur/ | * Ensuite, installe le serveur/ | ||
* Compile DS18B20Manager avec la commande '' | * Compile DS18B20Manager avec la commande '' | ||
Ligne 61: | Ligne 61: | ||
* La dernière phase de cette étape consiste à lancer DS18B20Manager au démarrage du RPI. On peut procéder en rajoutant '' | * La dernière phase de cette étape consiste à lancer DS18B20Manager au démarrage du RPI. On peut procéder en rajoutant '' | ||
* Entre les commandes suivantes : | * Entre les commandes suivantes : | ||
- | + | <sxh [Bash]> | |
sudo cp / | sudo cp / | ||
sudo chmod 0755 / | sudo chmod 0755 / | ||
sudo update-rc.d DS18B20Managerd defaults | sudo update-rc.d DS18B20Managerd defaults | ||
+ | </ | ||
//à faire : fournir le script// | //à faire : fournir le script// | ||
// documenter DS18B20Manager // | // documenter DS18B20Manager // | ||
Ligne 156: | Ligne 156: | ||
* Pour cela nous allons récupérer les sources de Freeboard, et générer le projet comme suit : | * Pour cela nous allons récupérer les sources de Freeboard, et générer le projet comme suit : | ||
+ | <sxh bash; gutter: false> | ||
git clone https:// | git clone https:// | ||
cd freeboard | cd freeboard | ||
Ligne 163: | Ligne 163: | ||
sudo npm install -g grunt-cli | sudo npm install -g grunt-cli | ||
grunt | grunt | ||
+ | </ | ||
* Ensuite, installe un plugin client MQTT pour Freeboard. Pour cela, procède ainsi : | * Ensuite, installe un plugin client MQTT pour Freeboard. Pour cela, procède ainsi : | ||
+ | <sxh bash; gutter: false> | ||
cd plugins/ | cd plugins/ | ||
wget https:// | wget https:// | ||
+ | </ | ||
* Ce plugin nécessite une bibliothèque js, à récupérer et à placer de de la façon suivant : | * Ce plugin nécessite une bibliothèque js, à récupérer et à placer de de la façon suivant : | ||
+ | <sxh bash; gutter: false> | ||
cd ~/ | cd ~/ | ||
wget http:// | wget http:// | ||
+ | </ | ||
* Modifie '' | * Modifie '' | ||
+ | <sxh javascript; gutter: true> | ||
(function() | (function() | ||
{ | { | ||
Ligne 188: | Ligne 188: | ||
"/ | "/ | ||
], | ], | ||
- | | + | </ |
Modifie ''/ | Modifie ''/ | ||
Ligne 198: | Ligne 198: | ||
* Maintenant nous allons installer un serveur web, j'ai choisi nginx car il est très performant sur RPI, libre à toi de tenter d' | * Maintenant nous allons installer un serveur web, j'ai choisi nginx car il est très performant sur RPI, libre à toi de tenter d' | ||
+ | <sxh bash; gutter: false> | ||
sudo aptitude install nginx | sudo aptitude install nginx | ||
- | | + | </ |
Ensuite, nous allons paramétrer le serveur nginx en modifiant ''/ | Ensuite, nous allons paramétrer le serveur nginx en modifiant ''/ | ||
Ligne 213: | Ligne 213: | ||
* Il ne nous reste plus qu'à copier le répertoire '' | * Il ne nous reste plus qu'à copier le répertoire '' | ||
+ | <sxh bash; gutter: false> | ||
sudo cp -r ~/freeboard /var/www | sudo cp -r ~/freeboard /var/www | ||
sudo reboot | sudo reboot | ||
+ | </ | ||
+ | * Il va aussi falloir mettre à jour le broker MQTT afin qu'il supporte les websockets : | ||
+ | <sxh bash; gutter: false> | ||
+ | wget http:// | ||
+ | sudo apt-key add mosquitto-repo.gpg.key | ||
+ | cd / | ||
+ | sudo wget http:// | ||
+ | sudo aptitude update | ||
+ | sudo aptitude upgrade mosquitto | ||
+ | </ | ||
+ | Modifier le fichier de configuration de Mosquitto pour qu'il prenne en charge les websockets : | ||
- | //à faire : mettre à jour le broket mqtt pour supporter | + | listener 1883 |
+ | listener 9001 127.0.0.1 | ||
+ | protocol websockets | ||
+ | |||
+ | Redémarrez le serveur ou le RPI : | ||
+ | <sxh bash; glutter: false> | ||
+ | sudo service mosquitto stop | ||
+ | sudo service mosquitto start | ||
+ | </ | ||
+ | * Maintenant nous pouvons créer notre dashboard en utilisant directement | ||
+ | |||
+ | Ensuite récupère la configuration json via SAVE FREEBOARD. | ||
+ | Un fois cela fait, copie '' | ||
+ | |||
+ | Il y a quand même un gros défaut à cette solution : un seul client à la fois peut être connecté dans la mesure où le plugin Datasource MQTT dans l' | ||
===== Huitième étape - Installation et configuration du Twitter Bot pour contrôler à distance le poêle ===== | ===== Huitième étape - Installation et configuration du Twitter Bot pour contrôler à distance le poêle ===== | ||
===== Neuvième étape - Installation et configuration du logiciel d' | ===== Neuvième étape - Installation et configuration du logiciel d' | ||
+ | |||
+ | Nous allons ici utiliser le projet ThingSpeak, projet OpenSource développé par l' | ||
+ | ]]. Tu peux aussi utiliser le service en ligne [[https:// | ||
+ | |||
+ | * Tout d' | ||
+ | <sxh bash; gutter: | ||
+ | git clone git@github.com: | ||
+ | </ | ||
+ | * Installer Ruby 2, Ruby Gems, rails 4 et un SGBD : | ||
+ | <sxh bash; gutter: false> | ||
+ | sudo aptitude install ruby2.1 rubygems rails mysql-server mysql-client libmysqlclient-dev build-essential libxml2-dev libxslt-dev | ||
+ | curl -sSL https:// | ||
+ | source / | ||
+ | rvm install 2.1 | ||
+ | source / | ||
+ | </ | ||
+ | * Paramétre tout ce qui est relatif au serveur mysql : | ||
+ | <sxh bash; gutter: false> | ||
+ | sudo gem install mysql | ||
+ | | ||
+ | cd ~/ | ||
+ | cp config/ | ||
+ | mysql -u root -p | ||
+ | </ | ||
+ | <sxh sql; gutter: false> | ||
+ | CREATE USER ' | ||
+ | GRANT ALL PRIVILEGES ON * . * TO ' | ||
+ | FLUSH PRIVILEGES; | ||
+ | exit | ||
+ | </ | ||
+ | Modifie config/ | ||
+ | <sxh bash; gutter: false> | ||
+ | bundle install | ||
+ | sudo rake db:create | ||
+ | rake db: | ||
+ | </ | ||
+ | * Lance le serveur : | ||
+ | <sxh bash; gutter: false> | ||
+ | rails server | ||
+ | </ | ||
===== Dixième étape - Création d'un tableau de contrôle physique ===== | ===== Dixième étape - Création d'un tableau de contrôle physique ===== | ||
Ligne 273: | Ligne 338: | ||
* Compile les exemples avec '' | * Compile les exemples avec '' | ||
+ | |||
+ | ==== Problème de remplissage de la sdcard ==== | ||
+ | |||
+ | Il arrive que atd plante et remplisse la sdcard via syslog, il suffit d' | ||
--- // | --- // |