车路协同系统装调与测试 课件 任务 3.4:路侧消息处理(RSI)_第1页
车路协同系统装调与测试 课件 任务 3.4:路侧消息处理(RSI)_第2页
车路协同系统装调与测试 课件 任务 3.4:路侧消息处理(RSI)_第3页
车路协同系统装调与测试 课件 任务 3.4:路侧消息处理(RSI)_第4页
车路协同系统装调与测试 课件 任务 3.4:路侧消息处理(RSI)_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

主讲老师:李茂沛路侧消息处理(RSI)项目三:云平台测试与数据处理任务3.4《车联网技术与应用》目录任务导入Assignment

INTRO学习目标Learning

ObjectivesCONTENTS0102任务实施Assignmentimplement04课堂总结Summary05知识准备Background

knowledge03PART01任务导入Assignment

INTRO任务导入在行驶车辆过程,前方有一辆大型货车遮挡了驾驶员的视线,驾驶员没办法看到前方的标牌信息,如果刚好是限速标牌,那就会被当作违章处理,于是,你的领导安排你在云服务器上完成路侧交通信息(RSI)的实时处理与监控,然后发送给车辆,帮助驾驶员做出及时的决策和调整。你应该如何完成任务呢?云服务器实现路侧交通信息的实时处理与监控PART02学习目标Learning

Objectives学习目标素质目标让学生明白5G+云网技术的科技创新在社会发展中的重要作用;引导学生学习医护人员和建筑工人的奉献精神。能力目标能完成RSI消息的接收功能开发[A26];能完成RSI消息的处理功能开发[A27];能完成RSI消息的实时监控功能开发[A28]。知识目标能说出Python基础语法的使用方法[K44];能说出使用Python和paho-mqtt库进行MQTT通信的流程[K45];能说出Tkinter的使用方法[K46]。PART03知识准备Background

knowledge一、RSI消息的处理1.实时处理与监控RSI消息的原因提供实时的路况信息支持智能导航和路径规划支持紧急事件响应提高交通安全性数据分析和决策支持优化交通流动以下是云服务器处理和监控RSI的典型功能和任务:一、RSI消息的处理2.云服务器处理和监控RSI的工作任务数据接收和存储数据处理和分析实时监控和反馈数据存储和查询安全和隐私保护本节任务主要实现功能包括以下几点:云服务器接收RSI消息;云服务器处理RSI消息;云服务器实时监控RSI消息。二、Python基础语法1.字典与列表在Python中,字典(Dictionary)和列表(List)是两种常用的数据类型,用于组织和存储数据。虽然它们在用途和特性上有所不同,但都可以用于存储多个值。字典列表二、Python基础语法1.字典与列表字典字典是无序的,其中的元素是通过键值对(Key-ValuePair)的形式存储的。键(Key)必须是唯一的,而值(Value)可以是任何数据类型,包括数字、字符串、列表、字典等。字典使用大括号{}来创建,键和值之间使用冒号:分隔,键值对之间使用逗号,分隔。字典是通过键来访问和操作其中的值,具有快速的查找能力。字典的特点是适合存储具有关联性的数据,可以根据键来进行索引和查找。二、Python基础语法1.字典与列表列表列表是有序的,其中的元素可以是任意数据类型,包括数字、字符串、列表、字典等。列表使用方括号[]

来创建,元素之间使用逗号,分隔。列表中的元素是根据它们在列表中的位置(索引)进行访问和操作的。列表提供了丰富的方法和操作,如追加、插入、删除、切片等,以方便对列表进行修改和操作。列表的特点是适合存储有序的、可变的集合,可以根据索引进行快速访问和操作。1.字典与列表以下是一个简单的示例,展示了字典和列表的创建和使用:二、Python基础语法2.函数的定义与调用二、Python基础语法定义函数在Python中,定义函数和调用函数是实现代码重用和模块化的重要方式def

关键字用于定义函数function_name是函数的名称,用于在其他地方调用函数时引用parameter1,parameter2,...是函数的参数,可以是任意数量的参数,用于接收函数调用时传递的值函数体是包含在冒号(:)后的缩进块中的代码,表示函数要执行的操作return语句用于返回函数的结果,可选。如果不需要返回值,则可以省略2.函数的定义与调用二、Python基础语法调用函数function_name是要调用的函数的名称parameter1,parameter2,...是函数调用时传递给函数的实际参数值函数的返回值可以存储在一个变量中,供后续使用2.函数的定义与调用二、Python基础语法调用函数3.字符串拼接二、Python基础语法str()在Python中,str()是一个内置函数,用于将对象转换为字符串表示形式。它可以接受各种类型的对象作为参数,并返回一个对应的字符串。以下是一些常见用法:1)将数字转换为字符串:2)将布尔值转换为字符串:3.字符串拼接二、Python基础语法str()3)将列表、元组或集合转换为字符串:4)将字典转换为字符串:可变的有序序列不可变的有序序列无序且元素唯一的数据容器列表:元组:集合:在Python中,可以使用多种方法进行字符串的拼接。以下是几种常见的字符串拼接方式:1)使用加号(+)进行拼接:2)使用逗号(,)进行拼接:3.字符串拼接二、Python基础语法str()请注意,使用逗号进行拼接时,会在字符串之间自动添加一个空格在Python中,可以使用多种方法进行字符串的拼接。以下是几种常见的字符串拼接方式:3)使用字符串的join()方法进行拼接:4)使用格式化字符串进行拼接:3.字符串拼接二、Python基础语法str()使用空格作为分隔符,将字符串列表中的元素拼接为一个字符串使用f-string(格式化字符串)将变量插入到字符串中4.len()二、Python基础语法len()是一个内置函数,用于返回对象(例如字符串、列表、字典等)的长度或元素个数。具体来说,len()函数可以用于以下几种情况:1)字符串的长度:返回字符串中字符的个数:2)列表的长度:返回列表中元素的个数:对于字符串,len()函数返回的是字符的个数,而不是字节的个数二、Python基础语法len()函数可以用于以下几种情况:3)字典的长度:返回字典中键值对的个数:对于字典,len()函数返回的是字典中键值对的个数,而不是键的个数或值的个数4.len()5.字节串转为Python对象二、Python基础语法在Python中,可以使用内置的json模块将字节串(bytes)对象转换为Python对象。首先使用decode()方法将字节串byte_string解码为字符串json_data。然后,使用json.loads()函数将JSON字符串解析为Python对象,这里得到的是一个字典对象json_object。json_object就是一个Python字典对象。6.if…else二、Python基础语法if...else是一种条件语句,用于根据给定条件的真假执行不同的代码块。它允许程序根据条件的结果进行分支控制。基本的if...else语法如下:condition是一个表达式,用于判断条件的真假代码块是使用缩进的一组语句,用于指定在满足或不满足条件时要执行的操作二、Python基础语法if...else语句还可以与elif(即"elseif")一起使用,用于处理多个条件的情况。这样可以构建更复杂的分支逻辑。6.if…else需要注意的是,if...else语句中只会执行一个代码块,即满足条件的第一个代码块。其他条件下的代码块将被忽略7.for循环二、Python基础语法for循环是一种用于重复执行一段代码的循环结构,它可以遍历一个可迭代对象(如列表、元组、字符串等)中的元素,或者在指定的范围内执行特定的操作。基本的for循环语法如下:element是一个变量,用于表示每次循环迭代时从可迭代对象中取出的元素iterable是一个可迭代对象,例如列表、元组、字符串等7.for循环二、Python基础语法for循环还可以与range()函数一起使用,用于按照指定的范围执行循环。start是循环的起始值,默认为0。stop是循环的终止值(不包含在循环范围内)。step是循环变量的增量,默认为1。8.import二、Python基础语法import是Python中的一个关键字,用于导入模块或模块中的特定对象。在Python中,使用import可以导入整个模块或模块中的特定对象,使其在当前代码中可用。下面是一些常见的使用import的示例:(1)导入整个模块:这将导入名为module_name的整个模块,并使其在当前代码中可用。在使用模块中的对象时,需要使用module_name.object_name的形式。(2)导入模块并指定别名:指定一个别名alias_name二、Python基础语法下面是一些常见的使用import的示例:(3)导入模块中的特定对象:这将从名为module_name的模块中导入特定的object_name对象。在使用对象时,直接使用object_name的形式即可。(4)导入模块中的多个对象:这将从名为module_name的模块中导入多个对象。在使用这些对象时,可以直接使用其名称。8.import9.try...except二、Python基础语法try...except是Python中用于处理异常的语句块。它允许我们在代码中捕获和处理可能发生的异常,以避免程序崩溃或意外终止。try...except的基本语法如下:在try块中,我们放置可能会引发异常的代码。如果在执行这些代码时发生了异常,那么程序将跳转到对应的except块中,进行异常处理ExceptionType是期望捕获的异常类型。你可以指定具体的异常类型,如ValueError、TypeError等,也可以使用Exception来捕获所有异常。如果省略了ExceptionType,则默认捕获所有异常9.try...except二、Python基础语法示例:需要注意的是,try...except块可以有多个except块,用于处理不同类型的异常。也可以使用finally块来定义一段无论是否发生异常都会执行的代码10.格式化时间戳二、Python基础语法时间戳转换为datetime对象时间戳是指自特定时间(通常是1970年1月1日00:00:00UTC)以来经过的秒数或毫秒数。如果为毫秒数,需要将毫秒数除以1000以获得秒级。fromtimestamp()方法接受一个时间戳作为参数,并返回相应的datetime对象。fromtimestamp()方法默认将时间戳解释为本地时间。如果要将时间戳解释为其他时区的时间,可以使用datetime.timezone参数进行指定。通常情况下,毫秒级时间戳是13位数10.格式化时间戳二、Python基础语法日期时间对象格式化为字符串strftime()是Python中datetime模块中的一个方法,用于将日期时间对象格式化为字符串。strftime()方法接受一个格式化字符串作为参数,并返回格式化后的字符串表示。格式化字符串中包含特定的格式代码,用于指定日期时间的各个部分的显示方式。%Y表示年份%m表示月份%d表示日期%H表示小时%M表示分钟%S表示秒数。三、基于paho-mqtt库进行MQTT通信下面是一个使用Python和paho-mqtt库进行MQTT通信的简单示例:函数:函数是一个独立的代码单元,接收输入并执行任务,它的调用和控制由调用者控制。回调函数:回调函数是一个可以被传递给其他函数的函数,它在特定事件或条件发生时被调用,控制流程由调用它的函数控制。三、基于paho-mqtt库进行MQTT通信下面是一个使用Python和paho-mqtt库进行MQTT通信的简单示例:(1)on_connect通常包括以下参数:client:MQTT客户端对象,表示连接成功的客户端实例。userdata:用户自定义数据,可以在连接时传递给客户端。flags:连接标志,包含一些与连接状态相关的标志。rc:连接结果代码,表示连接的结果状态(0表示连接成功,其他值表示连接被拒绝)。(2)on_message通常包括以下参数:client:MQTT客户端对象,表示接收到消息的客户端实例。userdata:用户自定义数据,可以在连接时传递给客户端。msg:表示接收到的消息对象,通常包括消息的主题、负载、QoS等信息。四、 Tkinter1.Tkinter介绍Tkinter是Python中的标准图形用户界面(GUI)库,它提供了创建窗口、控件和处理用户事件的功能。Tkinter是基于Tcl/Tk工具包开发的。优点易于学习和使用跨平台性大量的控件和布局选项可扩展性四、 Tkinter2.Tkinter的使用window:表示要将标签放置在哪个窗口中,可以是主窗口或其他容器组件。textvariable:表示要在标签中显示的文本变量。这个变量可以是StringVar对象,用于动态更新标签的文本内容。font:表示标签的字体设置。在示例中,使用了"Arial"字体,并设置字号为14。wraplength:表示标签的换行宽度。如果文本内容超过该宽度,标签会自动换行显示。思政专栏2020年,为了抗击疫情,全国人民响应号召,尽量不出门、不聚集,“宅”着度过这个春节。全国“战疫”的非常时期,央视频在火神山、雷神山医院施工现场的24小时滚动直播,热度空前。这是一家央企(中国电信)联合一家央媒(央视频)给另外一家央企(中国建筑)施工现场开通了5G慢直播,“火神山、雷神山云监工”的慢直播有着受众主导、原生态、自组织互动与非目的性等传播特征。5G慢直播科技创新的力量——5G+云网技术的应用思政专栏抗击武汉新冠肺炎疫情之下,亿万“云监工”通过5G+云网实时在线慢直播技术见证了火神山、雷神山医院建设的“中国速度”。从“云监工”到“云登顶”,背后是中国通信业不断突破核心技术,实现重大技术从“跟跑”“并跑”到“领跑”的跨越式发展。5G+云网技术的应用,不仅保障了医院建设的高效协调,也使得亿万网民能够实时见证这一历史时刻。火神山医院建设科技创新的力量——5G+云网技术的应用思政专栏(1)通过分享此案例,能让学生明白:1)5G+云网技术的科技创新在社会发展中的重要作用。2)医院的快速建成,体现了国家将人民生命安全和身体健康放在首位的价值观。(2)同样也能引导学生学习:面对疫情的医护人员和建筑工人的责任感和使命感,勇于担当,积极投身抗疫一线的奉献精神。战疫科技创新的力量——5G+云网技术的应用课堂小测不定项选择题1、(

)用于将对象转换为字符串表示形式。len()print()str()decode()2、使用(

)方法将字节串byte_string解码为字符串json_data。json.loads()print()loads()decode()CD课堂小测不定项选择题3、range(3,20,4)输出的结果为(

)。[3,7,11,15,19][3,4][3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20][3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19]4、进行MQTT通信时,需要导入(

)。json库tkinter库paho-mqtt库datetime库AC课堂小测不定项选择题5、(

)为连接成功的回调函数。on_connect()on_message()subscribe()connect()APART04任务实施Assignmentimplement一、实施准备1.设备工具准备设备清单分类名称数量图例规格要求实训设备路杆设备1套

/笔记本电脑(含鼠标和充电线)1套Windows7以上系统一、实施准备1.设备工具准备设备清单分类名称数量图例规格要求防护用品工作服1套/安全帽1个/工作手套1双/辅助材料无纺布1张/一、实施准备2.场地准备(1)锁止路杆设备(2)设置隔离栏(3)放置安全警示牌(4)启动路杆设备路杆电源开关设置隔离栏四个活动滚轮悬空放置安全警示牌二、RSI消息处理项目开发1.开发内容此次任务基于Python脚本语言处理RSI消息,并使用Python的图形用户界面(GUI)库Tkinter来实时显示RSI消息项目内容包括以下几点:(1)云服务器通过MQTT通信接收RSI消息。(2)云服务器处理RSI消息。(3)通过Tkinter窗口实时显示处理后的数据。Python脚本伪代码(全部模块)二、RSI消息处理项目开发2.编写Python脚本(分模块)定义MQTT通信连接与消息处理函数功能要求如下:订阅主题消息处理(转换及拼接,需要注意订阅的RSI消息没有交通标志或交通事件的情况)MQTT通信连接与消息处理模块伪代码二、RSI消息处理项目开发2.编写Python脚本(分模块)定义MQTT通信连接与消息处理函数MQTT通信连接与消息处理模块伪代码(续)二、RSI消息处理项目开发2.

Python脚本编写(分模块)连接MQTT代理

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论