本帖最后由 li1991119 于 2015-10-17 22:16 编辑
有兴趣的朋友可以访问我的博客:http://51arduino.sinaapp.com/ 里面都是些个人总结的教程
原创文章,请勿转载!欢迎联系作者:QQ:569411680;微信:PEC_CQU;可以加群:482330203一起讨论
6357889068390342364286362.jpg (7.84 KB, 下载次数: 30)
2015-10-17 22:15 上传
教程目的:
在上个教程《Arduino Yun php sqlite数据库操作之安装准备篇》中已经配置好了Arduino Yun上的数据库,本次教程将采集的数据存储到数据库上,并且通过浏览器访问数据。
所需材料:
1、Arduino Yun板一块;
2、Arduino Yun联网,并且和计算机处于同一局域网下。
步骤:
1、首先还是上个教程讲到的在/mnt/sda1文件夹下建立一个数据库文件sensor.db,打开putty,输入:
sqlite3 /mnt/sda1/sensor.db
然后键入:生成一个sensor_data数据表
CREATE TABLE sensor_data(
id INTEGER PRIMARY KEY,
temperature VARCHAR(64),
sqlitetimestamp DATETIME DEFAULT CURRENT_TIMESTAMP
);
2、下载如下的Arduino 代码:(这里温度用随机值代替,为了方便,当然了可以直接替换成传感器读取IO口的值)
#include
void setup() {
Bridge.begin(); // Initialize Bridge
}
void loop() {
int temperature = random(0, 100);
Process p;
p.begin("/mnt/sda1/sensor.php");
p.addParameter(String(temperature)); //记住一定要转化为String类型
p.run();
delay(5000);
}
3、从上面的代码可以看到,需要一个sensor.php来将数据存储到数据库,sensor.php放在了/mnt/sda1路径下,代码为:
#!/usr/bin/php-cli
$db = new SQLite3('/mnt/sda1/sensor.db');
$query = "INSERT INTO sensor_data (temperature) VALUES( ".$argv[1]." )";//将读取到的第一个传感器的值放到sensor_data
$db->exec($query);
$db->close();
?>
6357889068391709602813779.jpg (17.98 KB, 下载次数: 30)
2015-10-17 22:15 上传
4、接下来就是显示传感器的数据了,将sensor_show.php放到/www文件夹下,代码如下
$db = new SQLite3('/mnt/sda1/sensor.db');
$results = $db->query('select * from sensor_data');
$cols = $results->numColumns();
print "
print "
";for ($i = 0; $i < $cols; $i++) {
print "
".$results->columnName($i)."";}
print "
\n";while ($row = $results->fetchArray()){
print "
";for ($i = 0; $i < $cols; $i++) {
print "
".$row[$i]."";} //end for
print "
\n";}
print "
\n";$db->close();
?>
6357889068392979186043024.jpg (17.27 KB, 下载次数: 31)
2015-10-17 22:16 上传
5、建议用谷歌Chrome浏览器,在浏览器中键入:http://你的YUN板IP/sensor_show.php你就可以看到传感器数据的表格了
6357889068394053449272270.jpg (50.44 KB, 下载次数: 26)
2015-10-17 22:16 上传
原创文章,请勿转载!欢迎联系作者:QQ:569411680;微信:PEC_CQU;可以加群:482330203一起讨论
有兴趣的朋友可以访问我的博客:http://51arduino.sinaapp.com/ 里面都是些个人总结的教程