Tout d’abord téléchargez ce fichier: meteo.js.(https://mega.nz/#!8IVDSLDA!dMdeRFoZuwfPlottFBo6d3joYDWb-_YXsisHcCDsmh4)
Mettez le dans une clé USB pour le copier/coller sur le bureau de votre Raspberry. Vous pouvez bien entendu le mettre dans un autre dossier prévu pour, c’est au choix.
Maintenant, ouvrez un terminal, et tapez la commande suivante:


1> sudo apt-get update -y && sudo apt-get upgrade -y && sudo reboot


votre Raspberry va redémarrer. 
Une fois redémarré on ré-ouvre le terminal, et on tape la commande suivante qui va installer Node

2> sudo aptitude install nodejs npm



Une fois l’installation finie, tapez une par une chacune des lignes ci-dessous:
3> npm start google-tts-api Le TTS  (Text To Speech) qui va permettre de traduire vos écris en voix, le lecteur en gros.

4> npm start node-schedule Le planificateur, il va permettre de lancer « les tâches » dans le bon ordre.

5> npm start play-sound Il va permettre de lire les fichier audio, pour que votre texte devienne voix !

6> npm start request il va permettre de faire exécuter les tâches planifiées.

À partir de là, l’installation de Node est finie vous pouvez déjà lancer votre bot ! Mais avant ça il faut le personnalisé, et mettre un lecteur audio TTS grâce à cette ligne de commande:
7> sudo apt-get install alsa-utils mpg123

Voila, vous avez tout ce qu’il faut pour lancer votre bot, il ne manque plus qu’a le modifier ! Pour cela, ouvrez le fichier meteo.js télécharger précédemment.

Ce n’est pas très claire pour tout le monde en effet… Je vais donc vous décrire se charabia bloc par bloc.

var request = require('request');
var player = require('play-sound')(opts = {player: "omxplayer"});
var googleTTS = require('google-tts-api');
var schedule = require('node-schedule');

var ville = 'Toulon';

Ici on déclare la variable ville, de valeur Toulon. Mettez à la place de Toulon le nom de votre ville, ou la grande ville la plus proche.

var speak = function (text, callback) {
googleTTS(text, 'fr', 1)
.then(function (url) {
player.play(url, function (err, stdout, stderr) {
callback();
});
})
.catch(function (err) {
console.error(err.stack);
});
};

Ici avec la première ligne on donne la parole au TTS, en dessous on lui indique la langue, ainsi que la vitesse de parole (vous l’aurez compris, on peut le faire parler chinois et en accélérer..)

 

schedule.scheduleJob('54 17 * * *', function(){
request({

Ici schedule exécute le bot a une heure fixe de la journée, c’est à dire 17h45 (les heures et les minutes sont inversées), modifiez l’heure qui vous convient.

request({
method: 'GET',
url: 'http://www.prevision-meteo.ch/services/json/' + ville,
headers: {
'cache-control': 'no-cache'
}

Une fois la requête effectuée à l’heure demandée, le bot va donc se connecter à l’API du site prevision-meteo. ch avec la methode GET, et sans cache.

}, function (error, response, body) {
var b = JSON.parse(body);
var name = b.city_info.name; Va cité le nom de la ville
var sunrise = b.city_info.sunrise; heure de lever du soleil
var sunset = b.city_info.sunset; coucher du soleil
var day_long = b.fcst_day_0.day_long; jour de la semaine
var tmin = b.fcst_day_0.tmin; température minimum de la journée
var tmax = b.fcst_day_0.tmax; température maximum de la journée
var condition = b.fcst_day_0.condition;  et enfin les conditions météorologique de la journée !

Comme vous le voyez, ici chaque variante décrira une information.

speak("Bonjour Guillaume, nous sommes " + day_long + ".", function () {
speak("Aujourd'hui, à " + name + ", le temps sera " + condition + " avec une température minimum de " + tmin + "° et une température maximum de " + tmax + "°.", function () {
speak("Le soleil se lèvera à " + sunrise + " et se couchera à " + sunset + ".", function () {
speak("Bonne journée à tous !", function () {
console.log('La météo a été récitée !');
});
});
});
});
});
});

Ici vous avez la partie à personnaliser ! Vous pouvez modifier les phrases entre guillemet, pour y rajouter votre prénom, ou alors le nom de votre chat, ainsi que la fin de la phrase qui pourrait vous dire « bonne courage pour le boulot ! ». Et vous pouvez même continuer à le faire parler pour rien. Les possibilités sont infinies. Enfin, la dernière ligne vous indique ce que la console (le terminal) devra affichée une fois la météo énoncée. Si vous voyez la phrase entre guillemet dans le terminal, c’est que la météo a était annoncée !

Voila, il ne vous reste maintenant qu’à enregistrer le fichier (Fichier > Enregistrer), puis ouvrir le terminal, et à taper ces deux commandes:

cd Bureau à la place de Bureau, indiquez l’endroit où vous avez placé votre fichier météo.js Si vous ne l’avez pas mis sur le bureau
nodsjs meteo.js On demande enfin l’exécution de nodejs, puis du fichier meteo.js

Vous n’avez plus qu’à attendre l’heure indiquée dans le fichier ! Donc n’hésitez à mettre une heure proche pour faire vos essais !

