我们是做物联网的,可以回答您这个问题。
物理层的传输网络有分无线和有线两种。无线主要有GPRS、3G、4G等运营商级网络,有线主要有光纤、ADSL等。除了考虑物理层外,还需要考虑物联网设备与云平台见的通信规约和数据传输格式,这样云平台才能解析收到的数据,进而进行展示和分析。
通信规约就类似于语言,只有两者说同一种语言,才能相互理解。
有很多通信模块只有TCP功能,没有MQTT功能,比如WIFI,W5500等模块,还有一些NBIOT模块,但是又想连接阿里云物联网平台,官方提供了 *** 作系统,需要自己移植,很麻烦,比较难看得懂。就在想有没有一些简单一定的方法。心想MQTT是基于TCP的,能否使用TCP转MQTT?因此就想使用TCP协议然后转MQTT协议连接阿里云物联网平台,经过试验证明是可以的。
首先我们先分析一下如何登陆接入Onenet平台。
先从它数据格式开始分析。首先我们要从后台取出三个信息,我们以这个为例。
我们把产品ID,设备名称,设备秘钥,简称三要素 (具体是什么看你自己的设备)
其实阿里云物联网平台的MQTT协议用的就是标准的,不过它加入了自己的认证方式。
MQTT协议需要上传四个参数,报活时间,clientID,用户名,密码。
那么阿里云的就在clientID,用户名,密码做了手脚。
clientID比较长,按照一定的格式
用户名:设备名和秘钥组成
密码:使用了加密串进行了加密,有sha1或者MD5加密方式
下面我们来介绍一下
MQTT接入都是发十六进制的数据。
么我们发送的时候就是这样子的一串数据
0x74 0x00 0x04 0x4d 0x51 0x54 0x54 0x04 0xC0 0078 0033 0x61 0x62 0x63 0x7c 0x73 0x65 0x63 0x75 0x72 0x65 0x6d 0x6f 0x64 0x65 0x3d 0x33 0x2c 0x73 0x69 0x67
0x6e 0x6d 0x65 0x74 0x68 0x6f 0x64 0x3d 0x68 0x6d 0x61 0x63 0x73 0x68 0x61 0x31 0x2c 0x74 0x69 0x6d 0x65 0x73 0x74 0x61 0x6d 0x70 0x3d 0x31 0x32 0x30 0x7c 0009
0x35 0x36 0x37 0x38 0x26 0x31 0x32 0x33 0x34 0028 0x32 0x32 0x32 0x37 0x35 0x30 0x44 0x45 0x44 0x46 0x45 0x34 0x46 0x37 0x37 0x34 0x30 0x30 0x32 0x45 0x45 0x38 0x37 0x45 0x45 0x44 0x32 0x39 0x43 0x46 0x44 0x30 0x36 0x33 0x38 0x43 0x35 0x46 0x36 0x36
十六进制解释
数据长度:0x74
协议数据长度 0x00 0x04
协议类型: 0x4d 0x51 0x54 0x54
协议数据: 0x04 0xC0
keepAlive数据:0078
ClientID长度:0033
ClientID: 0x61 0x62 0x63 0x7c 0x73 0x65 0x63 0x75 0x72 0x65 0x6d 0x6f 0x64 0x65 0x3d 0x33 0x2c 0x73 0x69 0x67 0x6e 0x6d 0x65 0x74 0x68 0x6f 0x64 0x3d 0x68 0x6d 0x61 0x63 0x73 0x68 0x61 0x31 0x2c 0x74 0x69 0x6d 0x65 0x73 0x74 0x61 0x6d 0x70 0x3d 0x31 0x32 0x30 0x7c
用户名:0009
用户名: 0x35 0x36 0x37 0x38 0x26 0x31 0x32 0x33 0x34
密码长度:0028
密码: 0x32 0x32 0x32 0x37 0x35 0x30 0x44 0x45 0x44 0x46 0x45 0x34 0x46 0x37 0x37 0x34 0x30 0x30 0x32 0x45 0x45 0x38 0x37 0x45 0x45 0x44 0x32 0x39 0x43 0x46 0x44 0x30 0x36 0x33 0x38 0x43 0x35 0x46 0x36 0x36复制代码上面的就是连接服务器的连接包
下面呢,我们来做个发布包(上传数据到服务器)
0x30 0x1D 0009 2f7379732f706f7374 0x7b 0x70 0x61 0x72 0x61 0x6d 0x73 0x3a 0x7b 0x74 0x65 0x6d 0x70 0x3a 0x31 0x30 0x7d 0x7d
十六进制数据解释
数据头:0x30
数据长度:0x1D
TopicName数据长度:0009
TopicName数据内容:2f7379732f706f7374
主体json数据: 0x7b 0x70 0x61 0x72 0x61 0x6d 0x73 0x3a 0x7b 0x74 0x65 0x6d 0x70 0x3a 0x31 0x30 0x7d 0x7d复制代码以上就是连接阿里云的数据包格式及发布数据的格式,由于时间问题没有做订阅的数据包分析,下一次更新订阅的内容。实施现场的经济、地理、地质、气候等客观条件和环境进行的现场调查。
现场踏勘是指招标人组织投标人对项目的实施现场的经济、地理、地质、气候等客观条件和环境进行的现场调查。
通过对工程现场的仔细踏勘,可以对工程周边道路交通、用水、用电、运输、场地等施工条件进行充分了解,也能对工程周边地方材料、人工成本等进行了解,更能对招标人提供的图纸是否与工程现场情况相一致进行核实,若发现不符可及时向招标人要求澄清答疑,进而对施工企业编制投标文件、确定投标价格起着重大作用。
如果不进行现场踏勘,可能出现投标报价不准备、无法发现招标文件中的问题等,若出现工程造价与投标价格出入较大的情形,施工企业将面临较大损失。但是,并非所有的招标项目,招标人都有必要组织潜在投标人进行实地勘查,对于采购对象比较明确如货物招标,往往就没有必要进行现场查勘了。
目前物联网的数据传输技术主要是WiFi、蓝牙、Zigbee,其中WiFi的传输速率高且范围广,我记得SKYLAB有一款支持远距离图传的大功率WiFi模块,+28dBm的发射功率,300Mbps的数据传输速率,SKW77的传输距离可达1000米,且支持视频传输。
SKW77
BLE蓝牙更多的用于物联网智能家居,智能控制中的小数据传输,+4dBm的发射功率,能够实现一对一,一对多的传输及控制。
蓝牙模块
关于成本这一块的话不是太清楚,建议是直接到网站上询价,这样得来的数据会更贴近市场。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)