物联网方案之“Android+Apache服务器(PHP+Mysql)+Arduino(+以太网盾板)”(四.点播客户端)

本文记录了一种物联网应用的实现,通过Android客户端、Apache服务器(PHP+MySQL)和Arduino设备进行交互。重点讲述了Apache配置的调整以解决访问权限问题,MySQL数据库的使用,以及Android应用如何使用OkHttp和Gson处理HTTP请求和JSON数据。
摘要由CSDN通过智能技术生成

记录《用于物联网Arduino 项目开发实用案例解析》第七章 物联网模式:点播客户端的实践过程(没有用ios,采用android)

一、Apache服务器部分

1.安装WampServer3.0,其中apache2.4.17……见下图

本机127.0.0.1,或者192.168.31.154都可以打开。但同一局域网的其他电脑没法打开(浏览器访问报的一直是403 Forbidden,报 You don't have permission to access / ……on this server错误),需要修改apache的配置文件。

(1)apache2.2版本

打开apache配置文件httpd.conf,找到这么一段:
<Directory />
     Options FollowSymLinks
     AllowOverride None
     Order deny,allow
     deny from all
     Satisfy all
</Directory>
然后试着把deny from all中的deny改成了allow,保存后重起了apache,然后再一测试我的网页,哈哈!居然问题就出在这,访问测试网站完全正常了。

(2)apache2.4版本

2.4+中是把Order deny,allow Deny from all两项合并为Require all denied的。好那么现在我将Require all denied改为允许状态Require all granted就ok了。

DocumentRoot "c:/wamp64/www/"

<Directory "c:/wamp64/www/">
    Options Indexes FollowSymLinks
    AllowOverride none
    Require all granted
</Directory>

二、Mysql数据库部分

WAMP安装好后,在cmd中输入mysql -h 127.0.0.1 -u root -p 19***2,就可以登录mysql数据库客户端了(root用户的密码我之前改为自己的了,初始默认为空)。show databases;查看当前系统中共有多少个数据库。use dbofcumtzd1020;使用之前建立的一个数据库。

select database();显示当前使用的是那个数据库。然后按教程方法创建parking_spots_data表并插入一条数据。

三、PHP部分(代码都放在C:\wamp64\www\smartparking文件夹中)

1.util_dbconn.php,教程中的连接方法不能用,改用mysqli_connect()函数。

<?php
	$severname="127.0.0.1";
	$dbname="dbofcumtzd1020";
	$username="root";
	$password="19***2";
	//打开到Mysql服务器的新的连接
	//$mysqli=new mysqli($severname,$dbname,$username,$password);
	$mysqli=mysqli_connect($severname,$username,$password,$dbname);

	if ($mysqli->connect_error) {
		die("[ERROR] Connection Failed:".$mysqli->connect_error);
	}

?>

2.update.php

<?php  
	include('util_dbconn.php');
	$parkingUpdate=$_GET['parkingUpdate'];
	echo "[DEBUG] Parking Update:" .$parkingUpdate. "\n";
	$currentParkingCount =1;

	if ($parkingUpdate=="OPEN") {
		$currentParkingCount=1;
	} else {
		$currentParkingCount=0;
	}

	$sql="UPDATE PARKING_SPOTS_DATA SET COUNT =$currentParkingCount";

	if (!$result=$mysqli->query($sql)) {
		# code...
		echo "[error]".mysqli_error()."\n";
		exit();
	}

	$mysqli->close();
	echo "[debug] Update Parking Spots Counter Successfully\n";
	
?>

3.getcount.php(教程中的$result->相关函数及属性不能用)


                
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值