版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
物联系统原型的程序编写浙教版信息技术七年级下册|2025-2026学年回顾:什么是闭环反馈控制?如左图的智能照明控制面板所示,闭环反馈控制系统就像一个“全自动管家”,能自主感知环境并做出反应,无需人工干预。01.持续检测:环境感知的“眼睛”系统中的传感器如同视觉器官,全天候不间断地感知周围环境的光线强度,实时采集数据,为后续决策提供依据。02.自动判断:逻辑分析的“大脑”控制器将传感器采集的实时数据与预设的标准值进行精准对比和逻辑运算,判断当前光线是否满足需求,决定下一步行动。03.动态调节:执行指令的“手脚”根据判断结果,系统自动向执行设备(如灯具)发送指令,控制其开启、关闭或调节亮度,形成完整的“检测-判断-调节”闭环。思考:这个系统之所以能“智能”,关键在于它能不断地“检测-判断-调节”。那么,是谁在指挥硬件完成这些动作呢?硬件是躯体,程序是大脑!硬件=躯体开发板、传感器、执行器等硬件设备,构成了物联网系统的物理基础,就像人的四肢五官,负责感知和行动。指令的中枢硬件无法自主决策,必须依靠程序发出的指令,才能完成从感知信号到执行动作的完整闭环。程序=大脑程序是系统的灵魂,它定义了设备如何响应环境变化、如何与用户交互,赋予了硬件“思考”的能力。关键结论:所有的控制逻辑、反馈规则,都需要通过程序来定义和实现,程序是连接感知与行动的核心桥梁。本节课任务:编写智能光照闭环控制系统程序核心任务目标利用编程逻辑,驱动硬件系统实现全自动的智能光照管理。无需人工干预,系统将根据环境光线变化自主决策,达成“人来灯亮、人走灯灭”之外的纯环境响应控制。预期运行效果环境光线强度低于阈值时,LED灯组自动点亮,提供照明;当环境光线充足时,LED灯组自动熄灭,节约能源。实现完全闭环、自适应的光感调节。▍学习路径:从代码到闭环的完整流程01.认识结构理解程序的基础框架,掌握初始化与循环结构的逻辑关系。02.编写模块分步编写传感器读取与LED控制代码,实现基础功能模块。03.闭环控制添加条件判断语句,建立“感知-决策-执行”的完整闭环。04.调试优化调整光敏阈值参数,优化系统响应灵敏度,确保稳定运行。物联程序的五大“法宝”通过图形化编程工具(如Scratch),我们可以直观地将这五大模块“积木化”拼接,无需复杂的代码语法,就能快速构建出完整的物联网应用逻辑,让创意轻松落地。01.系统初始化模块程序的“开场”,负责硬件启动、引脚配置与网络连接,为整个系统搭建运行的基础环境。02.数据采集模块如同系统的“感官”,通过各类传感器实时捕捉环境中的温度、湿度、光照等关键物理量。03.MQTT通信模块系统的“神经通道”,负责将采集的数据上传至云端,或接收云端下发的控制指令,实现互联互通。04.逻辑控制模块系统的“大脑”,根据预设规则或云端指令,对采集数据进行分析判断,做出智能决策。05.闭环反馈模块:将执行结果再次输入系统,持续优化控制策略,形成“感知-决策-执行-反馈”的完整闭环。系统初始化——程序的“开机准备”准备就绪,才能让程序在运行时稳扎稳打,避免出错。01.核心作用:打好运行的基石
为程序正式运行做好全方位的铺垫,配置必要的环境参数,确保后续逻辑执行时不会因“缺东少西”而崩溃。设备初始化告知软件当前运行的硬件环境,适配传感器、控制器等外设,让程序“认识”它的运行载体。连接服务器建立MQTT等通信协议连接,打通设备与云端的数据通道,保障指令和信息能顺畅交互。状态复位将所有变量、寄存器恢复至初始值,消除历史运行残留的影响,确保程序从“零”开始执行。生活化理解:就像我们每天上学前要背好书包、检查文具、确认路线一样,程序在正式处理业务逻辑前,也必须完成环境检查、资源分配和状态清零,才能保证后续过程的顺畅。模块二&三:感知世界&连接世界01.数据采集模块:系统的“感官”核心作用:赋予系统“视觉”与“听觉”,如同生物的感觉器官,实时捕捉环境信息。关键任务:读取光敏、声音等各类传感器的实时数据,为后续决策提供原始依据。02.MQTT通信模块:万物的“对话”双向交互的桥梁不仅将采集到的数据“发布”到云端或终端,还能“订阅”并接收来自App或其他设备的控制指令,实现设备间的即时聊天与协作。这就像人类通过语言交流一样,MQTT协议让孤立的设备拥有了统一的“语言”,构建起真正的物联网生态。模块四&五:思考决策&持续行动01.逻辑控制模块核心作用:系统的“决策中心”,负责接收输入并输出指令。关键任务:基于采集到的环境数据进行逻辑判断,触发执行器动作(如点亮LED、启动电机)。“这是程序的‘大脑’核心,就像人类的中枢神经系统,负责思考分析并做出最终的决定。”02.闭环反馈模块核心作用:构建系统的“生命循环”,确保功能持续运行不中断。关键任务:通过循环语句,让“数据采集-逻辑判断-执行控制”的流程周而复始,动态响应环境变化。“让系统像一个不知疲倦的智能保安,24小时不间断地巡逻、感知环境并做出即时响应。”动手之前:准备工作硬件就绪,连接无误仔细检查micro:bit控制器、各类传感器及LED灯的电路连接,确保引脚对应正确,没有短路或接触不良的情况。软件启动,环境配置打开图形化编程软件,新建项目并完成基础环境配置,熟悉代码块的分类与位置,为后续编写程序做好准备。心态调整,大胆尝试保持耐心,不要害怕出错。编程的过程就是不断“试错”和“调试”的过程,大胆尝试不同的指令组合,探索无限可能。“请同学们检查自己的硬件连接,确保和我们之前搭建的一样。打开编程软件,我们马上开始写代码!”编写模块一(1):设备初始化核心目标建立软件与硬件的连接桥梁,让编程环境“认识”并适配我们手中的物理控制器与传感器。01寻找积木在“硬件”分类中,找到“初始化”积木模块,这是所有硬件交互的起点。02选定型号选择对应的主控设备型号,例如micro:bit,确保软件与硬件指令集匹配。03配置引脚定义传感器与LED灯连接的物理引脚(如P0、P1),建立数据通路。思考时刻:为什么初始化步骤必须放在程序的最开始?如果省略这一步,传感器数据还能被正确读取吗?图示:Scratch图形化编程中典型的初始化与控制积木组合,通过直观的积木拼接完成硬件交互逻辑。编写模块一(2):MQTT初始化核心目标建立物联网设备与MQTT服务器的稳定连接,为后续的数据传输、指令下发搭建基础通信桥梁。01找到积木在“网络”分类中,找到并拖拽“连接MQTT服务器”积木块到代码区。02配置参数准确填写服务器的地址(IP/域名)和对应的端口号,确保网络通路畅通。03设备ID标识设置唯一的设备ID(如stu_zhangsan_01),作为服务器识别设备的身份凭证。关键提示:这里的服务器参数必须和老师提供的完全一致,否则就像寄信写错了地址,设备将无法连接服务器,数据也会发送失败!图示:MosquittoMQTT服务器标识,是我们实验中常用的开源消息代理。模块一完成!我们来测试一下01.积木逻辑组装将“设备初始化”与“MQTT初始化”积木,按顺序嵌套放入“当程序启动时”的触发积木中,构建程序运行的基础逻辑框架。02.启动程序运行点击编程界面的“运行”按钮,让程序开始执行。此时请聚焦软件下方的控制台区域,仔细观察是否有实时的状态日志输出。03.验证连接状态若控制台打印出“MQTT连接成功”的提示,即代表设备已成功接入云端服务器,通信链路搭建完成。“初始化模块是地基,地基打牢了,我们的程序大楼才能稳固。”这一步的成功,意味着我们已经为后续的设备控制和数据传输做好了最关键的准备工作。编写模块二:数据采集核心目标通过编程积木读取光敏传感器的实时模拟数值,理解硬件输入与软件变量存储的对应关系。01在“硬件”分类中,找到“读取模拟引脚”的基础积木块。02将积木参数配置为传感器实际连接的端口,例如通用的P0端口。03创建新变量并命名为“光照强度”,将引脚读取值赋值给该变量。动手试一试:拖动积木运行程序,观察控制台输出。尝试用手遮挡光敏传感器,看看“光照强度”数值会发生什么变化?图示:变量在内存中的存储概念,程序将传感器的模拟信号转化为可计算的数字变量,让计算机能够“理解”物理世界的光照变化。小知识:什么是“变量”?生动类比:神奇的盒子变量就像一个可以重复使用的神奇盒子。我们把随时变化的光照数据、温度数据“放”进去,每次有新数据产生,盒子里的内容就会自动更新,永远保存着最新的信息。核心作用:数据的管家负责在程序中“存储”和“传递”数据。它让零散的信息有了统一的存放位置,方便后续的代码随时调取、计算和使用,是连接程序各个功能模块的重要桥梁。直观演示:动态更新初始光照值200变化后数值800就像盒子里的物品被替换,变量中的数据也会随环境实时刷新。💡一句话总结:变量是程序中用来存储可变数据的容器,让代码能灵活处理不断变化的信息。编写模块三(1):发布数据核心目标:掌握通过MQTT协议将硬件采集到的“光照强度”环境数据,成功发送至远程服务器的核心方法,实现物联网数据的上云传输。01.寻找积木在编程积木的“网络”分类中,精准定位并选择“MQTT发布”积木模块,为数据传输做准备。02.设置主题定义一个专属的主题(Topic),例如“class/light/data”,作为数据在服务器中传输和识别的唯一标识。03.绑定数据将实时采集的“光照强度”变量拖拽至“消息内容”区域,让硬件感知的环境信息转化为可传输的数字信号。“我们把传感器看到的‘世界’,通过这个‘发布’积木,告诉了全世界!这就是物联网最神奇的地方——让万物互联,数据共享。”编写模块三(2):订阅指令核心目标:让智能设备具备“聆听”能力,能够实时捕获并响应来自MQTT服务器下发的控制指令,实现远程交互与自动化控制。01找到关键积木在编程界面的“网络”分类中,找到并拖拽“当MQTT收到消息”积木到代码编辑区,作为指令触发的入口。02设置订阅主题为设备指定一个唯一的“频道”,例如输入主题名class/light/control,确保服务器与设备的主题一致。03编写响应逻辑在“收到消息”积木内部,添加控制硬件的程序,比如根据消息内容点亮或熄灭LED灯,完成指令的闭环响应。思考时刻:在MQTT协议中,“发布(Publish)”和“订阅(Subscribe)”分别扮演什么角色?它们的本质区别是什么?尝试结合生活中的广播或订阅报刊来理解。图解:MQTT的“传话游戏”发布/订阅模式核心逻辑MQTT协议基于发布/订阅(Pub/Sub)模式,引入Broker(消息代理)作为中介,将消息的发送者(发布者)与接收者(订阅者)解耦。发布者只负责发布消息到指定主题,订阅者只关注自己感兴趣的主题,无需了解对方的存在。01.设备发布消息传感器作为发布者,将“光照=100”等数据发布到Broker指定的主题A中。02.Broker转发分发Broker接收到消息后,负责将其推送给所有订阅了主题A的客户端,承担“中转站”角色。03.订阅端接收响应LED设备或手机App作为订阅者,实时收到Broker推送的消息并做出相应反馈。模块三完成!我们来测试一下01.积木拼接将“发布数据”积木拖拽并放置在“数据采集”积木的后方,确保两个积木逻辑串联,形成完整的数据处理流程。02.启动运行点击编程界面的运行按钮,让系统开始执行指令。此时,请将目光移向计算机的控制台窗口,或者打开配套的手机App进行查看。03.验证成功若控制台持续刷新输出“光照强度”的实时数值,或手机App上同步显示了环境数据波动,即代表数据链路搭建成功。核心小结:通过这一步的测试,我们成功打通了从“数据采集”到“云端发布”的全链路。现在,我们的系统已经真正实现了既能感知环境“看”数据,又能传输信息“说”数据!编写模块四(1):设定“分界线”01/核心目标我们需要为智能灯光系统设定一个判断标准:即环境光线达到什么程度时,我们认为该“亮灯”或“灭灯”。这是系统自动化决策的基础。02/关键操作步骤首先创建名为“光照阈值”的新变量,再为其赋予初始值(例如300)。这个数值并非固定,可根据教室或家庭的实际光线环境灵活调整。“这个阈值就是我们判断‘天黑’和‘天亮’的分界线。低于这个值,环境光线不足,我们就认为天黑了,系统就会触发亮灯程序。”阈值=标尺
就像尺子上的刻度,阈值为系统提供了明确的判断依据,让程序知道何时该执行下一步动作。编写模块四(2):如果...就...核心目标通过逻辑积木组合,实现“光照暗则自动亮灯,光照亮则自动灭灯”的智能感应控制逻辑闭环。关键操作步骤01选积木在“逻辑”分类中,拖拽添加“如果...那么...”控制积木到脚本区。02设条件在条件槽中搭建“光照强度<光照阈值”的比较逻辑判断。03加执行在“那么”分支中,添加“点亮LED灯”的执行积木块。深度思考:如果光照强度大于或等于设定的阈值,此时我们的程序应该让LED灯保持点亮状态,还是自动熄灭呢?图示为复杂的逻辑判断流程结构,通过“如果...那么...”的分支结构,程序能根据环境数据的变化,自动选择执行不同的动作指令,实现智能化的决策响应。编写模块四(3):如果...就...否则...01核心目标我们的目标是完善程序的逻辑判断,确保它能覆盖所有可能的运行情况。单一的“如果”只能处理一种条件,而引入“否则”分支后,系统就能对条件成立和不成立的两种状态分别做出响应,避免出现逻辑空白。02关键操作首先,在已有的“如果”积木右上角点击齿轮图标;接着在弹出菜单中选择添加“否则”分支;最后,在新出现的“否则”区域内,拖拽放入“熄灭LED灯”的执行积木,完成结构搭建。03逻辑闭环当光照强度数值小于预设阈值时,程序执行“点亮LED”;反之,当光照充足(条件不满足)时,程序自动进入“否则”分支,执行“熄灭LED”动作,形成完整的条件反射逻辑链。💡核心提示:通过添加“否则”分支,我们让程序拥有了处理“正反”两种情况的能力,这是编写健壮、无死角程序的重要基础。模块四完成!我们来测试一下01/操作步骤将“判断逻辑”积木放置在“发布数据”积木之后,搭建好完整的程序链条。随后点击运行按钮,用手交替遮挡和松开传感器,观察系统的实时反馈。02/异常现象程序运行后,LED灯仅在初始阶段亮了一次,之后无论如何遮挡或松开传感器,灯光都不再发生任何变化,系统似乎“停滞”了。03/核心追问为什么灯只亮一下就无响应了?我们的系统当前只是一次性执行逻辑,它离真正能持续感知、实时反馈的“智能系统”还差了什么关键机制?关键洞察:智能系统的核心不仅是单次判断,更在于“循环感知”与“持续决策”的闭环能力。编写模块五:让程序“动起来”核心痛点:程序的“一次性”局限如果程序只执行一次,就无法持续感知和响应环境的实时变化,比如无法持续检测传感器数据或用户的操作指令。关键方案:引入“无限循环”积木通过添加“无限循环”结构,让程序代码块能够周而复始地重复执行,从而实现对环境的持续监控与即时反馈。形象类比:程序的“跑步机”“循环就像跑步机上的跑带,让我们的程序可以在上面一直跑,不停地检测环境信号、判断条件并执行相应动作。”可视化的“循环”图标,直观体现了程序持续运行、周而复始的特性。关键一步:把所有模块放进“循环”里01.找到“无限循环”积木在编程界面的“控制”分类中,找到核心的“无限循环”积木,它是让程序持续运行的关键基础。02.拖入三大核心模块将“数据采集”、“MQTT发布”和“逻辑判断”这三个功能模块,依次拖拽并嵌套到“无限循环”积木的内部区域,形成闭环逻辑。特别注意:初始化模块的位置初始化模块(如网络连接、参数配置)绝对不要放进循环里!这类代码只需要在程序启动时执行一次即可,放入循环会导致资源浪费甚至程序逻辑混乱。总结:循环负责“重复执行业务逻辑”,初始化负责“一次性环境准备”,二者分工明确是程序稳定运行的前提。揭秘:嵌套循环后发生了什么?01.程序启动:初始化环境程序开始运行,首先执行初始化操作,完成变量定义、硬件端口配置与系统参数加载,为后续循环做好准备。02.进入主循环:往复执行逻辑依次完成“读取环境光照强度”→“发布实时传感数据”→“逻辑判断并控制LED亮灭/亮度”的完整链路。执行完毕后,程序指针回到循环开头,周而复始,永不停止。构建完整的闭环反馈通过嵌套循环,系统实现了持续检测、持续判断、持续调节的自动化机制,让硬件系统具备了自适应环境变化的“生命感”,形成了稳定可靠的闭环控制系统。💡关键认知:循环不是简单的重复,而是让程序从“一次性执行”升级为“持续性服务”的核心逻辑。见证奇迹的时刻!第一步:启动程序确认硬件连接无误后,点击运行完整的程序代码,让系统进入实时监测状态,准备好见证神奇的联动效果。第二步:实景交互测试用手缓慢遮挡光敏传感器,观察LED灯是否自动亮起;移开手让光线恢复,观察LED灯是否自动熄灭。体验光线与灯光的即时响应。关键成功标志灯光状态能精准跟随手部遮挡动作实时、动态切换,无延迟、无卡顿,说明我们的光敏传感逻辑与硬件控制完全匹配。老师有话说“恭喜大家!你们刚刚亲手编写并实现了一个真正的智能物联系统。这不仅是代码的运行,更是从数字逻辑到物理世界的神奇跨越!”我们的“智慧大脑”全家福可视化编程的逻辑之美通过图形化积木的堆叠,我们将抽象的代码逻辑转化为直观的视觉表达。从传感器数据的读取到执行器的控制,每一个步骤都清晰可见,让编程思维变得触手可及。系统初始化配置参数,启动硬件,为循环运行做好准备。闭环工作流(采集→通信→判断→控制)持续采集环境数据,经通信上传与逻辑判断,实时输出控制指令,形成完整的物联闭环。“这就是我们亲手打造的物联系统‘大脑’,每一块积木都各司其职,协同工作。”保存你的杰作!STEP01完成保存点击界面上的“保存”按钮,为你的创意程序起一个专属名字,比如“我的智能台灯”,让它成为独一无二的作品。STEP02分享成果生成程序的分享链接,发送给同学、家人或老师,向他们展示你的编程成果,分享创作的喜悦与成就感。STEP03珍藏智慧每一行代码都凝聚着你的思考与尝试,是你智慧的结晶。好好保存这份作品,它见证了你编程路上的重要一步。“保存不仅是为了存储文件,更是为了记录你从创意到实现的完整旅程,让这份数字资产成为你成长的见证。”程序员的必备技能:调试与排错面对代码错误,保持冷静是关键。优秀的程序员不仅会写代码,更懂得如何通过系统的方法找到并解决问题。建立正确的心态程序出错是开发过程的常态,不要气馁。每一个bug都是一次学习的机会,优秀的程序员本质上都是经验丰富的“排错大师”。01.看细节仔细检查代码积木是否拼错,参数配置、语法格式是否符合规范要求。02.思逻辑梳理程序执行的流程,思考每一步的逻辑是否合理,是否与预期的结果一致。03.试分段将程序拆分成小块,分段运行测试,观察每一步的输出结果,快速定位问题点。故障排查(1):程序运行后,设备毫无反应初始化错误检查设备型号是否选择正确,引脚参数是否与实际硬件连接一致,错误的配置会导致设备无法响应指令。模块顺序错误确认初始化积木是否被错误放置在循环模块内部,导致设备不断重复初始化流程,无法执行后续核心逻辑。硬件连接异常排查USB数据线是否牢固插入,硬件开关是否打开,以及电路是否存在断路、接触不良等物理连接问题。💡核心解决思路优先校验初始化积木的参数配置,确认模块执行顺序,最后排查物理硬件连接的完整性。故障排查(2):控制台显示“MQTT连接失败”服务器配置错误检查服务器地址(IP/域名)和端口号是否与实验指导一致,避免因输入错误或使用了错误的协议端口(如TCP与SSL混淆)导致连接失败。设备ID冲突MQTT服务器通常要求设备ClientID全局唯一。若与其他同学或设备重复,会导致连接被拒绝,建议尝试更换包含个人信息的独特ID名称。网络环境异常确认电脑或开发板已正常连接网络,且当前网络未屏蔽MQTT服务端口(如1883/8883)。可尝试切换公共网络或手机热点进行测试排查。核心解决策略:回到代码中,仔细核对MQTT初始化函数中的每一个关键参数(服务器地址、端口、ClientID、用户名/密码),确保拼写、格式与实验文档完全一致,是解决此类问题的最有效手段。故障排查(3):灯的状态和预想的相反判断条件写反检查逻辑符号是否出错,比如把小于号(<)误写成大于号(>),导致程序的判断逻辑完全颠倒,从而让灯的状态与预期相反。阈值设置不合理环境光线的实际变化范围可能超出了你预设的阈值区间,使得光线检测的结果始终触发非预期的分支,导致灯的状态异常。LED引脚控制反检查控制指令是否写反,是否将原本应该“熄灭”LED的指令写成了“点亮”,或者高低电平的逻辑设置与硬件电路不匹配。核心解决思路:仔细检查“如果...否则...”积木中的逻辑符号(<或>)是否正确,同时校准光线阈值的数值,确保与实际环境光线变化范围相匹配。三人行,必有我师小组讨论·思维碰撞遇到技术难题时,先尝试与同桌或小组成员交流探讨,在思维碰撞中寻找解决思路,这是最直接有效的第一步。请教老师·专业指引当小组讨论无法攻克难关时,要勇敢举手向老师求助。老师的专业知识和经验能为我们拨开迷雾,少走弯路。分享经验·互助成长在自己解决问题后,主动向遇到困难的同学伸出援手,分享解题思路与技巧。帮助他人的同时,也是对自身知识的巩固。核心理念·协作共赢编程从来不是一个人的孤军奋战,而是团队协作的智慧结晶。在交流、求助与分享中,我们共同构建更完善的知识体系。本节课,我们学会了什么?01.物联程序
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 第1课 中国早期人类的代表-北京人教学设计初中历史中国历史 第一册统编版(五四学制)
- 安徽省安庆市高二信息技术《引导层的运用》教学设计
- 电磁调速异步电动机教学设计中职专业课-变压器与电动机-电气设备运行与控制-装备制造大类
- 2026年驾驶员安全教育培训考试试题及答案
- 第2课 左行点教学设计小学书法练习指导三年级下册湘美版
- 《不规则物体的体积》教学设计五年级下册数学人教版
- 2026年班班通培训测试题及答案
- 2026年明月镜片线上测试题及答案
- 2026年高校招聘技能测试题及答案
- 2026年品质管理测试题及答案
- 2026-2030中国家用空调市场运行状况及投融资发展趋势研究报告
- 沥青路面灌缝施工技术规范
- 2026年儿童康复科年度质控与安全管理计划
- 2025年甘肃省兰州市八年级地理生物会考真题试卷(含答案)
- 2026中国具身智能产业发展白皮书
- 国企行测常识900题题库
- 煤矿事故案例分析
- ASME B16.10-2022 阀门结构长度(中英文参考版)
- 2026年兵团连队职工种植技术高频错题专项练习题含答案
- 上海众合司法考协议书班
- 沟通的艺术课件
评论
0/150
提交评论