开发者社区 > 物联网 > 正文

阿里云物联网怎么上报数组型的数据

问题描述

本人是非专业领域内的学生,目前所作的项目需要用esp32将传感器数据上传至物联网平台,但传感器数据是频率扫描出来的一百个值,想知道如何将这些值同时上传至物联网平台。

期望结果

目前只能将温度这类单个数据值上报到物联网平台,希望能够同时上传esp32串口收到的一串值到物联网平台。

已尝试的方法

在阿里云物联网控制台中的产品功能中的属性里有可以上报数组型数据,但不太清楚如何能够实现将数组上报。目前代码中每次只能上传一个数据值。

展开
收起
1023769509412918 2022-09-01 17:32:45 347 0
1 条回答
写回答
取消 提交回答
  • 可以使用二进制数据的方式来上云。

    1. 在物联网平台上,创建一个自定义数据格式的产品,注意数据类型选“透传/自定义”,

          之后点击产品->hex_light->数据解析。在此栏目可设置协议转换脚本。语言可选js/python2.7/php7.2。

         数据解析请参考:https://help.aliyun.com/document_detail/68702.html

    1. 嵌入式端可以采用link sdk, 参考代码:

          void user_post_raw_data(void)

          {

               int res = 0;

               static int id = 0;

              /*0x000000000100320100000000*/

              unsigned char raw_data[] = {0x0,/*COMMAND_REPORT*/\

                                    0x0, 0x0, 0x0, 0x01,/* id */\

                                    0x0, 0x32, /* prop_int16 */\

                                    0x01, /* prop_bool */ \

                                    0x0, 0x0, 0x0, 0x0 /* prop_float */};

              id ++;

              raw_data[4] = id & 0xff;

              raw_data[3] = (id>>8) & 0xff;

              raw_data[2] = (id>>16) & 0xff;

              raw_data[1] = (id>>24) & 0xff;

             res = IOT_Linkkit_Report(EXAMPLE_MASTER_DEVID, ITM_MSG_POST_RAW_DATA,

                                 raw_data, sizeof(raw_data));

             EXAMPLE_TRACE("Post Raw Data Message ID: %d", res);

         }

        最重要的:使用ESP32做物联网开发,非常建议使用HaaS开发框架: https://haas.iot.aliyun.com/solution

                        优势是直接使用python开发设备端应用,集成了link sdk等连云功能,并且有非常多案例可以直接参考。

        enjoy ~~~

    2022-09-02 10:47:38
    赞同 展开评论 打赏

物联网领域前沿技术分享与交流

相关产品

  • 物联网平台
  • 相关电子书

    更多
    美的物联平台的云上实践与应用--- 人机新世代战略下的智能化探索 立即下载
    使用Link Develop 进行物联网一站式开发 立即下载
    阿里云Link物联网平台全链路的一站式开发 立即下载