10. Utilisation du Yocto-Serial en PHP
10.3. Contrôle de la partie module
Chaque module peut-être contrôlé d'une manière similaire, vous trouverez ci dessous un simple
programme d'exemple affichant les principaux paramètres d'un module et permettant d'activer la
balise de localisation.
<HTML>
<HEAD>
<TITLE>Module Control</TITLE>
</HEAD>
<BODY>
<FORM method='get'>
<?php
include('yocto_api.php');
// Use explicit error handling rather than exceptions
YAPI::DisableExceptions();
// Setup the API to use the VirtualHub on local machine
if(YAPI::RegisterHub('http://127.0.0.1:4444/',$errmsg) != YAPI::SUCCESS) {
die("Cannot contact VirtualHub on 127.0.0.1 :
}
@$serial
= $_GET['serial'];
if
($serial
!= '') {
// Check if a specified module is available online
$module
= YModule::FindModule("$serial");
if (!$module->isOnline()) {
die("Module not connected (check serial and USB
}
} else {
// or use any connected module suitable for the demo
$module
= YModule::FirstModule();
if($module) {
$module
}
if(is_null($module)) {
die("No module connected (check USB
} else {
$serial
}
}
Print("Module to use: <input name='serial'
if (isset($_GET['beacon'])) {
if ($_GET['beacon']=='ON')
$module->set_beacon(Y_BEACON_ON);
else
$module->set_beacon(Y_BEACON_OFF);
}
printf('serial:
printf('logical name:
printf('luminosity:
print('beacon:
');
if($module->get_beacon() == Y_BEACON_ON) {
printf("<input type='radio' name='beacon' value='ON' checked>ON
printf("<input type='radio' name='beacon'
} else {
printf("<input type='radio' name='beacon' value='ON'>ON
printf("<input type='radio' name='beacon' value='OFF'
}
printf('upTime: %s
printf('USB current:
printf('logs:<br><pre>%s</pre>',$module->get_lastLogs());
YAPI::FreeAPI();
?>
<input type='submit' value='refresh'>
</FORM>
</BODY>
</HTML>
Chaque propriété
xxx
propriétés qui se sont pas en lecture seule peuvent être modifiées à l'aide de la méthode
Pour plus de détails concernant ces fonctions utilisées, reportez-vous aux chapitre API
()
68
// skip VirtualHub
= $module->nextModule();
= $module->get_serialnumber();
%s<br>',$module->get_serialNumber());
%s<br>',$module->get_logicalName());
%s<br>',$module->get_luminosity());
sec<br>',intVal($module->get_upTime()/1000));
%smA<br>',$module->get_usbCurrent());
du module peut être lue grâce à une méthode du type
".$errmsg);
cable)");
cable)");
value='$serial'><br>");
value='OFF'>OFF<br>");
");
checked>OFF<br>");
");
, et les
get_xxxx()
set_xxx
www.yoctopuce.com