什么是协议栈软件开发开发

Hi,欢迎来到中国嵌入式培训高端品牌 - 华清远见嵌入式学院,专注嵌入式工程师培养13年!
全国咨询热线:400-706-1880
当前位置: >
> 什么是 ZigBee协议栈?
什么是 ZigBee协议栈?
时间:作者:华清远见
协议定义的是一系列的通信标准,通信双方需要共同按照这一标准进正常的数据收发;协议找是协议的具体实现形式,通俗的理解为用代码实现的函数库,以便于开发人员调用。
ZigBee 的协议分为两部分,IEEE 802.15.4 定义了物理层和 MAC 层技术规范,ZigBee 联盟定义了网络层&安全层和应用层技术规范,ZigBee 协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供一些应用层 API,供用户调用。
注意 :虽然协议是统一的,但是。的具体实现形式是变化的,即不同厂商提供的协议栈是有区别的,例如:函数名称和参数列表可能有区别,用户在选择协议找以后,需要学习具体的例子,查看厂商提供的 Dert10 演示程序、说明文档(通常,实现协议栈的厂商会提供一些 API 手册供用户查询)来学习各个函数的使用方式,进而快速地使用协议栈进行应用程序的开发工作。
使用 ZigBee 协议栈进行开发的基木思路可以概括为如下三点:
 &用户对于 ZigBee 无线网络的开发就简化为应用层的 C 语言程序开发,用户不需要深入研究复杂的 ZigBee 协议栈;
 &ZigBee 无线传感器网络中数据采集,只需要用户在应用层加入传感器的读取函数即可;
 &如果考虑到节能,可以根据数据采集周期进行定时,定时时间到就唤醒 ZigBee 的终端节点,终端节点唤醒后,自动采集传感器数据,然后将数据发送给路由器或者直接发给协调器。
学院最新动态后使用快捷导航没有帐号?
查看: 1694|回复: 2
经验133 分贝0 家园币330 在线时间:87 小时最后登录:帖子:精华:0注册时间:UID:369762
军衔等级:
下士, 积分 133, 距离下一级还需 67 积分
注册时间:
经验9167 分贝0 家园币21952 在线时间:9863 小时最后登录:帖子:精华:0注册时间:UID:313968
军衔等级:
中将, 积分 9167, 距离下一级还需 3833 积分
注册时间:
都是屌丝活儿,干得顶天也就是去ITU开会的,前途不是从这个角度去考虑的
经验903 分贝0 家园币1467 在线时间:546 小时最后登录:帖子:精华:0注册时间:UID:268494
军衔等级:
二级军士长, 积分 903, 距离下一级还需 97 积分
注册时间:
空口协议如果是2002年比较熟悉,那算高技术人员了。这么多年测试,开发做过这个的人,都比现在开始做的熟。现在的话,基本就是码农,跟着领导编个码...
Copyright &
All Rights Reserved一个用于协议开发的 C++ 框架 - 技术翻译 - 开源中国社区
一个用于协议开发的 C++ 框架
【已翻译100%】
英文原文:
推荐于 3年前 (共 4 段, 翻译完成于 06-01)
参与翻译&(1人)&:
欢迎!这里有一个网络基础类的抽象封装,开发者可以构建网络协议的具体实现。它以C++库的形式提供了一套类集,任何人都可以使用它构建程序。
这些抽象的主要好处是便于将这些协议实现集成到程序中我们不想浪费时间实现期望的协议或者使用一个第三方实现的地方。
此外,这些抽象便于员工协同工作,复用他们的工作并且提供其它实现的接口。例如,一些开发者可以致力协议的实现,另一些则聚集于协议测试工具。
&翻译得不错哦!
解决当前所有问题和满足所有需求的抽象层级是最好的,可以在更改之前保持长时间的有效性。此外,它应该符合人类思维并且足够精确。这意味着所有的差异都要集中到一个模型中。这些抽象应该在开发者看到他们的时候感到自然顺畅,并且能够在整个实现过程中指导他们如何实现协议。
下面这些目标是要告知协议开发者的。从程度开发的观点来看,抽象层级应该便于协议实现在应用中集成以便于调用,更重要的是将线路通信协议置于两个通信进程的首要位置。例如,增加传输安全验证应该通过少量的线路通信协议调用实现。如果应用程序需要传输海量数据并且我们发现其中一个通信端使用了压缩数据协议,它应该在高层协议实现数据的解压缩。下面的图表演示了一个例子,当网络层数据进入传输层TLS时,需要将IP数据包解码成传输层的有效负荷Websocket帧,然后再解压成离散的字节缓冲单元,最后序列化成应用程序可以使用的对象消息结构。当应用程序传递消息时,先序列化成字节缓冲单元,然后压缩并转换成Websocket帧,编码并发送给TCP。
&翻译得不错哦!
在规划协议的抽象层次之前,需要一个人浏览很多协议实现并且推论出公共的要求。从我的经验来看,我会将了解到的重要要求写在一张清单上。对于别人赞扬或者批评的评论我都会表示赞赏。
编码和序列化:协议尽量使数据的表示方式透明。在一个协议栈的层级上,上层协议将会按照字节处理收到的数据。如果不是商用协议就不要将数据序列化成特殊的结构,或者期望使用一种特殊类型来进行序列化。协议将会将字节编码成另一种字节,也会将字节解码成另一种字节。我认为任何协议实现都应该超越这个层次,作一些额外的数据填充使得协议实现复用和同一层次协议聚集变得困难等等。
许多协议需要一种通信路径存储每一连接数据。编码和解码可能依赖于数据的演化。(在协议框架中,这种类称为&ProtocolContext类)。
当收到数据时,每一个协议层都试图解码内容并传递到上一层协议中。这个过程会不断重复直到没有协议层可以将数据推送到上层时。这也意味着每一层需要数据缓冲区和更多的读操作。
当收到数据时,它不应该被直接送到缓冲区,一些协议将会对内容进行转换,所以我们应该在预先读到的数据中没有增加新的内容并且尚未提交给上一层时提供转换操作。
当协议解码数据时,它可能返回解码后的数据,也可能将数据交由对等的应用程序处理而不介入数据解码。这种数据被称为控制信息,它将会满足许多协议的需要。最简单的例子,当一层协议需要送&heart beat信息时其它的协议必须予以回复。
抽象应该提供一种方式便于协议层进入初始化阶段,在这期间,上层协议和应用层不应当发送任何数据直到初始化完成。例如,如果在Websocket和 TLS层,当一个连接建立时,我们需要TLS层完成握手操作,然后再给Websocke发送OK信息并开始交换数据。应用程序代码不能开始任何操作直到Websocke完成握手操作。
&翻译得不错哦!
如果你想浏览一个完整的框架工作用例,你可以浏览CodePlex上的&Push Framework repository 中的Websocket solution。
(查找&version 3.0,打开WebsocketServer 目录)。
WebsocketProtocol 是一个使用ProtocolFramework抽象实现Websocket Protocol () 的库文件。DemoServer是一个仅打印出它接收到数据的示例服务器。多亏那些在Autobahn Websocket测试站点的不知名的客户端,它将WebsocketProtocol视为协议而我用它使协议实现变得健壮。
感谢ProtocolFramework,我可以轻易在不同的协议之间转换,聚集同层协议一起工作,甚至使用多端口监听不同类型的客户端并理解特殊的协议栈。
MyServer&theS
WebsocketProtocol&webP
//Create&a&listening&port&using&unsecured&port.
ListenerOptions&lO
lOptions.pProtocol&=&&webP
theServer.createListener(10010,&&lOptions);
//Create&a&second&listening&port,&for&secured&clients:
SSLProtocol&sslP
if&(!sslProtocol.initializeAsServer("E:\\certificates\\server.crt",
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"E:\\certificates\\server.key",
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"pass"))
&&&&cout&&&&"ssl&initialization&failed"&&&
&&&&return&-1;
WebsocketProtocol&webProtocol2;
webProtocol2.addLowerProtocolLayer(&sslProtocol);
ListenerOptions&lOptions2;
lOptions2.pProtocol&=&&webProtocol2;
theServer.createListener(10010,&&lOptions2);
theServer.start(true)
&翻译得不错哦!
我们的翻译工作遵照 ,如果我们的工作有侵犯到您的权益,请及时联系我们扫码下载APP
随时选购服务
需求发布后1小时内收到服务商响应每个需求平均有10个服务商参与95%以上的需求得到了圆满解决所有需求不向雇主收取任何佣金好的包装增加视觉销售力
质量:0.00
速度:0.00
态度:0.00
近三月收入:0元 0 笔
(1)
无线自组网协议栈开发
手机扫码下单,便捷优惠
服务态度:0.00分
工作速度:0.00分
完成质量:0.00分
0位雇主推荐
您是否需要3D打印此设计:精选平台服务商需要
数量件
未加入雇主保障
你是不是为设备组网发愁?经常为设备间的通信、组网方式、路由选择等伤透头脑?常用的协议栈或太繁琐或与你的软件设计思路不符而选用成熟的组网模块又觉得功能死板,不稳定?我们的协议栈开发服务可以根据具体的应用需求为你定制一款协议栈,功能简洁、高效易维护,帮你解决无线通信环节的问题。同时我们会细心整理好测试文档和使用说明,方便使用和查错。
雇主对他的印象:
雇主对他的印象:
服务宝,全程保障交易安全
验收满意后,再付款给服务商
所有服务商,100%实名认证
交易出问题,可获双倍赔付
承诺不向雇主收取任何费用
担保交易,交易全程护航
快速赔付流程
好评率:&&诚信度:100
本店其他官方套餐
正在加载类似服务...
本店其它服务
正在加载类似服务...
为了防止恶意举报,发起举报,需冻结五分信用度作为担保,举报处理完成后将根据进行相应释放。
:无线自组网协议栈开发
请选择举报类型:

我要回帖

更多关于 蓝牙协议栈开发 的文章

 

随机推荐