书签 分享 收藏 举报 版权申诉 / 85
上传文档赚钱

类型传感网应用开发(高级)课件第7章.ppt

  • 上传人(卖家):晟晟文业
  • 文档编号:4223939
  • 上传时间:2022-11-21
  • 格式:PPT
  • 页数:85
  • 大小:22.97MB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《传感网应用开发(高级)课件第7章.ppt》由用户(晟晟文业)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    传感 应用 开发 高级 课件
    资源描述:

    1、7.1 NB-IoT7.1 NB-IoT技术简介技术简介主要内容:主要内容:1 1、LPWANLPWAN2 2、NB-IOTNB-IOT的应用的应用3 3、NB-IOTNB-IOT的网络结构的网络结构图图7-1 LPWAN7-1 LPWAN和传统无线传输技术的比较和传统无线传输技术的比较1 1、LPWANLPWAN基于基于NB-IOTNB-IOT的智能远传水表的智能远传水表采用电池采用电池供电寿命供电寿命可达达可达达6 6年年以上以上应用:给排水、应用:给排水、支管流量监测、支管流量监测、供水漏洞损治理供水漏洞损治理基于基于NB-IOTNB-IOT的智能远传水表的智能远传水表2 2、NB-IO

    2、TNB-IOT的应用的应用NB-IoT物联网燃气表物联网燃气表2 2、NB-IOTNB-IOT的应用的应用智能井盖智能井盖3 3、NB-IOTNB-IOT的网络结构的网络结构图图7-3 NB-IOT7-3 NB-IOT网络结构图网络结构图NB-IoT关键技术10NB-IoT关键技术与特点p NB IOT技术特点 海量连接NB-IoT一个小区能够支持5万个连接,支持低延时敏感度、超低的设备成本、低设备功耗和优化的网络架构;深度覆盖NB-IoT比LTE提升20dB增益,相当于发射功率提升了100倍,即覆盖能力提升了100倍,就算在地下车库、地下室、地下管道等信号难以到达的地方也能覆盖到;超低功耗N

    3、B-IoT聚焦小数据量、小速率应用,因此NB-IoT设备功耗可以做到非常小,NB-IoT终端模块的待机时间可长达10年;低成本低速率低功耗低带宽带来的是低成本优势,模块成本有望降至5美元之内。11NB-IoT关键技术与特点p 拥塞和过载控制 在Rel11采用ACB(Access Class Barring,接入等级限制)与EAB(Extended Access Barring,扩展型接入限制)相结合的双层控制机制来应对突发海量接入拥塞问题,终端从系统广播信息之中获取接入等级限制信息,并结合自身的接入等级来决定是否发起随机接入,同时网络可以根据当前的拥塞状况拒绝或允许终端接入。12NB-IoT关

    4、键技术与特点p 终端简化方案 为了降低设备复杂性和减小设备成本,NB-IoT定义了一系列的简化方案,主要包括:简化协议栈、简化RF;简化基带处理复杂度,相对于普通LTE,基带复杂度降低10%,射频降低约65%。Release 8Release 8Release 12Release 13Release 13CategoryCategory 4Category 1Category 0Cat-M1(eMTC)Cat-M2(NB-IoT)Downlink peak rate 150Mbps 10 Mbps 1 Mbps 1 Mbps 200 kbpsUplink peak rate 50 Mbps 5

    5、 Mbps 1 Mbps 1 Mbps 200 kbpsNumber of antennas22111Duplex Full duplexFull duplexHalf duplex Half duplex Half duplex UE receive bandwidth20 MHz20 MHz20 MHz1.4 MHz200 kHzUE transmit power23 dBm23 dBm23 dBm20 dBm23 dBmModem complexity100%80%40%20%15%1314NB-IoT关键技术与特点p PSM省电模式新增的“节电”状态。在此模式下,终端仍旧注册在网但信令

    6、不可达,从而使终端更长时间驻留在深睡眠以达到省电的目的。15NB-IoT关键技术与特点pPSM省电模式(续)如果周期性TAU为10分钟,设备每周上传一次数据,这样,两节5号电池可以用132月(11年)之久。16NB-IoT关键技术与特点p 扩展的不连续接收(DRX)空闲模式不连续接收周期由秒级扩展到分钟级或高达3小时,连接模式不连续接收周期支持5.12秒和10.24秒;相对于节电模式,大幅度提升下行可达性。17NB-IoT关键技术与特点p 增强覆盖 支持重传(Repetition)-更多重传次数带来HARQ增益,以更低速率换取覆盖增益;-下行最大重传次数为2048、上行最大重传次数为128。1

    7、8NB-IoT网络部署 NB-IoT支持3种不同部署方式,分别是独立部署、保护带部署、带内部署。主要部署在低频频段。283242NB-IoTMHz880CDMA879.106独立部署独立部署Stand-alone保护带部署保护带部署Guard-zoneLTE BandwidthGuard-band for NB-IoTLTE Bandwidth带内部署带内部署In-band1 PRB for NB-IoT19NB-IoT网络部署部署方式频谱共存小区峰值速率覆盖容量独立部署频谱独占,不存在与现有系统共存问题与GSM共站共存需200KHz保护间隔,与CDMA需285KHzDL 130kbpsUL

    8、240kbpsMCL164dB重发次数少,速率高119234/小区随机接入容量受限保护带部署需考虑与LTE共存问题,如干扰规避,射频指标等NL共站无需保护间隔DL 130kbpsUL 240kbpsMCL164dB重发次数多,速率高34447/小区寻呼容量受限带内部署需考虑与LTE共存问题,如干扰规避,射频指标等NL共站无需保护间隔,但需要避开PDCCH,PRS等DL 95kbpsUL 240kbpsMCL164dB重发次数多,速率低18201/小区下行业务信道受限谢谢!一二CoAP协议概述CoAP协议格式简述三UDP工具调试CoAP及数据详解222022-11-212022-11-2123一

    9、01CoAP协议来源02CoAP资源描述03CoAP观察模式04CoAP块传输2022-11-212401 CoAP协议来源 基于REST(Representational State Transfer)的网络传输协议 用于轻量级M2M(Machine to Machine)取代HTTP,用于物联网 协议传输层采用UDP 小巧,最小数据包4字节 可靠性远不如HTTP/MQTT 适用于连续流系统,如环境监测2022-11-212502 CoAP资源描述 一个CoAP资源可以描述成一个URL 如:一个测量温度的传感嚣,其数据访问可以通过如下URL实现CoAP:/machine.address:56

    10、83/sensors/temperature2022-11-212603 CoAP观察模式客户端服务端ttT、Hum、发送观察请求请求信息被记录T、Hum有变化新值发回T、Hum显示等使用2022-11-212704 CoAP块传输 特点:小巧精简 也能传输大块数据协议有些选项可以设定分块大小基于分块选项,服务器完成数据拆分、客户端完成组装2022-11-2128二2022-11-21297654321016位Message ID2位版本号2位报文类型4位Token长度8位Message ID编号,表示为c.dd固定的4字节5位d值3位c值之后的为可选项Token内容,字节长度由上述规定Opt

    11、ion内容,长度不定,Option部分包含Option Delta、Option Length和Option Value三部分8位置1,值为0 xFF,为报文和负载之间的分隔符Payload内容,实际负载数据内容字节0字节1字节2字节3字节4-n字节n+1-k字节k+1字节m+1-x2022-11-21302022-11-2131三2022-11-2132确定与CoAP服务器的网络连接2022-11-2133NetAssist.exe分析工具2022-11-21342022-11-2135改为 134.102.218.18:5683改为 42 01 00 01 59 5C B4 74 65 7

    12、3 74发送 42 01 00 01 59 5C B4 74 65 73 74收到 62 45 00 01 59 5C 48 01 AA 57 EE B9 90 5F B6 80 FF 77 65 6C 63 6F 6D 65 20 74 6F 20 74 68 65 20 45 54 53 49 20 70 6C 75 67 74 65 73 74 21 20 6C 61 73 74 20 63 68 61 6E 67 65 3A 20 32 30 31 39 2D 31 31 2D 30 33 20 31 31 3A 35 34 3A 31 31 20 55 54 43 2022-11-2

    13、1367654321016位Message ID2位版本号2位报文类型4位Token长度8位Message ID编号,表示为c.dd5位d值3位c值Token内容,字节长度由上述规定Option内容,长度不定,Option部分包含Option Delta、Option Length和Option Value三部分8位置1,值为0 xFF,为报文和负载之间的分隔符Payload内容,实际负载数据内容发送 42 01 00 01 59 5C B4 74 65 73 744201 00 01 59 5C B4 74 65 73 74版本号:01,Ver 1报文类型:00,即要求确认回复的信息 00:

    14、CONfirmable 01:NON-confirmable 10:ACKnowledgement 11:ReSeTToken长度为2个字节报文编号:c为000,即0;d为00001,即1;组合:0.01 表明本报文要取数据状态码请求类型0.00EMPTY0.01GET0.02POST0.03PUT0.04DELETE报文编号,这里组合为1,即第1个报文Token具体内容,可以表示参数或属性。根据实际需要。0 x59、0 x5C 即为业务参数或参数因为没为0 xFF分隔字节,因此,该报文没有payload内容,其后各字节为option部分内容,需单独解析2022-11-2137Option内容

    15、:B4 74 65 73 74u 第1个字节:B4 10 11 01 00 Delta:11,表示取URL Length:4,表示option数据有4个字节u 其后4个字节为option数据 74:t 65:e 73:s 74:t11 42022-11-21382022-11-21基于Proteus的单片机项目实践教程-项目1之C51入门39收到 62 45 00 01 59 5C 48 01 AA 57 EE B9 90 5F B6 80 FF 77 65 6C 63 6F 6D 65 20 74 6F 20 74 68 65 20 45 54 53 49 20 70 6C 75 67 74

    16、 65 73 74 21 20 6C 61 73 74 20 63 68 61 6E 67 65 3A 20 32 30 31 39 2D 31 31 2D 30 33 20 31 31 3A 35 34 3A 31 31 20 55 54 43 FF2022-11-2140收到数值拆分如下:62:版本为01;消息类型为10,即ACK消息,对CON消息的回复;Token长度为2。45:0100 0101;c=2,d=5,c.dd=2.05,表示内容回复正常。00 01:报文消息编号,表示消息只有1个。59 5C:Token数值,长度2字节,表示参数或属性。48 01 AA 57 EE B9 9

    17、0 5F B6 80:option数值2022-11-2141收到数值拆分如下:FF 分隔字节如下为真实负载内容77 65 6C 63 6F 6D 65 20 74 6F 20 74 68 65 20 45 54 53 49 20 70 6C 75 67 74 65 73 74 21 20 6C 61 73 74 20 63 68 61 6E 67 65 3A 20 32 30 31 39 2D 31 31 2D 30 33 20 31 31 3A 35 34 3A 31 31 20 55 54 43 welcome to the ETSI plugtest!last change:2019-

    18、11-01 06:43:11 UTCSTM32CubeMX简介简介 STM32CubeMX是ST公司推出了专门用于生成STM32的HAL代码的生成软件。STM32Cube 是一个全面的软件平台,包括了ST产品的多种系列。平台包括了STM32Cube 硬件抽象层(一个STM32抽象层嵌入式软件,确保在STM32系列最大化的便携性)和一套的中间件组件(RTOS、USB、FatFs、TCP/IP、Graphics等等)。STM32CubeMX简介特点及优势简介特点及优势时钟树配置微控制器图形化配置外围设备和中间件的功能模式初始化参数C代码生成项目覆盖STM32微控制器的初始化符合IAR,Keil的和

    19、GCC编译器对于新的产品设计,使用STM32Cube可加速开发过程,并为以后的产品平台移植打下良好的基础1234微处理器的选型方便直观微处理器的选型方便直观任务要求任务要求 使用STM 32CubeMX工具配置NB-IOT相关的硬件(系统时钟、RTC、USART1、USART2、GPIO、ADC)。任务:任务:1、系统时钟:、系统时钟:Crystal/Ceramic Resonator2、RTC:实时时钟RTC(Real_Time Clock)的缩写3、串口:使用、串口:使用USART1与与USART2的异步通信方式的异步通信方式4、GPIO:配置:配置IO口,口,PA8位输出位输出LED25

    20、、ADC:模数转换,:模数转换,IN0输出输出硬件硬件配置配置1、新建工程、新建工程创建一个创建一个STM32CubeMXSTM32CubeMX新工程新工程步骤说明:步骤说明:单击单击File-New ProjectFile-New Project1、新建工程、新建工程选择芯片型号选择芯片型号STM32L151C8T6STM32L151C8T6步骤说明:步骤说明:Port Number SearchPort Number Search处选择处选择STM32L151C8STM32L151C81、新建工程、新建工程选择芯片型号选择芯片型号STM32L151C8T6STM32L151C8T6步骤说明

    21、:步骤说明:选择选择STM32L151C8TxSTM32L151C8Tx点击点击Start ProjectStart Project122、配置硬件、配置硬件系统时钟配置系统时钟配置选择选择RCCRCC步骤说明:步骤说明:点击点击System CoreSystem Core123Low Speed ClockLow Speed Clock-选择选择Crystal/CeramicCrystal/Ceramic Resonator Resonator晶体晶体/陶瓷谐振器陶瓷谐振器另一种:另一种:BYPASS Clock BYPASS Clock SouceSouce旁路时钟源旁路时钟源2、配置硬件

    22、、配置硬件 ADC ADC配置配置步骤说明:步骤说明:点击点击AnalogAnalog选择选择ADCADC123选择选择IN0IN02、配置硬件、配置硬件 RTC RTC配置配置步骤说明:步骤说明:点击点击TimerTimer选择选择RTCRTC123勾选勾选Active Clock Active Clock SourceSource、Active CalendarActive Calendar45选择选择Hourformal24Hourformal24选择选择Binary data Binary data formatformat2、配置硬件、配置硬件USART1USART1配置配置步骤说明

    23、:步骤说明:点击点击ConnectivityConnectivity选择选择USAR1USAR1123勾选勾选AsynchrononusAsynchrononus设置波特率、数据位、设置波特率、数据位、有无校验位和停止位有无校验位和停止位2、配置硬件、配置硬件USART1USART1配置配置步骤说明:步骤说明:选择选择NVIC SettingsNVIC Settings标签标签 勾选勾选USART1 USART1 global global interruptinterrupt122、配置硬件、配置硬件USART2USART2配置配置步骤说明:步骤说明:点击点击ConnectivityConn

    24、ectivity选择选择USAR1USAR1123勾选勾选AsynchrononusAsynchrononus设置波特率、数据位、设置波特率、数据位、有无校验位和停止位有无校验位和停止位2、配置硬件、配置硬件USART2USART2配置配置步骤说明:步骤说明:选择选择NVIC SettingsNVIC Settings标签标签 勾选勾选USART1 USART1 global global interruptinterrupt122、配置硬件、配置硬件 GPIO GPIO配置配置PA8PA8输出输出步骤说明:步骤说明:右击右击PA8PA8管脚管脚 点击点击GPIO_OutputGPIO_Out

    25、put12PA8输出引脚2、配置硬件、配置硬件 GPIO GPIO配置配置PA8PA8输出输出步骤说明:步骤说明:点击点击System CoreSystem Core 选择选择GPIOGPIO1234 User Label User Label输入输入 LightLight 选中选中ModifiedModifiedPA8输出引脚3、生成、生成 原始代码原始代码步骤说明:步骤说明:选中选中Project ManagerProject Manager标标签签 Project Location Project Location填入项填入项目名称目名称“NB-IOT-LampNB-IOT-Lamp”1

    26、235 在在project Locationproject Location中选中项目创建路径中选中项目创建路径 ToolchainToolchain/IDE/IDE 选择选择“MDK-ARMV5MDK-ARMV5”工程路径(建议工程路径(建议非中文路径非中文路径)点击点击GENERATE CODEGENERATE CODE生成工程初始代码生成工程初始代码4PA8输出引脚3、生成、生成 原始代码原始代码6工程径(建议非工程径(建议非中文路径中文路径)生成成功,点击生成成功,点击Open Open Project Project 通讯协议之硬件件层协议介绍3PA8输出引脚MDK-ARM打打开工程

    27、开工程成功生成基础工程成功生成基础工程可开始后续程序的编写。可开始后续程序的编写。01全局变量、自定义函数的声明02自定义函数功能解析03主函数功能代码目录目录CONTENTS01掌握工程文件的添加02掌握变量定义及函数声明方式03掌握NB模块的基本配置步骤技能技能知识点知识点CONTENTS04掌握光照控制灯及模式切换应用开发1全局变量、自定义函数的声明全局变量、自定义函数的声明知识链接01STM32CubeMX生成工程介绍02函数声明和头文件添加STM32CubeMX生成工程介绍01 通过前次课程的学习,大家已经掌握了使用STM32CubeMX快速生成项目的方法。通过STM32CubeMX

    28、新建工程,快捷、方便,比使用keil5更加易于理解,不抽象。1、头文件的添加2、自定义变量的添加3、自定义函数的声明02(1)、打开main.c 文件(2)、头文件,变量及函数声明处1、头文件的添加2、自定义变量的添加3、自定义函数的声明02(1)、添加新增的头文件引用,内容如下:#include user_cloud.h#include user_oled.h#include user_usart1.h#include user_usart2.h#include key.h#include oled.h(2)、添加变量声明 uint8_t usart1RxBuf;/串口1接收缓存 uint8

    29、_t usart2RxBuf;/串口2接收缓存(3)、添加自定义函数声明 int fputc(int ch,FILE*f);/定向输出函数float get_illumination_value();/ADC采集并转化为光照值void control_light(uint8_t status);/控制灯亮灭功能函数void automatic_mode(int value,int*light_flag);/根据光照强度自动控制灯亮灭的功能函数void HAL_UART_RxCpltCallback(UART_HandleTypeDef*huart);/串口中断服务程序void HAL_UART

    30、_ErrorCallback(UART_HandleTypeDef*huart);/串口错误处理程序2自定义函数功能解析自定义函数功能解析任务要求任务要求 本任务要求用户编写功能函数,实现以下函数功能(1)串口的定向输出程序(2)光照强度采集及处理程序(3)灯的亮灭控制程序(4)根据光强自动控制程序(5)串口中断服务程序(6)串口中断错误处理程序功能函数01fputc02Floatget_illumination_value03control_light04automatic_mode05HAL_UART_RxCpltCallbackHAL_UART_ErrorCallback06101此处调

    31、用了UART串口写函数,函数功能将字符通过串口1发出HAL_UART_Transmit函数原型如下在main.c文件添加函数:(此处添加位置任意,前面已经声明)int fputc(int ch,FILE*f)HAL_UART_Transmit(&huart1,(uint8_t*)&ch,1,10);return ch;02Floatget_illumination_value函数:使用stm32 ADC功能,采集光照产生的模拟电压信号值,利用相关公式计算,将电压值转化为光照强度,作为返回值输出float get_illumination_value()float adcValue;float

    32、illumination_value;HAL_ADC_Start(&hadc);HAL_ADC_PollForConversion(&hadc,10);adcValue=HAL_ADC_GetValue(&hadc);adcValue=adcValue*3.3/4096.0;illumination_value=pow(10,(1.78-log10(33/adcValue-10)/0.6);/将电压值转换为光照强度 oled_display_illumination(illumination_value);HAL_ADC_Stop(&hadc);return illumination_valu

    33、e;通过通过IO口输出高低电平控制继口输出高低电平控制继电器开关,进而控制灯的亮灭电器开关,进而控制灯的亮灭。此处使用的。此处使用的IO引脚为引脚为PA8,oled_display_light_status为为LED屏幕显示函数,显示灯的亮灭屏幕显示函数,显示灯的亮灭状态状态03void control_light(uint8_t status)if(status=LIGHT_OPEN)HAL_GPIO_WritePin(Light_GPIO_Port,Light_Pin,GPIO_PIN_SET);oled_display_light_status(LIGHT_OPEN);else HAL_

    34、GPIO_WritePin(Light_GPIO_Port,Light_Pin,GPIO_PIN_RESET);oled_display_light_status(LIGHT_CLOSE);04automatic_mode(int value,int*light_flag)Value 采集的光照强度值采集的光照强度值light_flag 当前灯的状态标志当前灯的状态标志0为灭,为灭,1为亮为亮now_ill_value 存储的用于比较的光照强度存储的用于比较的光照强度当检测到光照强度低于当检测到光照强度低于3时且灯灭时,打开灯,时且灯灭时,打开灯,并记录下当前光照强度。当检测到灯的强度比之并记

    35、录下当前光照强度。当检测到灯的强度比之前存储的强度值高于前存储的强度值高于1以上(表示外界光照变强以上(表示外界光照变强),且灯亮时,关闭灯。),且灯亮时,关闭灯。void automatic_mode(int value,int*light_flag)static int now_ill_value;if(value3)&(*light_flag=0)control_light(LIGHT_OPEN);*light_flag=1;HAL_Delay(10);now_ill_value=(int)get_illumination_value();else if(now_ill_value+1E

    36、rrorCode);huart-ErrorCode=HAL_UART_ERROR_NONE;if(huart=&huart1)HAL_UART_Receive_IT(&huart1,&usart1RxBuf,1);/重新打开串口1接收中断 if(huart=&huart2)HAL_UART_Receive_IT(&huart2,&usart2RxBuf,1);/重新打开串口2接收中断3主函数功能代码添加主函数功能代码添加知识链接01参数介绍02初始化03主流程介绍04开发流程演示参数介绍参数介绍ill_value:经AD转换后得到的光照强度值mod_flag:=1表示自动控制模式,=0表示手动

    37、按键模式mod_flag:=1表示当前灯亮,=0表示当前灯灭0102在main主函数,硬件初始化部分添加相关外设初始化代码。主要包含1、oled屏初始化2、按键初始化 3、初始屏显信息4、开串口中断5、nb模块初始化6、nb模块链接服务器7、相关变量的定义OLED_Init();keys_init();oled_display_information();oled_display_connection_status(LINKING);oled_display_light_status(LIGHT_CLOSE);oled_show_mode(MANUAL);HAL_UART_Receive_IT

    38、(&huart1,&usart1RxBuf,1);HAL_UART_Receive_IT(&huart2,&usart2RxBuf,1);wait_nbiot_start();nbiot_config();link_server();int i,ret,ill_value,lightStatus,int link_flag=0,send_count;uint8_t mod_flag=0,c=0;03在main.c主文件中添加右侧代码03代码主要实现了,间隔1.5s(i+14)采集传感器数据(get_illumination_value(),当为自动模式时,调用automatic_mode()控制灯的亮灭,将数据上传至云平台send_data_to_cloud(),同时对云平台返回的数据进行接收和处理rcv_data_deal(),switch(ret);主函数中包含扫描按键的代码,对key2和key3进行扫描,当key2按下时,灯的亮灭切换。当key3按下时,灯的控制模式切换(手动和自动)04NB配置nbiot_config在user_cloud.c文件中添加1、nbiot_config()的nb配置代码2、get_time_from_server()函数304程序编译完成以上代码添加后,保存并编译工程,如下图所示

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:传感网应用开发(高级)课件第7章.ppt
    链接地址:https://www.163wenku.com/p-4223939.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库