物联网后台管理
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

103 lines
2.6 KiB

<?php
namespace app\common\YingShiSdk;
class YingShiSdk
{
/**
* accessToken
* @var string
*/
protected static $accessToken = 'at.2ym6lk525ytwzdj5b401etyx910qjm87-6f0brt6m6g-0pxk61a-qiocb8src';
/**
* 设备ID
* @var string
*/
protected static $deviceSerial = 'BB6305392';
/**
* 获取设备状态信息
* @return mixed|string
*/
public static function DeviceStatus()
{
$url = 'https://open.ys7.com/api/lapp/device/status/get';
$curlData = self::curlYingshiApi($url,self::$accessToken,self::$deviceSerial);
$err = $curlData['err'];
$response = $curlData['response'];
if ($err) return "cURL Error #:" . $err;
$jsonResponse = json_decode($response,true);
if ($jsonResponse['code'] != '200') return $jsonResponse['msg'];
return $jsonResponse['data'];
}
/**
* 获取单个设备信息
* @return mixed|string
*/
public static function DeviceInfo()
{
$url = 'https://open.ys7.com/api/lapp/device/info';
$curlDataInfo = YingShiSdk::curlYingshiApi($url,self::$accessToken,self::$deviceSerial);
$err = $curlDataInfo['err'];
if ($err) return "cURL Error #:" . $err;
$response = $curlDataInfo['response'];
$jsonResponse = json_decode($response,true);
if ($jsonResponse['code'] != '200') return $jsonResponse['msg'];
return $jsonResponse['data'];
}
/**
* 请求接口数据
* @param $url // 请求地址
* @param $accessToken // token
* @param $deviceSerial // 设备ID
* @return array
*/
public static function curlYingshiApi($url,$accessToken,$deviceSerial)
{
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "{$url}?accessToken={$accessToken}&deviceSerial={$deviceSerial}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_HTTPHEADER => [
"Content-Type: application/x-www-form-urlencoded"
],
]);
curl_setopt($curl,CURLOPT_SSL_VERIFYPEER,false);
curl_setopt($curl,CURLOPT_SSL_VERIFYHOST,false);
curl_setopt($curl,CURLOPT_SSLVERSION,0);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
return [
'err' => $err,
'response' => $response
];
}
}