三分钟实现MQTT协议网关网口连接西门子SMART200PLC上传阿里云服务器

  MQTT协议网关网口连接西门子SMART200PLC操作说明v1.4  

目录

一. 使用流程

二. 准备工作

2.1 需要准备如下物品

2.2 LF220网关准备工作

2.3 PLC准备工作

2.4 电脑的准备工作

2.5 MQTT服务器准备工作

三. 阿里云IoT平台配置步骤

3.1 创建产品

3.2 添加设备

3.3 配置阿里云IoT平台物模型

3.4 获取连接阿里云IoT平台的参数

四. MQTT网关登陆平台配置步骤

4.1 登录

4.2 网关概况

4.3 MQTT连接配置

4.4 驱动管理

4.5 变量管理

五. 数据上报和写入配置

5.1 数据上报配置设置

5.2 写变量配置

六. 其他功能

七. 注意事项

前言:MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议的特点是轻量、简单、开放和易于实现的,同时,西门子PLC广泛应于工业控制领域,是一款性能高、稳定性强的PLC设备。

此文档将介绍如何使用MQTT协议网关串口连接西门子200SMART PLC,将PLC的数据通过MQTT协议传输到阿里云MQTT数据平台,用户可以在阿里云的MQTT台上实时接收到200SMART PLC的数据,实现将PLC数据上云,远程监控数据的功能。

  • 使用流程

流程如下,首次使用网关按照以下流程就可以实现将的PLC数据上传到阿里云的MQTT服务器,实现数据采集。

下文将按照此流程分步进行介绍说明。

  • 准备工作
  • 2.1需要准备如下物品

1) 西门子200SMART PLC一台

2) MQTT协议网关一台,天线和电源适配器(以下用LF220作为实例)。

3) SIM卡一张,有流量,大卡(移动,联通或者电信卡)。

4) 联网电脑一台(WinXP/Win7/Win8/Win10操作系统)。

5) 能登录阿里云的账号(本文以新开通的账号为例)。

6) USB转RS232线、网线、电工工具、导线若干。

    1. 2.2 LF220网关准备工作

网关相关技术参数与使用说明,可参考《LF220边缘计算网关使用手册V1.1》。

保证网关可以正常联网,可通过4G卡(移动/联通/电信流量卡,大卡)联网(需接上随网关附带的天线)或通过网线联网(需将路由器出来的网线接到网关的WAN口);

网关接12V24V直流电源,上电。(注意,电源正负极不要接反)。

2.2  PLC准备工作

PLC连接电源(注意电源是24VDC还是220VAC),将PLC网口和LF220的LAN口用网线连接起来。

    1. 电脑的准备工作

电脑安装“蓝蜂MQTT网关配置工具压缩包”。

进入蓝蜂官网(https://www.lanfengkeji.com/),点击【资源中心】→【技术手册】→【蓝蜂MQTT网关配置工具压缩包】,如图:

※本客户端为免安装客户端,下载后请使用解压软件进行解压缩操作,打开解压缩后的文件夹,双击“蓝蜂MQTT网关配置工具.exe”文件,即可启动蓝蜂MQTT网关配置工具。

使用方式:启动蓝蜂MQTT网关配置工具,会开启命令行窗口并启动电脑内默认浏览器,在浏览器内进行配置操作,请勿关闭已打开的命令行窗口,或修改浏览器内地址,否则将无法正常使用配置工具。

推荐浏览器:Chrome浏览器,Edge浏览器,360浏览器。

不推荐浏览器:不推荐使用IE浏览器,火狐浏览器,世界之窗浏览器。

2.5 MQTT服务器准备工作

需要准备一台MQTT服务器,实体服务器、云服务器(阿里云、华为云等)均可。使用云服务器,需要配置网关的MQTT上报脚本,必须要满足云服务器的格式。

本文以阿里云服务器介绍。

进入阿里云IoT平台官网(https://www.aliyun.com/),登录账号,然后点击右上角控制台。

进入控制台后,选择【产品与服务】→【物联网平台】。或直接搜索“物联网平台”。

注:第一次使用阿里云 IoT 平台物联网服务器需要先开通服务才能使用,跟随界面提示点击即可。

这样就可以进入阿里云的物联网平台。“公众实例”平台是免费的。

  • 阿里云IoT平台配置步骤

成功登陆阿里云IoT平台以后,需要进行配置,按照如下步骤操作。

3.1        创建产品

点击实例,可进入实例详情,点击【设备管理】→【产品】→【创建产品】,如图。

【产品名称】:可自定义填写,会在“设备所属产品”中进行展示。

【所属品类】:本案例选择自定义品类,自定义功能。标准品类时,可选择与自己产品设备相近的模型,选择后系统可自动为您创建必选功能,也可根据需要添加可选功能和自定义功能。

【节点类型】:选择直连设备

【联网方式】:蜂窝(2G/3G/4G/5G)

【数据格式】:ICA标准数据格式(Alink JSON)

【校验类型】和【认证方式】保持默认即可

3.2       添加设备

创建产品完成后,点击确认,可进行添加设备,点击“前往添加”。

【DeviceName】建议填写蓝蜂网关sn编号,可方便后续对配置文件进行导入导出操作,也可以自定义名称。

【备注】可不写。

完成后点击【确认】按钮后,可在设备列表中看到添加的设备。

点击【查看】按钮,可查看设备的连接参数以及其他详细信息。

【DeviceName】和【ProductKey】需要记录下来,在之后的配置过程中会用到。

3.3 配置阿里云IoT平台物模型

此步骤类似于在平台创建变量。只有添加了变量以后,平台才会将这些数据进行展示。

在阿里云IoT平台,点击【产品】,找到我们刚刚创建的产品,点击查看按钮,如图:

进入产品中,点击【功能定义】→【编辑草稿】。

进入编辑草稿页面,点击【添加自定义功能】,可根据自己需求进行变量创建。

这里我们添加属性,添加温度,湿度和开关三个变量,如图:

注意:数据类型需要根据设备每个属性的实际情况进行选择,在后面使用蓝蜂MQTT网关配置工具配置时,需要与之进行匹配。

区别于EMCP物联网云平台,此处不需要填写变量的地址,数据是根据“标识符”来展示的。建议在创建变量后将创建的“变量名称”、“标识符”、“数据类型”记录下来,如下表。在之后的蓝蜂MQTT网关配置工具中会用到。

变量名称

标识符

数据类型

温度

Temperature

int32(32位整形)

湿度

Humidity

int32(32位整形)

开关

Switch

Bool(开关量)

添加完成后,列表中可看到我们添加的3个属性,点击左下角发布上线。

注:

  1. 如果想要修改创建好的功能类型,点击编辑草稿即可。
  2. 如果想要创建新的模块(类似于变量的分组)点击编辑草稿→添加模块即可。
  3. 每个产品中可以有多个设备,共用所有的模块(变量)信息。举例:我有10台设备在同一个产品下,默认模块中设置了3个变量。在通讯正常时,10台设备都会采集这3个相同的变量进行展示。

3.4 获取连接阿里云IoT平台的参数

点击【设备】,找到刚刚创建的设备,点击后方的【查看】如图

非常重要。在后面使用蓝蜂MQTT网关配置工具配置网关登陆时(4.3节处)需要按照此处信息填写。这个界面刷新后会变化,建议在配置网关时打开,复制粘贴即可。

至此,按照如上步骤,对于阿里云平台的设置就完成了。

总结:

  1. 关于变量:在阿里云平台中创建变量完成后,必须要知道设备的“DeviceName”、“ProductKey”、“变量名称”、“标识符”、“数据类型”。
  2. 关于MQTT连接参数:非常重要,此为网关登录阿里云IoT平台的参数。

  • MQTT网关登陆平台配置步骤
  • 4.1 登录

MQTT网关支持本地串口配置和远程无线配置两种方式连接网关进行配置。

※本地串口配置方式

使用本地串口配置方式,如图:

使用232串口进行本地配置,将网关的RS232口使用USB转232线接到电脑上,填写配置参数,包括选择通讯口,波特率,数据位,数据校验,停止位。默认参数为115200,8,无,1。

【读取网关串口参数】:如果对于串口参数并不了解,可点击“读取网关串口参数”按钮,客户端会主动搜索并填入已选中的串口的参数。

【记住配置】:点击“记住配置”按钮后,会记住当前配置,避免每次进入时需要重新配置的问题,再次进入时可直接进行连接操作。

点击“立即连接”按钮,可进入网关配置工具进行配置。

※远程无线配置方式

当第一次拿到设备时,网关内部默认服务器为蓝蜂的MQTT服务器,使用“远程无线配置”可直接通过蓝蜂MQTT服务器对网关进行远程配置,修改网关参数。

需填写对应的参数:

【网关SN码】:网关SN码必须为要连接的目标网关。SN码位于网关机身。

【客户端id】:电脑登录MQTT服务器的ID,随机生成,也可以自行填写,最多200个字符,不能与其他设备设置的客户端id重复。

【用户名】【密码】: 蓝蜂默认用户名、密码均为test

【IP/域名】:蓝蜂MQTT服务器网址为110.249.137.42

【端口】: 蓝蜂MQTT服务器端口号为1883

其余项目不需要修改,连接成功后即可进入网关配置界面对网关设置进行修改。

注意,远程无线配置功能对于一般实体MQTT服务器来说可以直接使用,只需要填写好对应MQTT服务器参数即可进行远程无线配置。针对于阿里云、腾讯云等部分有限制的MQTT服务器来讲,此功能不建议使用。

4.2   网关概况

当连接成功后,即可进入网关配置页面,在此界面中可以查看到网关的基本信息、资源使用情况、服务器连接状态等,同时也可以对网关进行相应的配置。

关于网关基本信息的具体介绍,见《蓝蜂MQTT网关配置工具使用说明》第4.1节。

注意:LF220最多支持添加2000个变量

4.3   MQTT连接配置

MQTT配置页面可用于填写MQTT服务器参数,具体介绍内容见《蓝蜂MQTT网关配置工具使用说明V1.0》第4.2节。首次拿到网关需要进行MQTT连接配置,用于配置连接的MQTT服务器的参数。配置完成后,网关即可连接MQTT服务器。如图,图中所有参数均从阿里云处拿到,详见本文第3.4

此处所有的配置是从阿里云平台处获取的,复制时不要添加或删除任何字符,否则将无法连接阿里云MQTT平台。

填写完成后点击保存按钮,需要重启网关,配置才会生效。建议使用串口连接。如使用远程连接修改的此处参数,当网关重启后就不能远程修改了,只能使用串口连接。

4.4 驱动管理

驱动管理用来配置网关与下位机的驱动管理,支持创建/编辑,删除驱动,设置通讯口配置信息等,如图。由于是第一次配置,此处为空,需要进行添加驱动的操作。

【通讯口配置】:点击通讯口配置下面有3个通讯端口项,【RS232】、【RS485】和【LAN】,分别对应网关上的3个数据通讯端口,3个通讯口可以同时和下位机进行通讯。可按照需要对相应通讯口进行配置。

我们需要使用网线与PLC进行通讯,所以需要配置网口的参数。如下图。本案例中,PLC的IP地址为192.168.1.55同时,建议使用手动设置IP的方式。需要填写和PLC同一网段的地址,任意即可,这里填写192.168.1.10,子网掩码为255.255.255.0。

【+新增】:点击此处创建驱动,可根据实际使用需求进行选择填写。

【驱动名称】:自定义。不限中英文,不限标点符号,包括空格,最大支持20个字。

【品牌】、【型号】:根据需要选择品牌型号,网关会根据您选择的品牌型号的专有协议跟设备进行通讯。本案例连接西门子200SMART PLC,所以【品牌】选择“西门子”,【型号】选择“S7-200 SMART”。

【IP地址】:必填项,填写PLC的IP地址。

【端口号】:西门子默认为102。

完成后点击确定即可看到新创建的驱动。

4.5 变量管理

首先我们需要拿到PLC端的地址表, 此处的【寄存器类型】和【寄存器地址】需要和PLC的地址表一致。地址表见后方说明。

注意:此处的【变量标识(key)】需要和阿里云MQTT平台中填写的一致且区分大小写。见3.3节表格。

注:

1、网关会将创建的所有变量上传到阿里云IoT平台,由IoT平台根据标识符来判断数据是否采集、展示。

2、MQTT网关配置工具支持变量的复制/导入/导出功能,使用【复制】可以快速添加变量。

具体内容介绍见《蓝蜂MQTT网关配置工具使用说明V1.0》第4.5.2节和4.5.3节。

※变量名称说明:

【仪表、PLC】:必填,选择刚才创建的西门子smart200即可。

【变量表示(key)】:必填,自定义即可。注意不能有重复的名称。

【寄存器类型】:必填,填写对应西门子smart200PLC的寄存器类型。

【寄存器地址】:必填,与实际寄存器地址一致。具体可见下方地址表示例。

【数据类型】:必填,根据实际需要选择即可。

【死区设置】:具体内容见后方“?”。

【读写方式】:可根据需求自行修改该寄存器的读写方式,默认为只读。

【采集公式】:可根据需求自行编写公式,需要使用英文字符。具体内容介绍见《蓝蜂MQTT网关配置工具使用说明V1.0》第4.5.4节。

地址表示例:

  • 数据上报和写入配置

由于阿里云IoT平台是有自己独立的数据上报格式的,我们需要在“蓝蜂MQTT网关配置工具”中对这一部分进行编辑。

5.1 数据上报配置设置

​​​​​​​5.1.1 配置步骤

打开阿里云平台,点击【产品】→【查看】,如图:

进入产品后,点击【topic类列表】-【物模型通信topic】,即找到属性上报主题,如图

其中“ /sys/ gqbaihhDlTb /${deviceName}/thing/event/property/post”中的gqbaihhDlTbIoT平台自动生成的,需要改成自己设备的ProductKey。为3.2节中标出需要记录的ProductKey。

主题中的通配符${deviceName}需要替换成我们这个产品中创建的设备的DeviceName。我们的示例在阿里云IoT平台创建的设备的DeviceName为网关sn编号,而在蓝蜂配置工具中可使用通配符${sn}代替sn编号。

因此我们的上报主题为/sys/gqbaihhDlTb/${sn}/thing/event/property/post

我们将该主题写入数据上报配置中的上报主题中,如图:

【上报方式】:可按需求选择定时上报或变化上报,此文档以定时上报为例。

※【加工脚本】如下,复制粘贴即可,一般不需要进行修改:

function reportToJson(signalArray, system){

    var json ={

        id: system.msgId,

        version:"1.0",

        sys:{ ack : 0},

        method: "thing.event.property.post",

        params:{}

    }

    var time = new Date().getTime();

    for(var i=0; i<signalArray.length; i++){

        var signal = signalArray[i];

        json.params[signal.key] = {

            time:time,

            value:Number(signal.value)

        }

    }

    return JSON.stringify(json);

}

点击确定按钮,配置完成,需要重启网关,配置才会生效,将网关接入设备后,采集到的数据就可上报到阿里云IoT平台了。

​​​​​​​5.1.2 查看数据

当设备采集到数据并上报到阿里云IoT平台后,我们可以在阿里云IoT平台,点击设备,找到我们接入的设备。

点击查看按钮,进入设备详情中,点击物模型数据,便可查看到我们采集到的数据,如图:

点击查看数据按钮,可查看该属性的历史数据详情,如图:

5. 2 写变量配置

​​​​​​​5.2.1 操作步骤

从阿里云IoT平台向设备写入数据,需要在蓝蜂MQTT网关配置工具中对写入进行配置。

点击【数据传输配置】-【写变量配置】,我们可在写变量配置中设置请求和响应主题,在阿里云IoT平台打开对应设备的topic列表找到属性设置topic,如图:

进入产品后,点击【topic类列表】-【物模型通信topic】,即找到属性设置主题,如图:

其中“/sys/ gqbaihhDlTb /${deviceName}/thing/service/property/set”中的gqbaihhDlTbIoT平台自动生成的,需要改成自己设备的ProductKey。为3.2节中标出需要记录的ProductKey。

主题中的通配符${deviceName}需要替换成我们这个产品中创建的设备的DeviceName。

我们的示例在阿里云IoT平台创建的设备的DeviceName为网关sn编号,而在蓝蜂配置工具中可使用通配符${sn}代替sn编号。

因此我们的请求主题为:/sys/gqbaihhDlTb/${sn}/thing/service/property/set,

响应主题为:/sys/gqbaihhDlTb/${sn}/thing/service/property/set_reply

我们将请求主题和响应主题写入写变量配置中的请求和响应主题中,如图:

※【请求解析脚本】如下,复制粘贴即可,一般不需要进行修改:

function writeReqToJson(str){

if(str != ''){

var req = JSON.parse(str)

var keys = Object.keys(req.params)

var key = keys[0]

var msgId = req.id

var json = { data:[{key: key, value:req.params[key]+""}],msgId:msgId}

return JSON.stringify(json)

}

return ''

}

※【响应加工脚本】如下,复制粘贴即可,一般不需要进行修改:

function writeRespToJson(signal, system){

    var json = {

        "code": 200,

         "data": {},

         "id": system.msgId,

         "message": "success",

         "version": "1.0"

    }

    return JSON.stringify(json)

}

点击确定按钮,配置完成,需要重启网关,配置才会生效,将网关接入设备后,就可以从阿里云IoT平台直接控制设备,进行写入数据了。

​​​​​​​5.2.2 向设备写入数据

打开阿里云IoT平台,点击【监控运维】→【在线调试】,选择我们想要写入数据的设备,如图:

找到想要写入数值的属性,我们此处对温度进行写入数值36,如图:

设置成功后,在阿里云IoT平台数值查看处我们也可以看到我们写入成功的数据,如图。

注意:

  1. 点击“获取”时,获取到的值是阿里云平台最后一次成功通讯的值。即使获取成功,也不能说明网关和下位机通讯正常。
  2. 连接阿里云IoT平台时建议将网关的“透传设置”、“采集异常设置”、“状态上报设置”关闭。

LF220支持PLC远程下载、断网续传、脚本功能,(透传功能不适用于阿里云服务器)功能介绍可查看《LF220边缘计算网关用户手册》,或点击对应功能页中的“?”跳转帮助界面进行查看。

  • 注意事项

1、LF220网关暂时不支持web配置页,目前暂时不能设置交换机和路由器模式。

2、在打开蓝蜂MQTT网关配置工具之后,请勿关闭已打开的命令行窗口,或修改浏览器内地址,否则将无法正常使用配置工具。

3、配置成阿里云服务器以后,再次配置网关时只能使用RS232转USB本地配置,不能使用在线配置。

4、配置LF220网关参数时必须要和阿里云服务器中设置的一致。

5、阿里云服务器(或其他服务器)有自己固定的格式,需要编写对应的脚本。阿里云服务器脚本按照文档中填写的即可,可以直接复制粘贴。

6、如果串口232是7位时,串口连接点击升级,升级成功客户端不会提示升级成功,但是网关实际会升级成功。

7、蓝蜂MQTT网关配置工具的网关编码格式为UTF-8。

8、兼容性:win7, win10, win11系统,不支持winxp及更低版本windows系统,不支持linux、MacOS、android和ios系统。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/169510.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

10.22A*算法,华容道,状态压缩

A* P1379华容道 问题是要从初始布局用最少的步骤到目标布局&#xff0c;每次只能动0周围的格子&#xff0c;就是华容道&#xff1b; 怎么用算法的思路解决&#xff1f; 状态压缩思路 每个数字就代表当前的状态&#xff0c;队列和map函数都记录的是当前的状态数&#xff0c;…

FileUpload控件上传文件时出现 不支持给定路径的格式.的解决方法

正常代码&#xff0c;部署到server 2012时&#xff0c;在上传音频mp3文件时&#xff0c;显示错误“不支持给定路径的格式”&#xff0c;上传控件使用FileUpload控件&#xff1a; 因为程序之前是正常的&#xff0c;因此应该不是程序的问题。 上传时&#xff0c;发现在选择文件时…

深入浅出排序算法之归并排序

目录 1. 归并排序的原理 1.1 二路归并排序执行流程 2. 代码分析 2.1 代码设计 3. 性能分析 4. 非递归版本 1. 归并排序的原理 “归并”一词的中文含义就是合并、并入的意思&#xff0c;而在数据结构中的定义是将两个或者两个以上的有序表组合成一个新的有序表。 归并排序…

使用Packstack安装器安装一体化OpenStack云平台

【实训目的】 初步掌握OpenStack快捷安装的方法。掌握OpenStack图形界面的基本操作。 【实训准备】 &#xff08;1&#xff09;准备一台能够安装OpenStack的实验用计算机&#xff0c;建议使用VMware虚拟机。 &#xff08;2&#xff09;该计算机应安装CentOS 7&#xff0c;建…

电解电容寿命与哪些因素有关?

电解电容在各类电源及电子产品中是不可替代的元器件&#xff0c;这些电子产品中由于应用环境的原因&#xff0c;使它成为最脆弱的一环&#xff0c;所以&#xff0c;电解电容的寿命也直接影响了电子产品的使用寿命。 一、电解电容失效模式与因素概述 铝电解电容器正极、负极引出…

【Redis安装】Ubuntu和Centos

此处安装的是 Redis5 在 Ubuntu 系统上 切换到 root 用户下&#xff0c;su 命令切换使用 apt 可以搜索 redis 相关软件包 apt search redis使用 apt 命令安装 redis apt install redis手动修改配置文件 redis.conf cd /etc/redis/ vim redis.conf修改以下两处 重启服务器 …

【Opencv】OpenCV使用CMake和MinGW的编译安装出错解决

编译时出现的错误&#xff1a; mingw32-make[1]: *** [modules/core/CMakeFiles/opencv_core.dir/all] Error 2 Makefile:161: recipe for target ‘all’ failed mingw32-make: *** [all] Error 2解决方法&#xff1a; 根据贴吧老哥的解答&#xff0c;发现是mingw版本有问题导…

Java基础篇 | Java8流式编程

✅作者简介&#xff1a;大家好&#xff0c;我是Leo&#xff0c;热爱Java后端开发者&#xff0c;一个想要与大家共同进步的男人&#x1f609;&#x1f609; &#x1f34e;个人主页&#xff1a;Leo的博客 &#x1f49e;当前专栏&#xff1a; Java从入门到精通 ✨特色专栏&#xf…

虚拟机使用linux常用问题(虚拟机操作系统:ubuntu 22.04LTS)

1.虚拟机连接外网 ubuntu解决网络连接的解决方案 CentOS7联网问题解决 明明连接好了但是没有网络的情况 2.虚拟机磁盘扩容 相关博客 利用gparted工具时,直接将unallocated空间的前一个位置的磁盘resize,将unallocated的空间全部覆盖 3.虚拟机与本机共享文件 安装vmtools 设…

Elasticsearch的聚集统计,可以进行各种统计分析

说明&#xff1a; Elasticsearch不仅是一个大数据搜索引擎&#xff0c;也是一个大数据分析引擎。它的聚集(aggregation)统计的REST端点可用于实现与统计分析有关的功能。Elasticsearch提供的聚集分为三大类。 度量聚集(Metric aggregation)&#xff1a;度量聚集可以用于计算搜…

嵌入式实时操作系统的设计与开发(互斥量学习)

一个无论多么小的系统&#xff0c;都会有大系统的缩影&#xff0c;就像俗话说“麻雀虽小五脏俱全”。 嵌入式实时操作系统中除了基本调度机制&#xff08;创建线程、调度线程、挂起线程等&#xff09;&#xff0c;事件处理机制&#xff08;中断管理、时钟管理&#xff09;、内…

【c++】运算符重载实例

重载自增自减运算符 Intger num(2); num; num;对自增运算符的重载要区分前置和后置。在重载之前需要思考一个问题&#xff0c;num是返回一个临时变量还是num对象的本体。 为了解决这个问题可以考虑实现一个Inc_()函数和_Inc()函数分别模仿后置和前置的行为 Integer Inc_(){i…

YOLOv5算法改进(20)— 如何去写YOLOv5相关的论文(包括论文阅读+规律总结+写作方法)

前言:Hello大家好,我是小哥谈。最近一直在阅读关于YOLOv5的相关论文,读着读着我发现一条可以发论文的规律,特此简单总结一下,希望能够对同学们有所启迪!🌈 前期回顾: YOLOv5算法改进(1)— 如何去改进YOLOv5算法

IO文件操作

小王学习录 今日鸡汤文件一. 文件路径1. 绝对路径2. 相对路径二. 文件类型三. 文件操作1. 文件系统操作2. 文件内容操作(字节流)1. 读文件2. 写文件3. 释放资源(.close)3. 文件内容操作(字符流)重识(System.in)今日鸡汤 光阴如骏马加鞭, 日月如落花流水. 文件 狭义上的文件:…

欧拉图和哈密顿图

欧拉图 在连通图G中&#xff0c;经过G的每条边一次且仅一次的通路&#xff0c;称为欧拉通路若欧拉通路为回路&#xff0c;则称为欧拉回路含有欧拉回路的图称为欧拉图有欧拉通路则G可以一笔画出有欧拉回路则G是连通的且无奇点&#xff08;欧拉图无奇点&#xff09; 哈密顿图 …

【MATLAB源码-第56期】基于WOA白鲸优化算法和PSO粒子群优化算法的三维路径规划对比。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 1.粒子群算法&#xff08;Particle Swarm Optimization&#xff0c;简称PSO&#xff09;是一种模拟鸟群觅食行为的启发式优化方法。以下是其详细描述&#xff1a; 基本思想&#xff1a; 鸟群在寻找食物时&#xff0c;每只鸟都…

Kafka简单入门02——ISR机制

目录 ISR机制 ISR 关键概念 HW和LEO Java使用Kafka通信 Kafka 生产者示例 Kafka 消费者示例 ISR机制 Kafka 中的 ISR&#xff08;In-Sync Replicas&#xff09;机制是一种用于确保数据可靠性和一致性的重要机制。ISR 是一组副本&#xff0c;它包括分区的领导者&#xff…

【WinForm详细教程一】WinForm中的窗体、Label、TextBox及Button控件、RadioButton和CheckBox、ListBox

文章目录 1.WinForm文件结构2. 窗体的常用属性、方法与事件2.1 常用属性&#xff08;可直接在属性中设置&#xff09;2.2 常用方法2.3 常用事件 3.Label、TextBox及Button控件4.RadioButton和CheckBox5.ListBox&#xff08;列表框&#xff09; 1.WinForm文件结构 .sln文件 &am…

NFTScan | 10.16~10.22 NFT 市场热点汇总

欢迎来到由 NFT 基础设施 NFTScan 出品的 NFT 生态热点事件每周汇总。 周期&#xff1a;2023.10.16~ 2023.10.22 NFT Hot News 01/y00ts&#xff1a;迁移回以太坊的跨链桥已上线&#xff0c;将承担第一天所有 Gas 费 10 月 16 日&#xff0c;y00ts 发推称&#xff0c;将 y00…

scrapy的安装和使用

一、scrapy是什么&#xff1a;Scrapy是一个为了爬取网站数据&#xff0c;提取结构性数据而编写的应用框架&#xff0c;可以应用在包括数据挖掘&#xff0c;信息处理或存储历史数据等一系列的程序 二、scrapy的安装&#xff1a;pip install scrapy -i https://pypi.douban.com/…