概述
1 OneNET平台数据推送简介
传感器等现场数据获取后,通过NB-IOT传输到OneNET平台。第三方应用平台可以通过API、消息队列MQ和HTTP推送。
由于现场数据的发送和控制参数下发时间不规律,实时性要求比较高。拟选用HTTP推送方式进行测试。
OneNET的HTTP推送是以第三方应用平台为主服务器,OneNET平台为客户端。当OneNET平台收到最新数据,根据推送设置,建立与第三方应用平台的联系,然后通过POST传递数据。
具体详细介绍见开发文档:https://open.iot.10086.cn/doc/book/application-develop/httppush/introduce.html
2 准备
开发板:NB dongle(物联网俱乐部 www.iotclub.net)
模块:Quectel移远 BC28
固件版本:BC28JAR01A01_ONT
通信方式:NB-IOT
通信运营商:中国移动
第三方云服务器平台: 阿里云 Linux nginx php5.5
开发版调试软件:QCOM_V1.6
调试平台:WIN7 X64
测试浏览器: Sougou postman
代码编辑器: HBulider
FTP 工具:WinSCP
3 php 代码处理
3.1 Demo下载
可以采用OneNET官方所给出的数据推送服务端SDK Demo,下载地址为:https://open.iot.10086.cn/doc/book/application-develop/httppush/sdk.html
3.2 php代码编辑
官方所给的php代码一共有两个php文件,example.php 为外部调用文件,util.php为类文件。
为使用方便,上传到服务器后可以直接访问,避免OneNET平台报错,将example.php改名为index.php。
打开util.php,只需要输入token,encodekey,和文件存储路径即可。
class Util
{
public static $token = '123456789'; //输入token 需要与OneNET一致
public static $encodekey = ''; //输入encodekey 需要与OneNET一致
/**
* 一个超轻量级的日志方法,给开发者调试使用
* A super-lightweight log method, for developers debugging
*
* @param
* string or array $msg
*/
public static function l($msg)
{
// echo $msg . '<br /><br />';
if (is_array($msg))
$msg = 'Array|' . json_encode($msg);
file_put_contents('/www/iot/onenet/iot.log', "n".date("Y-m-d h:i:sa")."--OneNET push data".$msg . "n", FILE_APPEND); //填写存储路径
}
// 注意:后部分代码省略
}
3.3 php代码上传到云服务器
将上述修改后的index.php和util.php上传到云服务器,例如/www/iot/onenet/
3.4 postman测试代码
为避免程序等出错,不好找原因,可以利用postman进行测试,当status返回值是200ok,就说明没有问题。若报错,说明程序或者配置有问题。
Get请求调试签名认证:
其中msg,signature,nonce值可以随便填写。
4 OneNet平台设置
OneNet平台设置可以参考官方开发文档,https://open.iot.10086.cn/doc/book/easy-manual/httppush.html
为便于数据分类推送,可以设置或添加群组,然后再设置数据推送。
输入第三方平台的地址或者ip地址,例如:http://a.com.cn/iot/onenet/
Token与php程序一致;
推送时间: 3S
推送数量累计:1~1000,可以填1000
添加后,若无提示报错,将自动进入启用开启状态。报错常常为URL地址没有匹配或GET验证没有通过,需要通过postman检查。
5 数据查看
5.1 发送数据到OneNET
利用QCOM模拟数据发送到OneNET,
具体可以参考移远NB-IOT BC28 模组 接入移动OneNET平台
5.2 服务器数据检查
可以从/www/iot/onenet/iot.log读取所获取数据流
例如:
2019-03-15 08:42:22pm--OneNET push dataArray|{"at":1552653742214,"login_type":10,"type":2,"dev_id":519358335,"status":1}
2019-03-15 08:43:00pm--{"msg":{"at":1552653775514,"type":1,"ds_id":"3311_0_5851","value":23,"dev_id":519358335},"msg_signature":"GRVlWyhN+K7rmi76OzgFmw==","nonce":"Yhv-F*ws"}
2019-03-15 08:43:00pm--OneNET push dataArray|{"at":1552653775514,"type":1,"ds_id":"3311_0_5851","value":23,"dev_id":519358335}
2019-03-15 08:43:17pm--{"msg":{"at":1552653792924,"type":1,"ds_id":"3311_0_5851","value":101,"dev_id":519358335},"msg_signature":"8AmCI2EgagIuuxJRnm8uVQ==","nonce":"GgatY_5&"}
2019-03-15 08:43:17pm--OneNET push dataArray|{"at":1552653792924,"type":1,"ds_id":"3311_0_5851","value":101,"dev_id":519358335}
若只有连接验证数据,没有获取更新数据,是NB-IOT设备没有注册上OneNET平台上的资源对象。可以重新连接NB-IOT或重新登录OneNET平台。
获取到的数据可以直接转存到数据库(注意:转存中需要进行数据重复性判断)。
最后
以上就是激昂荔枝为你收集整理的OneNET平台数据推送 php版1 OneNET平台数据推送简介2 准备3 php 代码处理4 OneNet平台设置5 数据查看的全部内容,希望文章能够帮你解决OneNET平台数据推送 php版1 OneNET平台数据推送简介2 准备3 php 代码处理4 OneNet平台设置5 数据查看所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复