Git Product home page Git Product logo

onenet's Introduction

OneNET

1. 介绍

OneNET 平台是**移动基于物联网产业打造的生态平台,可以适配多种网络环境和协议类型,例如MQTT、HTTP、LWM2M等,方便用户数据的管理和设备控制。

该组件包是 RT-Thread 系统针对 OneNET 平台连接的适配,通过这个组件包可以让设备在 RT-Thread 上使用 MQTT 协议连接 OneNet 平台,完成数据的接受和发送、以及设备的控制等功能,更多 OneNET 平台信息可查看 OneNET 文档中心

1.1 目录结构

名称 说明
inc 头文件目录
src 源文件目录
samples 例程文件目录
ports 用户移植代码目录

1.2 许可证

OneNET package 遵循 GUN GPL 许可,详见 LICENSE 文件。

1.3 依赖

2. 获取方式

使用 OneNET package 需要在 RT-Thread 的包管理中选中它,具体路径如下:

RT-Thread online packages
    IoT - internet of things  --->
        [*] OneNET: China Mobile OneNet cloud SDK for RT-Thread
        [*]   Enable OneNET sample
        [*]   Enable support MQTT protocol 
        (/test_topic) mqtt subtopic
        (device id) device id
        (api key) api key
        (product id) product id
        (auth info) auth info
            onenet version (latest)  --->

Enable OneNET sample:使能使用示例代码;
Enable support MQTT protocol:使能 MQTT 协议连接 OneNET;
mqtt subtopic:自定义设备端连接 MQTT 协议时订阅的主题信息;
device id:配置云端创建设备时获取的设备ID(具体使用和获取方式可参考 OneNET 文档中心平台概述硬件接入);
api key:配置云端创建设备时获取的 APIkey
product id:配置云端创建产品时获取的产品ID
auth info:配置云端创建产品时用户自定义的鉴权信息(每个产品的每个设备唯一);
onenet version:配置 OneNET 组件包为最新版 latest

配置完成后让 RT-Thread 的包管理器自动更新,或者使用 pkgs --update 命令更新包到 BSP 中。

3. 移植

3.1 MQTT 接收数据处理函数实现

int onenet_port_data_process(char *recv_data, rt_size_t size)

该函数用于设备 MQTT 连接 OneNET 云端之后,对 OneNET 云端下发的数据进行处理,需要用户自定义处理数据方式。

4. 使用方式

4.1. 示例列表

名称 说明
rt_onenet_sample.c 数据上传 OneNET 云端示例

4.2. 运行示例

该示例用于设备连接 OneNET 云端后,需要联网成功之后 msh 中执行 onenet_mqtt_init 初始化MQTT协议设备上线,然后执行 onenet_upload_cycle 命令,可5秒一次循环发送数据流名为 temperature 的随机数据到 OneNET 云端,云端建立数据流模板后即可实时查看上传数据信息。具体过程如下:

msh />onenet_mqtt_init
Enter mqtt_connect_callback!
[MQTT] ipv4 address port: 6002
[MQTT] HOST = '183.230.40.39'
OneNET MQTT initialize success..
[MQTT] Subscribe #0 /test_topic OK!
Enter mqtt_online_callback!             //初始化完成,设备上线成功
msh />
msh />onenet_upload_cycle
buffer : {"temperature":8}
buffer : {"temperature":56}
buffer : {"temperature":19}             
buffer : {"temperature":11}             //循环发送数据到 OneNET 云端
.....

5. 注意事项

  • OneNET package 目前处于 beta 测试阶段, 推荐在 menuconfig 选项中选择 latest 版本;
  • 在 menuconfig 选项中配置的 device idapi keyproduct idauth info 等信息时需要和 OneNET 云端新建产品和新建设备时获取的信息一致;
  • 初始化 OneNET package 之前需要设备联网成功

6. 开发资源

onenet's People

Contributors

armink avatar lawlieta avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.