2017 © Pedro Peláez
 

library laravel-onenet

laravel onenet extension

image

boneq/laravel-onenet

laravel onenet extension

  • Sunday, November 12, 2017
  • by boneq
  • Repository
  • 1 Watchers
  • 3 Stars
  • 13 Installations
  • PHP
  • 1 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 0 % Grown

The README.md

Laravel-onenet

注意:会使用到laravel中的CaChe缓存还判断重复数据,请尽量将缓存配置成nosql方式(redis等), (*1)

onenet for Laravel是用于OneNet平台数据接收的一个laravel库, (*2)

交流QQ群:320523384, (*3)

安装

  1. 安装包

使用前请先阅读OneNet开发文档, (*4)

shell composer require "boneq/laravel-onenet:1.1.0", (*5)

配置

  1. 手动注册 ServiceProvider(laravel5.5+ 版本不需要手动注册):, (*6)

    Boneq\OneNet\OneNetServiceProvider::class,
    
  2. 创建配置文件:, (*7)

    php artisan vendor:publish --provider="Boneq\OneNet\OneNetServiceProvider"
    

3.1 (可选3.2)请修改应用根目录下的 config/onenet.php 中对应的项;, (*8)

php 'token'=>env('OneNet_Token','令牌'), 'encodekey'=>env('OneNet_EncodingAESKey', '消息加解密秘钥'), 'apikey'=>env('OneNet_APIKey','设备操作中的密钥') 3.2 (可选3.1)或者在.env文件中写入下面内容 .env OneNet_Token=令牌 OneNet_EncodingAESKey=消息加解密秘钥 OneNet_APIKey=设备操作中的密钥, (*9)

  1. 添加外观到 config/app.php 中的 aliases 部分(laravel5.5+不用手动添加), (*10)

    'OneNet'=>Boneq\OneNet\Facades\OneNet::class,
    

从接收平台数据

Laravel csrf问题

  1. 在 CSRF 中间件里排除api的路由
  2. 关掉 CSRF 中间件(不推荐)

下面以接收OneNet平台推送数据例子:, (*11)

假如您的域名为 app.dev 那么请登录OneNet平台 “第三方开放平台” 修改 “URL(请填写服务器配置)” 为: http://app.dev/onenet。, (*12)

路由:, (*13)

Route::any('/onenet', 'OneNetController@onenet');

注意:一定是 Route::any, 因为OneNet平台认证的时候是 GET, 推送平台消息时是 POST, (*14)

然后创建控制器 OneNetController:, (*15)

<?php

namespace App\Http\Controllers;

use OneNet;

class OneNetController extends Controller
{
    public function serve()
    {
        $app = app('onenet');
        $server=$app->server(function($message){
            //收到服务器推送的信息数据存为日志 info为laravel日志函数
            info($message);
        });
        //必须return $server 基本平台验证就要返回数据
        return $server;
    }
}

发送数据到平台

添加终端

use OneNet;

public function addTerminal()
{
    // name 是设备名称,MQTT是设备协议
    return OneNet::add('name','MQTT');
}

返回数据, (*16)

{
    "state":true,
    "device_id":"1000000"
}

注释:添加成功返回true和设备id,失败反回false, (*17)

编辑终端

use OneNet;

public function editTerminal()
{
    // ter_id是设备id,name 是设备名称,MQTT是设备协议
    return OneNet::edit('ter_id','name','MQTT');
}

返回数据, (*18)

{
    "state":true
}

注释:编辑成功返回true,失败反回false, (*19)

删除终端

use OneNet;

public function deleteTerminal()
{
    // ter_id是设备id
    return OneNet::delect('ter_id');
}

返回数据, (*20)

{
    "state":true
}

注释:删除成功返回true,失败反回false, (*21)

向终端发送命令

use OneNet;

public function sendMessage()
{
    // ter_id是设备id,$data是json数据
    $data=['msgtype'=>'text','text'=>'4444'];
    return OneNet::send('ter_id',$data);
}

返回数据, (*22)

{
    "state":true,
    "cmd_uuid":"111111111"
}

注释:发送成功返回true,和数据的cmd_uuid,失败返回false, (*23)

升级规划

会逐步优化请求操作相关的方法, (*24)

License

MIT, (*25)

The Versions

12/11 2017

dev-master

9999999-dev

laravel onenet extension

  Sources   Download

The Requires

 

by Avatar boneq

laravel sdk iot onenet

12/11 2017

1.1.0

1.1.0.0

laravel onenet extension

  Sources   Download

The Requires

 

by Avatar boneq

laravel sdk iot onenet

20/10 2017

1.0.0

1.0.0.0

laravel onenet extension

  Sources   Download

by Avatar boneq

laravel sdk iot onenet