IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> CoAP调试工具Mozi.IoT.CoAP应用详解 -> 正文阅读

[嵌入式]CoAP调试工具Mozi.IoT.CoAP应用详解

前言

????????CoAP是一种类HTTP协议的物联网专用协议,其数据包为人类不可阅读的字节流形式,在开发相关应用的时候往往不能准确的了解数据包的内容。故需要专用的调试工具对数据和通讯进行调试。这篇文章是为了让开发者更好的了解工具的特性。

CoAP协议介绍

????????CoAP(Constrained Application Protocol)受限应用协议,是一种在物联网世界的类web协议,RFC规范定义为RFC7252,7959,8613,8974。该协议使用在资源受限的物联网设备上。物联网设备的RAMROM都通常非常小,不能运行消耗资源比较多的TCP和HTTP。

CoAP调试工具

????????工具名称:Mozi.IoT.CoAP

????????下载地址:Mozi.Network 发行版 - Gitee.com

????????调试地址:coap://coap.me

????????调试环境:.Net4

命令行参数说明

    用法:coap command url [options] [body]
         

      command 可选值:get | post | put | delete

      url 格式

        coap://{host}[:{port}]/{path}[?{query}]

      options 请求选项参数如下:

        -time                    监听若干秒,参数值为整数,单位为秒

        -dump                    值为文件路径,将编码好的数据包转储到文件,不发起请求

        -file                    需要上传的文件的路径

        -round                   重复发起请求的次数(最高100次),需-time参数进行配合

        -type                    消息类型,取值

                                    con   --Confirmable

                                    non   --NonConfirmable

                                    ack   --Acknowledgement

                                    rst   --Reset

        -token                   格式:0x0f0e

        -ifmatch                 

        -etag                    

        -ifnonematch             

        -extendedtokenlength     

        -locationpath            

        -contentformat           

        -maxage                  

        -accept                  

        -locationquery           

        -block2                  Block2设置,格式:Num/MoreFlag/Size

        -block1                  Block1设置,格式:Num/MoreFlag/Size

                                 Num:0~1045785,MoreFlag:[0|1],Size:0~1024

        -size2                   

        -proxyuri                

        -proxyscheme             

        -size1  

        
        注:

            1.字符串变量值用""包裹

            2.整型变量值用,直接输入整数即可,如 -size 1024

        body 说明:

            1.0x开始的字符串被识别为HEX字符串并被转为字节流

            2.其它识别为普通字符串同时被编码成字节流,编码方式为UTF-8

            3.带空格的字符串请用""进行包裹"

      示例:

         coap get coap://127.0.0.1:5683/core/time?type=1 -block1 0/0/128

指令解释

-time

值类型:整数

说明:

????????此指令指示程序持续监听若干秒,无论服务端是否有响应,程序都不会退出。默认情况下,程序在发起请求时会阻塞30s,直到收到一次服务端响应或超时就会立即结束运行。有时候服务器不会仅仅发送一次响应,而是将包进行分块发送,或服务器响应不时很及时。这两种情况下就需要控制监听的时间。

-dump

值类型:字符串

说明:

????????此指令会将请求包以HEX字符串的形式,导出到指定的文件,同时不会发起与服务器的通讯请求。

-file

值类型:字符串

说明:

????????设置上传的文件的完整路径,文件会按默认的分块大小进行传输(默认128bit)

-round

值类型:整数

说明:

????????设置重复发起请求的次数,为防止工具被用作攻击工具,上限设置为100次

-type

值类型:枚举

说明:

????????消息的类型,取值范围如下(忽略大小写):

????????Confirmable? |??CON

????????NonConfirmable |??NON

????????Acknowledgement |??ACK

????????Reset |??RST

-token

值类型:二进制

说明:

????????请使用HEX字符串的格式设置此值,如0x0f0e

-ifmatch

值类型:字符串

说明:

????????请参考HTTP通讯中的if-match

-etag

值类型:字符串

说明:

????????请参考HTTP通讯中的etag

-ifnonematch

值类型:字符串

说明:

????????请参考HTTP通讯中的if-none-match

-extendedtokenlength

值类型:字符串

说明:

????????这个值暂时不要使用,因为最新的规范文档还没有表述的很清楚,待后期实现后会加入

??????????

-contentformat

值类型:字符串或数字

说明:

????????这个参数表示发起的请求内容的格式,用于POST/PUT两种请求方式。如果不设置此参数,则通讯双方默认内容格式为为text/plain,且此参数不会附加到数据包中。

????????取值范围如下表:

??????????????? "text/plain"?|?0?

??????????????? "application/link-format"?|?40

????????????????"application/xml"?|?41

????????????????"application/octet-stream"?|?42

????????????????"application/exi"?|??47

????????????????"application/json"?|?50

????????????????"application/cbor"?|?60 ?

?????????????????

-accept

值类型:字符串或数字

说明:

????????表示客户端期望服务器返回的内容的格式类型,参数取值请参看-contentformat。

?????????????????

-block1|block2

值类型:字符串

说明:

????????表示期望使用的分块值,格式为{Num}/{MoreFlag}/{Size}例如:1/0/1024。

????????Num:表示当前请求的块在整个资源中的序号,取值范围为0-1045785

????????MoreFlag:表示是否有更多后序包,取值范围为[0|1] ?

????????Size:表示分块的大小,取值为2**[4-11],可取值为16,32,64,128,256,512,1024,2048?

????

-size2?| -size1

值类型:无符号整型

说明:

表示整个资源的大小,取值范围为0-2**32,即无符号整型

??????????????????

-proxyuri ??

值类型:字符串URI

说明:

表示后端响应请求的代理服务器地址的绝对地址????????????

-proxyscheme ????????????

?? 用于重新组装后端服务器的地址,该值仅替换协议头部分。如果-proxyscheme https ,那么请求地址coap://127.0.0.1/core/time 就会变换为https://127.0.0.1/core/time

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2022-04-22 18:52:42  更:2022-04-22 18:56:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/26 4:23:14-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码