使用php在onenet平台进行token验证以及向第三方平台数据推送

你的test.php文件就需要一句话:

echo   &_GET['msg'] ;

你的填写url的地方:http://www.你的域名.com/test.php?msg="hello"&j=1

你的token:  随便写啥都行后台根本用不到它

-------------------------------------------------------

原理:

你不要看官方文档给了两大套php代码,你把代码套进去,token也改了,密钥也改了,然而,url你写错了一点用都没有。

实际上,onenet平台将会给你的url发送请求,将参数送给你,你通过一系列的验证手段再把数据返还给onenet,事实上,你再验证token的时候,你根本不需要验证一大堆,然后返回msg给onenet,直接把onenet送给你的值再返回给onenet就ok了;

-----------------------------------------------------------------------------------------------------------------------------------------

token已经验证成功,下面需要接收onenet推送过来的数据点,onenet发送过来的数据形式是这样的:

我这里是设置接收两个数据点,一个是温度一个是湿度,每个数据点的格式是这样的:

 {

                           "msg": {

                                      "type": 1,

                                      "dev_id": 2016617,

                                       "ds_id": "datastream_id",

                                       "at": 1466133706841,

                                       "value": 42

                            },

                          "msg_signature": "message signature",

                          "nonce": "abcdefgh"

                      }

具体每个键是什么意思,onenet开发文档上有。你接收到几个数据点,是你自己在onenet上设置得到,在开发者中心,数据推送,可以修改接收数据点的个数和频率:(无图言迪奥)

注意,最好你接收的数据点频率和硬件发送数据频率相同。

这个php代码是:

$result=file_get_contents("php://input");       //接收onenet平台推送过来是数据

file_put_contents("get.txt",$result);         //将数据暂时缓存到get.txt文件中

echo   $_GET['msg'];  // 返回msg值给onenet,告诉它,我收到了,如果你不告诉它,它会在第2000次没收到之后,把你拉黑,失恋了

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
下面是一个使用Java语言向第三方推送数据成功的示例: ```java import java.io.BufferedReader; import java.io.InputStreamReader; import java.net.HttpURLConnection; import java.net.URL; import java.net.URLEncoder; public class PushDataToThirdParty { public static void main(String[] args) { try { String url = "http://example.com/receive_data"; // 第三方接收数据的URL String apiKey = "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"; // OneNet平台API Key String data = "{\"temperature\": 25.6, \"humidity\": 60.2}"; // 推送数据,可以是任意格式 // 构建请求URL String requestUrl = url + "?api_key=" + apiKey + "&data=" + URLEncoder.encode(data, "UTF-8"); // 发送HTTP请求 URL obj = new URL(requestUrl); HttpURLConnection con = (HttpURLConnection) obj.openConnection(); con.setRequestMethod("POST"); // 获取响应码 int responseCode = con.getResponseCode(); // 判断响应码并输出结果 if (responseCode == HttpURLConnection.HTTP_OK) { // 推送数据成功 System.out.println("Data push success"); } else { // 推送数据失败 System.out.println("Data push failed"); } // 关闭连接 con.disconnect(); } catch (Exception e) { e.printStackTrace(); } } } ``` 在上面的示例中,我们首先构建了一个请求URL,其中包含了OneNet平台的API Key和推送数据。然后,我们使用`HttpURLConnection`类发送了一个POST请求,获取了HTTP响应码。最后,根据HTTP响应码判断数据推送的成功与否,并输出结果。 需要注意的是,这只是一个简单的示例,实际应用中还需要考虑一些其它的因素,例如数据格式、网络连接等等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值