Outils pour utilisateurs

Outils du site


app:owncloud:apps:sensorlogger

Sensorlogger owncloud

Installation

  • Via le market, installer l'application sensorlogger
  • Via l'interface d'administration activer l'application sensorlogger

Test

Pour qu'un périphérique ou un script (application) puisse accéder au compte utilisateur owncloud, il faut lui générer un mot de passe. Depuis le compte utilisateur, menu Paramètres, dans le panneau gauche sélectionner le l'option Sécurité. Dans la section Mots de passe d'applications saisir un nom pour le test et cliquer sur le bouton Créer un nouveau mot de passe d'application, copier le mot de passe et valider. Une nouvelle entrée autorise l'application a se connecter.

Le script

Le script de test ci-dessous est une copie de celui mis à disposition sur le git de l'application sensorlogger https://github.com/alexstocker/sensorlogger/blob/master/tests/curl/post.php

post.php
<?php
	$url = 'http://owncloud.loc/index.php/apps/sensorlogger/api/v1/createlog/';
	$humidity = mt_rand (1.00*10, 99.99*10) / 10;
	$temperature = mt_rand (-9.00*10, 49.99*10) / 10;
	$array = array("deviceId" => "666666-fe8c-11e6-bc64-92361f002671",
					"temperature" => $temperature,
					"humidity" => $humidity,
					"date" => date('Y-m-d H:i:s'));
	$data_json = json_encode($array);
	$username = 'test';
	$token = 'HTFQO-WCNSR-UDEVJ-EPLYE';
	$ch = curl_init();
	curl_setopt($ch, CURLOPT_URL, $url);
	curl_setopt($ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json'));
	curl_setopt($ch, CURLOPT_USERPWD, $username . ":" . $token);
	curl_setopt($ch, CURLOPT_POST, 1);
	curl_setopt($ch, CURLOPT_POSTFIELDS,$data_json);
	curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
	$response  = curl_exec($ch);
	if($response === false){
		echo('Error: ' . curl_error($ch));
	}
	else{
        	echo('Operation successful');
	}
	curl_close($ch);
?>

Modifier les valeurs des variables $url, $username et $token pour les faire correspondre au paramètres de l'instance.

Pour que le script puisse s’exécuter, installer php et le module curl:

$ sudo apt-get install php php-curl

Lancer le script manuellement:

 

Si tout fonctionne normalement, le script retourne le message Operation Successful. Sous le compte utilisateur, sélectionner l'application Sensorlogger, puis dans le panneau gauche l'option List

Exécuter régulièrement le script via un cron, ici toutes les minutes:

# m h  dom mon dow   command
* * * * * php /home/yoann/bin/post.php

Références

app/owncloud/apps/sensorlogger.txt · Dernière modification : 2021/02/01 21:51 de 127.0.0.1