树莓派网页显示温度

这里的实现基于前边的两篇文章:

树莓派Nginx+php+sqlite 

树莓派DS18b20

 

多片工作取平均值图:

(4.7k电阻拉数据)

PHP代码:

//index.php
<?php //传感器列表 $ds18b20_name = array('28-000004407408','28-000002cd74ae','28-000002cd7ecc'); //假设全部传感器正常 $ds18b20_total = count($ds18b20_name); //采集ds18b20数据 for($i=0;$i<$ds18b20_total;$i++){ $shell = exec('cat /sys/bus/w1/devices/'.$ds18b20_name[$i].'/w1_slave'); $temperatures[$i] = array_pop(explode('=',$shell))/1000; } //标记 $flag = 0; //遍历传感器数据 foreach($temperatures as $temperature){ $flag++; //故障检测 if($temperature==0){ //输出故障传感器 echo '第'.$flag.'个传感器存在故障</br>'; //剔除故障传感器 $ds18b20_total--; }else{ //输出传感器温度 echo '第'.$flag.'个传感器值:'.$temperature.' ℃</br>'; } } //输出正常传感器及平均值 echo '</br>有效传感器 '.$ds18b20_total.' 个 ,'.'平均:'.round(array_sum($temperatures)/$ds18b20_total,4).' ℃。'; ?>

 浏览器查看数据:

(注意:IP地址为树莓派实际ip。)

posted @ 2014-06-09 20:06  hiwjy  阅读(1973)  评论(1编辑  收藏  举报