日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

小白学习IOT之模拟设备RRPC命令下发

發(fā)布時間:2025/3/19 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小白学习IOT之模拟设备RRPC命令下发 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

RPC通訊可以從設備向服務器端上報消息,也可以通過服務器下發(fā)命令給設備,這種通訊又叫RRPC,這次我們來介紹和實踐一下RRPC的命令通訊;
通過服務端下發(fā)命令模擬設備指示燈的開關,來測試RRPC通信。
1.由于使用阿里云的PHP的SDK,首先下載PHP的sdk:
git clone?https://github.com/aliyun/aliyun-openapi-php-sdk.git


2.編寫用戶界面的PHP文件,一個用來提供用戶選擇開燈還是關燈;

<html><meta charset='UTF-8'><title>小白學習IOT</title><p><center><head>RRPC命令下發(fā)</head><body bgcolor='gray'><hr>
<?php
echo "</p><br><p>指示燈控制:<br>";
$str = $_SERVER["QUERY_STRING"];?
echo "<form action=\"led.php\">
選擇類型:<br/>
<input type='radio' name='led' value='ON' ><img src='./ledon.jpg'/>
<input type='radio' name='led' value='OFF' checked><img src='./ledoff.jpg'/><br>
<input type='submit' value='運行'/>
</form>";
echo "</p></center>";
?>
</body></head></center></p></html>


3.再編寫一個控制開燈和關燈的PHP文件,這里用到了PHP的SDK中的core和iot兩個目錄,文件代碼如下,具體的意思為接收界面來的指示燈控制信息,然后配置好AK,SK,產品KEY,設備名稱,把控制信息通過BASE64編碼后發(fā)送給設備,最后收到設備的反饋信息,并顯示在網頁上。:

<html><meta charset='UTF-8'><title>小白學習IOT</title><p><center><head>RRPC命令下發(fā)</head><body bgcolor='gray'><hr>
<?php


echo "</p><br><p>指示燈控制:<br>";
$str = $_SERVER["QUERY_STRING"];?


if($str =="led=ON"){
????echo "<img src='./ledon.jpg'/><br>";
????$led = "ON";
}
if($str =="led=OFF"){
????echo "<img src='./ledoff.jpg'/><br>";
????$led = "OFF";
}???
include_once 'aliyun-openapi-php-sdk/aliyun-php-sdk-core/Config.php';
include_once 'aliyun-openapi-php-sdk/aliyun-php-sdk-core/AcsRequest.php';
include_once 'aliyun-openapi-php-sdk/aliyun-php-sdk-core/AcsResponse.php';
include_once 'aliyun-openapi-php-sdk/aliyun-php-sdk-core/RpcAcsRequest.php';
include_once 'aliyun-openapi-php-sdk/aliyun-php-sdk-core/IAcsClient.php';
include_once 'aliyun-openapi-php-sdk/aliyun-php-sdk-core/DefaultAcsClient.php';
include_once 'aliyun-openapi-php-sdk/aliyun-php-sdk-core/Autoloader/Autoloader.php';


include_once 'aliyun-openapi-php-sdk/aliyun-php-sdk-iot /Request/V20160104/RevertRpcRequest.php';
$iClientProfile = DefaultProfile::getProfile("cn-shenzhen",
"你自己的AK", "你自己的SK");
$client = new DefaultAcsClient($iClientProfile);
$request = new Iot\Request\V20160530\RevertRpcRequest();
$request->setProductKey(產品KEY);
$request->setDeviceName("設備名稱");//設備名稱
$request->setTimeOut(5000); //超時時間,單位毫秒.如果超過這個時間設備沒反應則返回"TIMEOUT"
$request->setRpcContent(base64_encode($led));
//推送給設備的數據.數據要求二進制數據做一次BASE64編碼.(示例里面是"helloworld"編碼后的值)
$response = $client->getAcsResponse($request);
//print_r("\r\n");
//print_r($response->RpcCode);
if(isset($response->RpcCode)){
if($response->RpcCode=='SUCCESS'){
????echo '操作成功.';
}else{
????echo '操作失敗:'.$response->RpcCode;
}
}
echo "</p></center>";
?>
</body></head></center></p></html>




4.最后,還需要在模擬設備端運行示例程序才可以正常運行:
這是查看設備端,可以看到已經接收到ON的信息了;


附件為相關編碼文件:
?lesson2-web.rar?(7 K) 下載次數:0?



timelapse 地址:
http://www.xunyun17.xyz/aliiot/lesson2/IOT-RRPC.mp4

[ 此帖被魔咒626在2017-06-14 21:33重新編輯 ] 原文鏈接

轉載于:https://www.cnblogs.com/jzy996492849/p/7017457.html

總結

以上是生活随笔為你收集整理的小白学习IOT之模拟设备RRPC命令下发的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。