当前位置: 首页 > news >正文

做雕塑设计的网站中国优秀网页设计案例

做雕塑设计的网站,中国优秀网页设计案例,博客和网站的区别,什么网站做展板的多目录 概述 指令处理层开发​ 应用层开发​ .open​ .close​ .init​ .uninit​ .start​ .stop​ .setting​ .request​ 插件设置文件​ 适配华为的思路 概述 最近研究了一段时间的Neuron协议网关,前面的博文也提到它虽然能够把数据发到华为的IoT平台上…

目录

概述

指令处理层开发​

应用层开发​

.open​

.close​

.init​

.uninit​

.start​

.stop​

 .setting​

 .request​

插件设置文件​

 适配华为的思路


概述

最近研究了一段时间的Neuron协议网关,前面的博文也提到它虽然能够把数据发到华为的IoT平台上,但是不支持华为的物模型,都是以自己的数据形式发送的。如果想支持华为的模型,就必须开发北向应用插件。今天就学习一下相关的开发。

北向应用开发主要包含以下几个部分,最底层的是指令处理层开发,最外层的是应用层开发。

模块文件说明
指令处理层开发command.c command.h common.h heartbeat.c heartbeat.h read_write.c read_write.h插件对指令的解析
应用层开发mqtt_plugin.c mqtt_plugin.h mqtt_util.c mqtt_util.h插件主题框架的实现
插件设置文件mqtt.json插件设置文件的定义

Neuron提供了3个MQTT插件(早期版本是1个,没有AWS和Azure),这三个插件的MQTT部分是相同的。 可以学习一下其MQTT插件的源码。

指令处理层开发​

MQTT 目前实现了上传数据、心跳数据、读 Tags 和写 Tags 的接口。command.c 中定义了 mqtt 请求对应响应的具体处理, heartbeat.c 和 read_write.c 为 command.c 提供需要的函数实现。

函数说明
command_response_handlemqtt 响应处理
command_read_once_response读主题的响应处理
command_read_periodic_response上传主题的响应处理
command_write_response写主题的响应处理
command_heartbeat_response心跳数据的响应处理

应用层开发​

mqtt_util.c 和 mqtt_util.h 文件定义 mqtt_plugin.c 文件中使用的具体函数实现。

南北向驱动层开发中都需要先构建 neu_plugin_intf_funs_t 的结构体,并实现结构体中的每个元素的功能。

c

static const neu_plugin_intf_funs_t plugin_intf_funs = {.open    = mqtt_plugin_open,.close   = mqtt_plugin_close,.init    = mqtt_plugin_init,.uninit  = mqtt_plugin_uninit,.start   = mqtt_plugin_start,.stop    = mqtt_plugin_stop,.setting = mqtt_plugin_config,.request = mqtt_plugin_request,
};

.open​

调用 mqtt_plugin_open 函数,基于 plugin 创建 node 时 neuron 第一个调用的函数,创建插件自己定义的结构体 struct neu_plugin。该结构体在 mqtt_plugin.h 中定义,需要注意的是结构体中的第一个成员一定是 neu_plugin_common_t common,其他成员可根据驱动的具体实现增加。

.close​

调用 mqtt_plugin_close 函数,删除 node 时,neuron 调用的最后一个函数,用于释放由 open 创建的 neu_plugin_t。

.init​

调用 mqtt_plugin_init 函数,在创建 node 时,neuron 调用完 open 后,紧接着调用的函数。此函数主要做插件内需要初始化的一些资源,mqtt 插件中主要初始化 mqtt 的运行状态及配置。

.uninit​

调用 mqtt_plugin_uninit 函数,删除 node 时,neuron 首先调用的函数,此函数主要释放一些在 init 中申请以及初始化的资源。

.start​

调用 mqtt_plugin_start 函数,用户在 neuron node 页面,点击开始时,neuron 会调用此函数,通知插件开始运行,以及开始连接设备等,如果配置不正确,将会返回节点设置无效的错误。

.stop​

调用 mqtt_plugin_stop 函数,用户在 neuron node 页面,点击停止时,neuron 会调用此函数,stop 通知插件停止运行,关闭插件与 neuron 之间的连接。

 .setting​

调用 mqtt_plugin_config 函数,用户在 neuron node 设置页面进行设置时使用,node 设置的参数将通过 json 方式呈现(json 文件的配置请参考 插件设置文件 ),neuron 将通过此函数通知插件进行设置。mqtt_plugin_config 函数首先会解析并保存配置信息,然后建立连接。

 .request​

调用 mqtt_plugin_request 函数,根据请求类型对应响应处理。

插件设置文件​

mqtt.json 文件设置应用配置参数,配置 mqtt 插件每个参数的字段说明如下所示。

参数说明
name页面显示该参数的名称
description该参数的具体说明
type该参数的类型,目前常用的是 int 和 string 两种类型
attribute该参数的属性,只有两种可选和必选,即 required 和 optional
default设置该参数的默认值
valid该参数可填写的范围,string 类型用 length,int 类型使用 max 和 min
map用于设置选项框

 适配华为的思路

首先简单的修改一下配置文件,删除掉不支持的选项,如map方式。考虑增加个deviceid的选项,有点像Azure。这部分改动不大。

可以在azure_iot_plugin.c的基础上进行插件的入口函数的设置,这部分也可以照搬。

azure_handle_trans_data这个函数需要修改一下,主要是其中调用的generate_upload_json函数,这个函数控制上传的JSON格式,需要安装华为的物模型进行修改。

http://www.wangmingla.cn/news/79400.html

相关文章:

  • wordpress 帖子付费百度app关键词优化
  • 如何做本地网站2023最近的新闻大事10条
  • 怎么做提货网站现在推广什么app最挣钱
  • 网站制作广告创建网站的流程是什么
  • 做地方门户网站的排名天津搜索引擎优化
  • 徐汇网站制作百度搜索关键词优化方法
  • 佛山网站建设及优化公司网络营销的理解
  • 伪原创网站搭建自己的网站
  • 童装网站建设目标网站推广的四个阶段
  • 个人网站建站需要准备什么百度安装
  • 网站建设方案评标原则搜狗站长工具平台
  • 站内营销推广方式cms建站
  • 哪个网站可以做平面兼职百度指数需求图谱
  • 地方门户网站赚钱软件推广平台有哪些
  • 成都模版网站制作西安网站定制开发
  • 企业网站导航优化网推获客平台
  • 企业信息化建设如何帮助客户理解网站流量泉州百度seo
  • 外贸商城wordpress西安优化seo
  • 建c2c网站费用seo整站优化外包
  • 做网站怎么发布小说引流推广
  • 网站建设服务中心广告投放推广平台
  • 长春网站建设优势吉网传媒好优化排名案例
  • 如何 建设一个网站网站排名工具
  • 快速网站模板公司百度怎么优化关键词排名
  • 扬州做网站多少钱优化关键词推广
  • 做菠菜网站代理犯法吗seo培训资料
  • 淘宝做任务赚钱网站有哪些在线客服系统平台有哪些
  • 北京的网站建设公司有哪些百度首页排名优化价格
  • 免费原创视频素材河北百度seo关键词排名
  • 深圳商城网站开发seo用什么论坛引流