projets:poelepelletdomotique

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

projets:poelepelletdomotique [2016/12/08 11:50] – [Neuvième étape - Installation et configuration du logiciel d'enregistrement des mesures de température] mpenyprojets:poelepelletdomotique [2017/12/21 19:13] (Version actuelle) – modification externe 127.0.0.1
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://github.com/Freeboard/freeboard.git   git clone https://github.com/Freeboard/freeboard.git
   cd freeboard   cd freeboard
Ligne 163: Ligne 163:
   sudo npm install -g grunt-cli   sudo npm install -g grunt-cli
   grunt   grunt
 +</sxh>
   * 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/thirdparty/   cd plugins/thirdparty/
   wget https://raw.githubusercontent.com/alsm/freeboard-mqtt/master/paho.mqtt.plugin.js   wget https://raw.githubusercontent.com/alsm/freeboard-mqtt/master/paho.mqtt.plugin.js
 +</sxh>
   * 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 ~/freeboard/lib/js/thirdparty/   cd ~/freeboard/lib/js/thirdparty/
   wget http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.javascript.git/plain/src/mqttws31.js   wget http://git.eclipse.org/c/paho/org.eclipse.paho.mqtt.javascript.git/plain/src/mqttws31.js
 +</sxh>
   * Modifie ''paho.mqtt.plugin.js'' de la manière suivante :   * Modifie ''paho.mqtt.plugin.js'' de la manière suivante :
 +<sxh javascript; gutter: true>
   (function()   (function()
   {   {
Ligne 188: Ligne 188:
   "/lib/js/thirdparty/mqttws31.js"   "/lib/js/thirdparty/mqttws31.js"
   ],   ],
-  +</sxh>  
 Modifie ''/lib/js/thirdparty/mqttws31.js'' en fonction de la racine du site en question, on verra juste après comment procéder. Modifie ''/lib/js/thirdparty/mqttws31.js'' en fonction de la racine du site en question, on verra juste après comment procéder.
  
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'autres expériences, avec apache, par exemple. On installe donc nginx :   * Maintenant nous allons installer un serveur web, j'ai choisi nginx car il est très performant sur RPI, libre à toi de tenter d'autres expériences, avec apache, par exemple. On installe donc nginx :
 +<sxh bash; gutter: false>
   sudo aptitude install nginx   sudo aptitude install nginx
-  +</sxh>
 Ensuite, nous allons paramétrer le serveur nginx en modifiant ''/etc/nginx/site-enabled/default'' de cette façon : Ensuite, nous allons paramétrer le serveur nginx en modifiant ''/etc/nginx/site-enabled/default'' de cette façon :
  
Ligne 213: Ligne 213:
  
   * Il ne nous reste plus qu'à copier le répertoire ''~/freeboard'' dans ''/var/www'' et à redémarrer le RPI :   * Il ne nous reste plus qu'à copier le répertoire ''~/freeboard'' dans ''/var/www'' et à redémarrer le RPI :
 +<sxh bash; gutter: false>
   sudo cp -r ~/freeboard /var/www   sudo cp -r ~/freeboard /var/www
   sudo reboot   sudo reboot
 +</sxh>
   * Il va aussi falloir mettre à jour le broker MQTT afin qu'il supporte les websockets :   * Il va aussi falloir mettre à jour le broker MQTT afin qu'il supporte les websockets :
 +<sxh bash; gutter: false>
   wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key   wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
   sudo apt-key add mosquitto-repo.gpg.key   sudo apt-key add mosquitto-repo.gpg.key
Ligne 225: Ligne 225:
   sudo aptitude update   sudo aptitude update
   sudo aptitude upgrade mosquitto   sudo aptitude upgrade mosquitto
 +</sxh>
 Modifier le fichier de configuration de Mosquitto pour qu'il prenne en charge les websockets : Modifier le fichier de configuration de Mosquitto pour qu'il prenne en charge les websockets :
  
Ligne 233: Ligne 233:
      
 Redémarrez le serveur ou le RPI : Redémarrez le serveur ou le RPI :
 +<sxh bash; glutter: false>
   sudo service mosquitto stop   sudo service mosquitto stop
   sudo service mosquitto start   sudo service mosquitto start
 +</sxh>
   * Maintenant nous pouvons créer notre dashboard en utilisant directement le serveur MQTT ! Pratique, et beaucoup plus élégant que la précédente solution. Crée alors le freeboard comme tu le souhaites en utilisant le plugin MQTT pour les Datasources.   * Maintenant nous pouvons créer notre dashboard en utilisant directement le serveur MQTT ! Pratique, et beaucoup plus élégant que la précédente solution. Crée alors le freeboard comme tu le souhaites en utilisant le plugin MQTT pour les Datasources.
    
Ligne 263: Ligne 263:
 </sxh> </sxh>
   * Paramétre tout ce qui est relatif au serveur mysql :   * Paramétre tout ce qui est relatif au serveur mysql :
-  +<sxh bash; gutter: false>
   sudo gem install mysql   sudo gem install mysql
      
   cd ~/thingspeak   cd ~/thingspeak
   cp config/database.yml.example config/database.yml   cp config/database.yml.example config/database.yml
-  mysql -u root -p +  mysql -u root -p 
 +</sxh> 
 +<sxh sql; gutter: false>
   CREATE USER 'thing'@'localhost' IDENTIFIED BY 'speak';   CREATE USER 'thing'@'localhost' IDENTIFIED BY 'speak';
   GRANT ALL PRIVILEGES ON * . * TO 'thing'@'localhost';   GRANT ALL PRIVILEGES ON * . * TO 'thing'@'localhost';
   FLUSH PRIVILEGES;   FLUSH PRIVILEGES;
   exit   exit
 +</sxh>
 Modifie config/database.yml en fonction de l'utilisateur rajouté et de son mot de passe. Puis exécute ces commandes : Modifie config/database.yml en fonction de l'utilisateur rajouté et de son mot de passe. Puis exécute ces commandes :
 +<sxh bash; gutter: false>
   bundle install   bundle install
   sudo rake db:create   sudo rake db:create
   rake db:schema:load   rake db:schema:load
 +</sxh>
   * Lance le serveur :   * Lance le serveur :
 +<sxh bash; gutter: false>
   rails server   rails server
 +</sxh>
 ===== Dixième étape - Création d'un tableau de contrôle physique ===== ===== Dixième étape - Création d'un tableau de contrôle physique =====
  
  • projets/poelepelletdomotique.1481194240.txt.gz
  • Dernière modification : 2017/12/21 19:13
  • (modification externe)