世纪电源网社区logo
社区
Datasheet
标题
返回顶部
原创 第十期产品组

【10th产品组】智慧停车开发方案

[复制链接]
查看: 29229 |回复: 62
1
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2018-11-14 11:21:43
如果楼主的作品对你的研发学习和知识储备有了很大的帮助,欢迎点击活动页面投上你宝贵的一票吧!
为了提高停车场的信息化、智能化管理水平,给车主提供一种更加安全、舒适、方便、快捷和开放的环境,实现停车场运行的高效化、节能化、环保化,智能停车场车位管理系统,该系统可以实现车辆预约、自助计时缴费,管理停车场车位,从而免去车主寻找车位的烦恼,帮助停车场降低管理成本、节省时间,使停车场形象更加完美。
系统概述
系统基于LORA技术进行无线组网,节点数据通过LORA无线传输到中控网关,网关对数据进行二次转发到服务端,保证服务端实时对车场车位情况进行控制掌握,另外与其他辅助设备配合可以实现停车导引功能,其中地锁终端作为设备节点可以实现有车无车检测,车锁控制,网关完成数据转发,实现地锁的状态读取以及设备控制,服务端可以与微信、支付宝等预约支付平台打通,实现消费者的一键的预约、查询、支付等各种操作。
硬件系统分为以下两部分
  • 地锁硬件终端
  • ⽹网关设备终端
系统结构框图如下图所示:
  

系统框图

系统框图
  • 硬件功能描述
     地锁硬件终端
     对车位情况进行实时监测,监测信息包括有无车辆使用、当前设备剩余电量、有无认为恶意操作、当前地锁状态,此外还包括对地锁终端进行控制,包括抬锁、放锁、报警,以及通过无线与网关设备的数据交互。
     
      ⽹网关设备终端      网关设备主要作用为:向地锁硬件终端设备收发数据,下发服务端的控制指令给地锁终端;将采集到的设备终端数据通过LTE转发给服务端,作为网关设备,实现与底层终端设备的数据交互,以及完成服务端控制指令的执行与转发。
  • 基本概念解释
    LoRa的特性(援引官方解释)

   LoRa是semtech公司创建的低功耗局域网无线标准,低功耗一般很难覆盖远距离,远距离一般功耗高,要想马儿不吃草还要跑得远,好像难以办到。LoRa的名字就是远距离无线电(Long Range Radio),它最大特点就是在同样的功耗条件下比其他无线方式传播的距离更远,实现了低功耗和远距离的统一,它在同样的功耗下比传统的无线射频通信距离扩大3-5倍。

  • 传输距离:城镇可达2-5 Km , 郊区可达15 Km 。
  • 工作频率:ISM 频段 包括433、868、915 MH等。标准:IEEE 802.15.4g。
  • 调制方式:基于扩频技术,线性调制扩频(CSS)的一个变种,具有前向纠错(FEC)能力,semtech公司私有专利技术。
  • 容量:一个LoRa网关可以连接上千上万个LoRa节点。
  • 电池寿命:长达10年。安全:
  • AES128加密。
  • 传输速率:几百到几十Kbps,速率越低传输距离越长,这很像一个人挑东西,挑的多走不太远,少了可以走远。


  LTE
第四代移动电话行动通信标准,指的是第四代移动通信技术外语缩写4G。该技术包括TD-LTEFDD-LTE两种制式(严格意义上来讲,LTE只是3.9G,尽管被宣传为4G无线标准,但它其实并未被3GPP认可为国际电信联盟所描述的下一代无线通讯标准IMT-Advanced,因此在严格意义上其还未达到4G的标准。只有升级版的LTE Advanced才满足国际电信联盟对4G的要求)。
4G是集3GWLAN于一体,并能够快速传输数据、高质量、音频、视频和图像等。4G能够以100Mbps以上的速度下载,比家用宽带ADSL(4兆)快25倍,并能够满足几乎所有用户对于无线服务的要求。此外,4G可以在DSL有线电视调制解调器没有覆盖的地方部署,然后再扩展到整个地区。很明显,4G有着不可比拟的优越性。


  • 电路原理图设计
  •     地锁终端原理图
  地锁电源电路,地锁采用4节干电池供电,供电范围4-6.4V,电源输入端做了反接保护,D4作为反接保护,可以防止输入端反接时烧毁地锁其他电路,U2作为LDO输出3.3V电源为整个地锁电路供电。其中,下面的Q1电路是蜂鸣器驱动电路当出现异常情况时可以通过CPU控制蜂鸣器发出报警声音。
lock_power.png
   CPU控制电路,作为地锁终端的主控,选用了ST公司的STM32F030 CPU,该cpu具有性价比高,功耗低的特点,RST为复位信号,预留复位按键、led指示灯方便开发调试使用,R18、R20构成电池电压监控电路,可以实时监测电池剩余电量,能够及时反馈给服务端,当电池电量过低时提醒管理人员及时更换电池,保证设备正常运行,另外,为了实现低功耗功能,保证地锁在满足使用要求的前提下尽可能的降低功耗,系统进行周期性的休眠,当外部有人操作地锁或者服务端发送控制指令时,能够将CPU及时唤醒工作
lockmcu.png
电机驱动电路,对电机进行控制实现地锁的抬起放下,电机设计中考虑了稳定性可靠性要求,采用RZ7889电机驱动器,不仅能够实现对地锁的控制,还能对异常情况进行保护,比如电机堵转引起的过流、过热等起到保护作用
lock_driver.png
  • LORA模块
  好久没更新,今天把全部硬件资料更新完成。
前期打算先使用方案商的模块做产品开发,后面再自己做研发设计
lora模块基于sx1278方案设计,该方案与其他方案相比优势在于传输距离远,抗干扰性强功耗低等优点
采用高效的循环交织纠检错编码,抗干扰和灵敏度都大大提高。发射功率100mW,低功耗,具有无线唤醒功能,LORA扩频能够带来更远的通讯距离。模块提供了多个频道的选择,可在线修改串口波特率、收发频率、发射功率、射频空中速率等各种参数。
lora_m.png
cpu控制电路完成对lora rf的控制实现数据的收发控制
lora——mcu.png

  • 网关
网关采用pcie接口进行模块化设计,分为基板、lte模块、主cpu模块、从cpu模块、电源模块5部分。

lte模块,采用simcom lte模块速率高功能强,支持mqtt协议方便数据上传下载
主要特性
• TDD-LTE B38/B39/B40/B41
• FDD-LTE B1/B3/B8
• TD-SCDMA  B34/B39
• WCDMA/HSDPA/HSPA+  B1/B8
• CDMA 1X/EVDO BC0
• GSM/GPRS/EDGE 900/1800 MHz
• 通过AT命令控制
• 供电电压范围: 3.4V~ 4.2V
• 操作温度范围: -40℃ to +85℃
• 三维尺寸:  30*30*2.9 mm
• 重量: 5.5g
• GNSS  gpsOne Gen 8B;standalone;assisted,XTRA;

数据传输
• LTE CAT4
- 上行最大速率:50Mbps,
- 下行最大速率:150Mbps
• TD-SCDMA
- 上行最大数率:128Kbps,
- 下行最大数率:384Kbps
• TD-HSDPA/HSUPA
- 上行最大数率:2.2 Mbps,
- 下行最大数率:2.8 Mbps
• HSPA+
- 上行最大数率:5.76 Mbps,
- 下行最大数率:42 Mbps
• WCDMA
- 上行/下行最大数率:384Kbps
• CDMA2000/EVDO
- 上行最大数率:1.8 Mbps,
- 下行最大数率:3.1 Mbps
• EDGE
-上行/下行最大数率:236.8Kbps
• GPRS
-上行/下行最大数率:85.6Kbps
• CSD
- GSM 速率14.4Kbps
- WCDMA 速率57.6Kbps
其他特性
• USB 驱动支持如下:
- Microsoft Windows 2000/XP/Vista/Win7/Win8
- Windows CE/Mobile
- Linux/Android  
• RIL 支持Android/Windows CE/Mobile
• Windows下自动安装
• Linux API SDK
• 通过USB口升级软件
• TCP/IP/IPV4/V6 Multi-PDP,MT PDP
• FTP/FTPS/HTTP/HTTPS/SMTP/POP3/DNS/MMS
• DTMF
• Win8可支持MBIM接口
• 可提供PC工具源代码供参考

接口
• USB2.0
• UART
• SIM card
• SPI
• I2C
• Constant current sink
• GPIO
• ADC
• PCM
• SDIO

认证(计划)
• CCC
• ROHS
• REACH


gateway1.png
网关主板,用来搭载所有模块间的数据交互

gateway2.png gateway3.png gateway4.png


主CPU模块,采用stm32f405,完成与服务端以及设备端的双向交互
gateway5.png gateway6.png

从cpu模块,为降低对主cpu的压力,增加从cpu,负责无线loar数据的上传下达。
exemcu2.png

  • 网关电源
网关电源采用ac220v输入,输出电压5v,设计中使用了金升阳的ac/dc模块

网关电源

网关电源

  • PCB设计
  • 网关基板pcb
gateway_top.png
  • ltepcb
lte.png
  • 主cpu pcb
master mcu.png
  • 从cpu pcb
lora.png
  • 电源pcb
power.png
  • 地锁pcb
lock.png
  • 传感器pcb
posi.png

  • PCB打样
好久没更新,把硬件更新完
1)主mcu pcb
1.png
2)LTE 模块PCB

2.jpg
3)电源pcb
3.jpg
4)基板pcb
4.jpg
5)地锁pcb
5.jpg
6)lora收发pcb
6.jpg

WechatIMG6731547027925_.pic.jpg
  • PCB焊接
WechatIMG6821547027934_.pic.jpg WechatIMG6811547027931_.pic.jpg WechatIMG6831547028335_.pic_hd.jpg
  • PCB调试
    调试中主要问题就是地锁设备的外设控制与低功耗配置,其他的硬件调试由于以前都用过所以比较好解决。
  • 结题
最后上整装实物
WechatIMG757.jpg
WechatIMG758.jpg
WechatIMG759.jpg




靖哥哥
  • 积分:2086
  • |
  • 主题:4
  • |
  • 帖子:643
积分:2086
LV8
副总工程师
  • 2018-11-14 11:36:23
 
停车收费倒是没什么,就是停车没地方是该想想办法...
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2018-11-14 11:37:36
 
预约功能就是为了解决这个问题,首先可以提前预判哪里有车位,其他可以预约,保证自己有地方停车
gxg1122
  • 积分:9036
  • |
  • 主题:41
  • |
  • 帖子:1255
积分:9036
LV8
副总工程师
  • 2018-11-14 12:59:26
 
等待更新。
XIE52062
  • 积分:2187
  • |
  • 主题:4
  • |
  • 帖子:308
积分:2187
LV8
副总工程师
  • 2018-11-14 15:36:07
 
问题是,你预约了车位,不一定就是你能停进去,应该在车位还需要安装识别装置
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2018-11-14 17:20:05
 
预约车位只是代表车场给你预留了一个车位,你来了肯定有你的车位,这怎么还会有问题?至于识别装置那是锦上添花的事情
XIE52062
  • 积分:2187
  • |
  • 主题:4
  • |
  • 帖子:308
积分:2187
LV8
副总工程师
  • 2018-11-15 08:52:10
 
是, 楼主说的对,期待楼主的产品
靖哥哥
  • 积分:2086
  • |
  • 主题:4
  • |
  • 帖子:643
积分:2086
LV8
副总工程师
  • 2018-11-14 16:50:35
 
坐等楼主更新,学习学习
YTDFWANGWEI
  • 积分:109684
  • |
  • 主题:142
  • |
  • 帖子:45895
积分:109684
版主
  • 2018-11-14 14:33:30
 
1、收费的时间是从什么时候开始,预约还是停车?应该是预约吧?
2、这样会不会反而造成浪费呢?因为从你预约开始,这个车位就开始闲置。

zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2018-11-14 17:23:40
 
当然是停车开始,从预约就开始收费,作为消费者你愿意?至于资源浪费那就更不会了,不好的算法100个车位可能只能听80台车,中规中矩的算法100个车位只能停100台车,好的算法100个车位可以停120辆车,大家要明白,实际使用中会120台车同时停么,可能也会,但是这个概率会很低
YTDFWANGWEI
  • 积分:109684
  • |
  • 主题:142
  • |
  • 帖子:45895
积分:109684
版主
  • 2018-11-15 08:48:27
 
这个不是算法的问题
1、假设你从家到目的地,需要30分钟,你提前多少预约停车点?
2、你的算法能接受多久提前预约?提前多了就是空闲,提前少了那跟到了看有没有停车点有什么区别?
我说个最简单的例子,假设你允许提前30分钟预约,对这个车位,那就要空闲30分钟,本来不需要预约的时候,有人临时办事,30分钟可以停车办完的,但你预约了,这30分钟就没法停车(因为你已经订出去了,就没车位了)。也别说好的算法可以让第二个人临时停车,如果第二个人临时停车,30分钟内没办完,车位就占着,预约的人来了就没地方停车(那你就违约了)。这个不像火车票,济南到北京,济南上的德州下,你这个座可以卖德州到北京的。
lovelee
  • 积分:6287
  • |
  • 主题:18
  • |
  • 帖子:560
积分:6287
LV8
副总工程师
  • 2018-11-15 12:54:15
 
客观因素太多了。不好弄
YTDFWANGWEI
  • 积分:109684
  • |
  • 主题:142
  • |
  • 帖子:45895
积分:109684
版主
  • 2018-11-15 08:55:21
 
你这样说,这个所谓的智能就没有任何意义。真正的智能是用100个车位,停100台以上的车,如果100个车位停80台车,还用什么智能。你这样做叫不叫智能不知道,但对于停车资源一点也没有高效利用化,反而是一种浪费。就好比餐厅的订位。订位多的餐厅,肯定不是平民化的餐厅,它的翻台率肯定很少。个人觉得,如果停车做成了这样,那就不是停车场了。
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2018-11-15 09:30:57
 
车位预定是有时效 的,智能提前2小时预定,但是真正收费是从进入车场开始,提前两小时预定车场如果是高效管理,那肯定不是提前两小时车位就预留给你,最简单的道理,通过数据分析你会知道2小时内有多少车进,有多少车出,这样对于管理者就知道我的进入流量出流量的情况,所以就能够很准确的预估到未来的车位调度情况,然车场高效运转。
生活中一个最简单的道理,机票大家都买过,但是机票都是超额卖的不知道大家有没有仔细研究过,道理都是一样的。

有多少人预定,就从预定时间开始预留车位,这种方法肯定是不对的,有兴趣的了解下目前市场使用情况就知道了,不要纠结这个问题了
admin
  • 积分:32411
  • |
  • 主题:2330
  • |
  • 帖子:8895
积分:32411
管理员
  • 2018-11-15 15:57:13
 
当今局面 ,很多个城市都是停车麻烦
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2018-11-15 18:24:13
 
是的,该产品是有委托开发需求的,不是自己臆想出来的
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2018-12-12 17:47:14
 
产品目前在pcb打样中
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2018-12-16 13:30:25
 
产品焊接调试中
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2018-12-23 14:19:07
 
焊接进行中,软件代码已经完成基本功能。
zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2018-12-27 15:55:54
 
坐等学习,通过楼主的方案设计可以了解到该方案架构的合理性,尤其是对于复杂环境下无线技术的选择 至关重要,选用lora技术十分合理,提高系统的抗干扰性能和鲁棒性。
zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2018-12-27 15:57:08
 
楼主我们两个的用户名好缘分,命名规则十分类似,其他与楼主的进一步交流,期待合作。
zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2018-12-27 15:58:22
 
请问楼主方案设计中,对于低功耗的控制是如何实现的呢,如何平衡功能与功耗的
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2018-12-28 09:16:54
 
感谢关注,后面会把详细资料分享输出来,请多关注
zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2018-12-31 12:34:39
 
拜读
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-1-9 09:29:20
 
方案设计的难点在于功耗控制与功能实现的平衡,保证低功耗的同时又能对设备做到实时监控
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-1-10 17:50:18
 
目前硬件调试已经完成,进行系统功能调试
zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2019-1-10 17:54:39
 
请问设计中,网官与后台服务器之间的协议架构是怎样设计的?
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-1-14 15:51:09
 
感谢关注
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-1-14 15:58:05
 
服务器与网关之间基于tcp协议通信,应用层基于mqtt协议进行物联网信息交互
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-1-14 15:58:57
 
mqtt协议目前是物联网中使用的较为广泛的协议,协议属于轻量级通信协议,信息传输稳定可靠,占用资源低
zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2019-1-14 16:26:51
 
o,恕我无知,本人对mqtt一无所知能否科普介绍下?
zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2019-1-14 16:41:02
 
MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是IBM开发的一个即时通讯协议,有可能成为物联网的重要组成部分。该协议支持所有平台,几乎可以把所有联网物品和外部连接起来,被用来当做传感器和制动器(比如通过Twitter让房屋联网)的通信协议
zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2019-1-14 16:41:29
 
早在1999年,IBM的Andy Stanford-Clark博士以及Arcom公司ArlenNipper博士发明了MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)技术 。据Andy Stanford-Clark博士称,MQTT将在今年和明年呈现爆炸式增长。
zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2019-1-14 16:41:57
 

在未来几年,MQTT的应用会越来越广,值得关注。

通过MQTT协议,目前已经扩展出了数十个MQTT服务器端程序,可以通过PHP,JAVA,Python,C,C#等系统语言来向MQTT发送相关消息。

此外,国内很多企业都广泛使用MQTT作为Android手机客户端与服务器端推送消息的协议。其中Sohu,Cmstop手机客户端中均有使用到MQTT作为消息推送消息。据Cmstop主要负责消息推送的高级研发工程师李文凯称,随着移动互联网的发展,MQTT由于开放源代码,耗电量小等特点,将会在移动消息推送领域会有更多的贡献,在物联网领域,传感器与服务器的通信,信息的收集,MQTT都可以作为考虑的方案之一。在未来MQTT会进入到我们生活的各各方面。

如果需要下载MQTT服务器端,可以直接去MQTT官方网站点击software进行下载MQTT协议衍生出来的各个不同版本。


zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2019-1-14 16:42:22
 
MQTT特点

MQTT协议是为大量计算能力有限,且工作在低带宽、不可靠的网络的远程传感器和控制设备通讯而设计的协议,它具有以下主要的几项特性:

1、使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合;

2、对负载内容屏蔽的消息传输;

3、使用 TCP/IP 提供网络连接;

4、有三种消息发布服务质量:

"至多一次",消息发布完全依赖底层 TCP/IP 网络。会发生消息丢失或重复。这一级别可用于如下情况,环境传感器数据,丢失一次读记录无所谓,因为不久后还会有第二次发送。

"至少一次",确保消息到达,但消息重复可能会发生。

"只有一次",确保消息到达一次。这一级别可用于如下情况,在计费系统中,消息重复或丢失会导致不正确的结果。

5、小型传输,开销很小(固定长度的头部是 2 字节),协议交换最小化,以降低网络流量;

6、使用 Last Will 和 Testament 特性通知有关各方客户端异常中断的机制;




zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-1-15 09:21:03
 
mqtt的环境搭建和理解还是需要花点功夫的
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-1-15 13:31:12
 
首先需要搭建一台mqtt服务器,可以说windows的也可以是linux的
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-1-18 08:55:40
 
下面以linux主机为例演示如何搭建mqtt服务器,一下内容源自热心技术分享朋友


MQTT协议是广泛应用的物联网协议,使用测试MQTT协议需要MQTT的代理。有两种方法使用MQTT服务,一是租用现成的MQTT服务器,如阿里云,百度云,华为云等公用的云平台提供的MQTT服务,使用公用的MQTT服务器的好处是省事,但如果仅仅用于测试学习还需要注册帐号,灵活性差些,有的平台还需要付费。另一方法是自己使用开源的MQTT组件来搭建。

MQTT服务器非常多,如apache的ActiveMQ,emtqqd,HiveMQ,Emitter,Mosquitto,Moquette等等。

这里介绍的是用轻量级的mosquitto开源项目来搭建一个属于自己的MQTT服务器。

第一步:需要安装一台linux主机,这不多介绍,可以使用真机安装也可以使用虚拟机安装。如果仅仅是自己测试使用都可以。

第二步:下载mosquitto需要的依赖

sudo apt-get install libssl-devsudo apt-get install uuid-devsudo apt-get install cmake

第三步:下载mosquitto并解压,现在mosquitto官网最新的版本是1.5.1

tar xzvf mosquitto-1.5.1.tar.gz

第四步:编译

cd mosquitto-1.5.1/

make

make install

第五步:启动mosquitto

./mosquitto -v

1535473957: mosquitto version 1.5.1 starting

1535473957: Using default config.

1535473957: Opening ipv4 listen socket on port 1883.

1535473957: Opening ipv6 listen socket on port 1883.

这时候mosquitto就会以默认的参数启动。如果需要带配置文件可以修改配置文件mosquitto.conf,

启动时候加上参数 -c,

./mosquitto -c mosquitto.conf

可以看到,mosquitto监听的端口为1883.

这时候我们的MQTT服务器就搭建好了。可找一个mqtt客户端来测试一下。

先发布一个主题“home/garden/fountain/2”

内容是“hello world”


这时候在mosquitto会打印出下面的log

535474247: New connection from 192.168.1.105 on port 1883.

1535474247: New client connected from 192.168.1.105 as MQTT_FX_Client (c1, k60).

1535474247: No will message specified.

1535474247: Sending CONNACK to MQTT_FX_Client (0, 0)

1535474307: Received PINGREQ from MQTT_FX_Client

1535474307: Sending PINGRESP to MQTT_FX_Client

1535474339: Received PUBLISH from MQTT_FX_Client (d0, q0, r0, m0, 'home/garden/fountain/2', ... (12 bytes))

1535474367: Received PINGREQ from MQTT_FX_Client

1535474367: Sending PINGRESP to MQTT_FX_Client

订阅主题“home/garden/fountain/2”


可以看到收到了自己发布的消息。

用wireshark抓包


可以看到抓到了一个MQTT的publish的报文。


zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2019-1-23 10:50:14
 
大家可以深入交流的
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-1-23 10:51:56
 
目前产品已经与车牌识别**互联,基本车场功能已经跑通
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-1-23 15:56:34
 
有兴趣和需要的朋友可以详细了解下mqtt的协议物联网协议之一:MQTT协议

物联网电子世界
百家号18-08-1019:48



简介:

MQTT协议(Message Queuing Telemetry Transport),翻译过来就是遥信消息队列传输,是IBM公司于1999年提出的,现在最新版本是3.1.1。MQTT是一个基于TCP的发布订阅协议,设计的初始目的是为了极有限的内存设备和网络带宽很低的网络不可靠的通信,非常适合物联网通信。

MQTT的网络层级

工作原理:

发布订阅示意图

如上图所示,客户端A连接到消息代理(message broker),消息代理返回确认消息。客户B发布消息温度25度,客户A订阅‘温度’,消息代理吧消息推给客户A,客户A发布温度20度,但客户B没有订阅,消息代理不推送。消息B又发布了温度38度,客户A就再次收到订阅的消息38度。最后客户端断开连接。整个过程非常简单清晰,容易理解。

MQTT消息的QOS

MQTT支持三种QOS等级:

QoS 0:“最多一次”,消息发布完全依赖底层 TCP/IP 网络。分发的消息可能丢失或重复。例如,这个等级可用于环境传感器数据,单次的数据丢失没关系,因为不久后还会有第二次发送。

QoS 1:“至少一次”,确保消息可以到达,但消息可能会重复。

QoS 2:“只有一次”,确保消息只到达一次。例如,这个等级可用在一个计费系统中,这里如果消息重复或丢失会导致不正确的收费。

MQTT的消息类型

1 CONNECT – 连接服务端:客户端到服务端的网络连接建立后, 客户端发送给服务端的第一个报文必须是CONNECT报文

2 CONNACK – 确认连接请求:服务端发送CONNACK报文响应从客户端收到的CONNECT报文。 服务端发送给客户端的第一个报文必须是CONNACK。如果客户端在合理的时间内没有收到服务端的CONNACK报文, 客户端应该关闭网络连接。合理的时间取决于应用的类型和通信基础设施。

3 PUBLISH – 发布消息:PUBLISH控制报文是指从客户端向服务端或者服务端向客户端传输一个应用消息。

4 PUBACK –发布确认:PUBACK报文是对QoS 1等级的PUBLISH报文的响应。

5 PUBREC – 发布收到( QoS 2, 第一步):PUBREC报文是对QoS等级2的PUBLISH报文的响应。 它是QoS 2等级协议交换的第二个报文。

6 PUBREL – 发布释放( QoS 2, 第二步):PUBREL报文是对PUBREC报文的响应。 它是QoS 2等级协议交换的第三个报文。

7 PUBCOMP – 发布完成( QoS 2, 第三步):PUBCOMP报文是对PUBREL报文的响应。 它是QoS 2等级协议交换的第四个也是最后一个报文。

8 SUBSCRIBE - 订阅主题:客户端向服务端发送SUBSCRIBE报文用于创建一个或多个订阅。 每个订阅注册客户端关心的一个或多个主题。 为了将应用消息转发给与那些订阅匹配的主题, 服务端发送PUBLISH报文给客户端。 SUBSCRIBE报文也( 为每个订阅) 指定了最大的QoS等级, 服务端根据这个发送应用消息给客户端。

9 SUBACK – 订阅确认:服务端发送SUBACK报文给客户端, 用于确认它已收到并且正在处理SUBSCRIBE报文。

10 UNSUBSCRIBE –取消订阅:客户端发送UNSUBSCRIBE报文给服务端, 用于取消订阅主题。

11 UNSUBACK – 取消订阅确认:服务端发送UNSUBACK报文给客户端用于确认收到UNSUBSCRIBE报文。

12 PINGREQ – 心跳请求:客户端发送PINGREQ报文给服务端的。 用于:1. 在没有任何其它控制报文从客户端发给服务的时, 告知服务端客户端还活着。2. 请求服务端发送 响应确认它还活着。3. 使用网络以确认网络连接没有断开。

13 PINGRESP – 心跳响应:服务端发送PINGRESP报文响应客户端的PINGREQ报文。 表示服务端还活着。

14 DISCONNECT –断开连接:DISCONNECT报文是客户端发给服务端的最后一个控制报文。 表示客户端正常断开连接。

MQTT控制报文格式

控制报文格式



zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-1-28 09:33:31
 
轻量级协议栈
liguanghui2588
  • 积分:9171
  • |
  • 主题:55
  • |
  • 帖子:2435
积分:9171
版主
  • 2019-3-4 01:07:37
  • 倒数9
 
服务器你们是租的谁家的
liguanghui2588
  • 积分:9171
  • |
  • 主题:55
  • |
  • 帖子:2435
积分:9171
版主
  • 2019-3-4 01:05:57
  • 倒数10
 
目前物联网这块主要是MQTT协议,服务器主要是linux
zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2019-3-5 17:31:17
  • 倒数8
 
是的,各有各的优势
shakencity
  • 积分:22397
  • |
  • 主题:99
  • |
  • 帖子:774
积分:22397
LV10
总工程师
  • 2019-1-29 10:07:30
 
智慧停车的最终目的就是所有停车场联网,真正形成物联网,而且必须要跟汽车或者手机APP相关联
zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2019-1-29 16:01:22
 
是的,但是物联网需要有个过程,不是一簇而就的事情,需要现有试点、有样板才能逐渐推广
zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2019-1-30 09:24:56
 
打卡学习
zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2019-1-30 16:52:40
 
目前做智慧停车的产品也有一些了,方案可以了解一下
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-1-31 09:27:15
 
智慧停车场解决的痛点有以下几个:
1、预约功能,解决订不到车位的问题;
2、引导功能,解决找不到车位的问题;
3、在线支付,解决缴费不方便的问题;
4、车位状态监控功能,解决车场车位使用情况统计功能
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-2-12 12:56:00
 
新年新气象,祝福21世纪电源网活动越来越好
zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2019-2-13 09:17:04
 
mqtt协议在物联网领域用的越来越多了
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-2-14 09:53:25
 
是的
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-2-19 11:47:12
 
技术实现中,lora的实时性是一个挑战
zm694844985
  • 积分:162
  • |
  • 主题:0
  • |
  • 帖子:17
积分:162
LV2
本网技师
  • 2019-2-21 09:18:05
 
平衡实时性和功耗问题,找到最佳的唤醒休眠周期
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-2-25 15:49:26
 
产品进入硬件测试阶段,期待中……
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-3-11 13:00:07
  • 倒数7
 
测试完成
zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-3-18 17:55:39
  • 倒数6
 
第一批订单出货测试中
世纪电源网雪花
  • 积分:26477
  • |
  • 主题:719
  • |
  • 帖子:1985
积分:26477
超级版主
  • 2019-3-21 09:14:27
  • 倒数5
 
期待测试结果!!

zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-3-29 09:31:04
  • 倒数4
 
第一轮测试以及bug修复完成,准备现场项目实施。
nc965
  • 积分:92444
  • |
  • 主题:115
  • |
  • 帖子:27039
积分:92444
版主
  • 2019-4-13 08:00:09
  • 倒数3
 
楼主,你的帖子所透露的信息令大家耳目一新,对于新技术的应用推广提供了很好的思路,谢谢。
但你的市电电源模块存在很大的安全隐患,需尽快整改:



zm1372570085
  • 积分:590
  • |
  • 主题:4
  • |
  • 帖子:72
积分:590
LV6
高级工程师
  • 2019-4-13 11:00:42
  • 倒数2
 
请指教
nc965
  • 积分:92444
  • |
  • 主题:115
  • |
  • 帖子:27039
积分:92444
版主
最新回复
  • 2019-4-13 11:58:14
  • 倒数1
 
安规间距、电气间距都不够:
33e.png
热门技术、经典电源设计资源推荐

世纪电源网总部

地 址:天津市南开区黄河道大通大厦8层

电 话:400-022-5587

传 真:(022)27690960

邮 编:300110

E-mail:21dy#21dianyuan.com(#换成@)

世纪电源网分部

广 东:(0755)82437996 /(138 2356 2357)

北 京:(010)69525295 /(15901552591)

上 海:(021)24200688 /(13585599008)

香 港:HK(852)92121212

China(86)15220029145

网站简介 | 网站帮助 | 意见反馈 | 联系我们 | 广告服务 | 法律声明 | 友情链接 | 清除Cookie | 小黑屋 | 不良信息举报 | 网站举报

Copyright 2008-2024 21dianyuan.com All Rights Reserved    备案许可证号为:津ICP备10002348号-2   津公网安备 12010402000296号