自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(69)
  • 收藏
  • 关注

原创 进阶05:Labview与汇川PLC通过OPC UA通信(AM500系列)

本文介绍了LabVIEW与汇川PLC通过OPC UA通信的实现方法。主要内容包括:1)编写汇川AM521 PLC结构化文本程序,配置OPC UA服务器并导出变量;2)使用UaExpert客户端测试读取PLC变量;3)开发C#封装库实现OPC UA连接、读写和订阅功能;4)在LabVIEW中创建通信类,封装dll功能;5)设计LabVIEW界面实现变量读写和PLC程序触发。最终实现了PLC变量监控、数据读写及Y1-Y4输出控制功能,为自动化系统开发提供了基础框架。

2025-12-22 22:21:09 535

原创 Node.js网页本地部署

本文详细介绍了Node.js应用的部署流程,包括基础开发版和开机自启生产版两种方案。开发版通过安装Node.js、安装依赖、启动服务器即可运行;生产版则使用NSSM将Node应用注册为系统服务实现开机自启,并配合Nginx实现反向代理。文档还提供了完整的服务卸载方案,包括停止服务、删除服务、清理文件等步骤。两种方案都支持本地和局域网访问,并详细说明了各环节的具体操作命令和注意事项,为Node.js应用的部署和维护提供了完整的技术指导。

2025-12-22 22:15:26 707

原创 C#进阶14:C#全局路径规划算法_RRTstar

1)了解全局路径规划算法RRT*的基本原理;2)使用C#实现RRT*算法;3)使用Winform对RRT*算法进行仿真,更直观理解RRT*算法;下面是RRT*算法的Winform实现结果,运行程序后,任意点击一个位置,该位置作为开始点,再点击一个位置作为结束点,然后程序会自动从开始点向外搜索,直到搜索到结束点后停止,然后取其中距离最短的路径作为最优路径;

2025-11-22 21:07:19 257

原创 C#实用01:Winform跨界面Log的显示

本文介绍了在Winform程序中实现跨界面日志信息显示的方法。通过使用log4net库,实现了不同日志等级以不同颜色显示的功能。具体步骤包括:1)安装log4net NuGet包;2)配置log4net配置文件;3)自定义RichTextBoxAppender类处理日志显示和颜色设置;4)在主窗体中初始化日志配置并关联RichTextBox控件;5)在子窗体中实现日志写入功能,支持DEBUG/INFO/WARN/ERROR/FATAL五种日志级别。该方法实现了线程安全的跨界面日志显示,并可根据日志等级自动设

2025-11-22 21:03:11 94 1

原创 C#进阶13:C#全局路径规划算法_A*

本文介绍了A路径规划算法的C#实现与Winform可视化仿真。A算法在Dijkstra基础上引入启发函数,通过估计目标点距离提高搜索效率。实现包含:1)算法流程(Open/Close列表管理、8方向搜索);2)Winform界面(障碍物设置、路径可视化);3)核心计算(曼哈顿距离、路径回溯)。系统运行流程:用户点击设置起止点后自动搜索最优路径,蓝色显示最终路径,黄色显示搜索过程。相比Dijkstra,A*在可估算剩余距离的场景具有显著效率优势。该实现采用边长2/对角线3的移动代价,适用于游戏开发、机器人导航

2025-11-17 22:47:01 1243

原创 Labview实用04:Labview调用.net中的事件

本文介绍了如何实现C#与LabVIEW的事件通信。在C#端创建一个定时器类MyCounter,每隔指定时间触发包含整型数值的Tick事件;LabVIEW通过.NET构造节点加载dll,注册Tick事件并创建回调VI。程序运行时,点击开始按钮触发定时器,数值每秒自动增加1,通过事件回调在LabVIEW界面实时显示;点击停止按钮则终止计数。该方案实现了.NET类库与LabVIEW的异步事件通信,可作为跨平台开发的参考范例。

2025-11-17 22:38:26 539

原创 Labview实用03:Labview中事件回调注册与使用

LabVIEW事件回调功能实现外部代码与LabVIEW的交互,可将异步消息转换为原生事件驱动。通过创建项目、添加控件、注册事件回调、建立控件引用等步骤,完成一个简单的加法计算范例。主要过程包括:1)新建VI并添加控件;2)注册事件回调连接控件引用;3)创建回调VI实现计算逻辑;4)添加事件结构实现交互。该范例演示了如何通过事件回调将外部回调转换为LabVIEW事件驱动,为复杂事件处理提供参考。运行时可实时计算输入值的和。

2025-11-15 15:29:54 408

原创 C#进阶12:C#全局路径规划算法_Dijkstra

本文介绍了Dijkstra算法的C#实现及Winform可视化仿真。该算法通过广度优先搜索和贪心策略解决带权图的单源最短路径问题。实现步骤包括:1)初始化起点和障碍物;2)维护开放和关闭列表;3)每次扩展最小路径点;4)检查8个邻域点并更新列表。程序使用Winform界面,用户可交互式设置起止点,实时展示搜索过程(黄点)和最终路径(蓝线)。算法采用边长2(直线)和3(对角线)的权值,并能有效避开预设障碍物。该实现直观展示了Dijkstra的工作原理,有助于理解路径规划算法。

2025-11-15 14:53:59 1407

原创 Labview进阶04:Labview与OPC UA设备通信(dll版)

本文介绍了使用C#编写DLL实现LabVIEW与OPC UA通信的方法。主要内容包括:搭建OPC UA模拟服务器环境;通过UaExpert客户端测试连接;使用C#开发封装OPC UA通信功能的DLL(支持读写节点、订阅事件等功能);在LabVIEW中调用该DLL实现服务器连接、数据读写和事件订阅。相比收费的LabVIEW OPC UA工具包,该方法可降低开发成本,且功能完整,成功实现了变量读写和触发事件通知等功能。

2025-11-12 22:39:41 887

原创 Winform控件:RichTextBox

既能像 TextBox 一样打字,又能像 Word 一样调字体、放图片、标颜色、存 RTF,还能代码高亮、拖文件、超链接跳转。使用RichTextBox做信息框,显示程序执行信息。

2025-11-12 22:32:12 305

原创 C#进阶11:C#局部路径规划算法_DWA

本文介绍了基于C#实现的动态窗口法(DWA)局部路径规划算法。DWA算法通过在速度空间采样,预测不同速度下的轨迹并评估优劣来选择最佳移动速度。文章详细阐述了DWA原理,包括动态空间窗口约束、速度采样、轨迹计算和评价函数设计。实现部分展示了Winform仿真程序,通过鼠标点击设置起点和终点,机器人能自动规划路径并避开预设的8个圆形障碍物。算法核心通过速度空间离散化采样,评估轨迹的方位角、障碍物距离和速度等指标,选择最优路径。实验结果表明该实现具有良好的实时避障能力和路径规划效果。

2025-11-03 23:20:30 1656

原创 Winform控件:Chart

摘要:本文介绍了在WinForms中使用Chart控件进行数据可视化的基本方法,包括折线图、柱状图和饼图的实现。主要内容:1)通过ChartType属性设置图表类型;2)使用Points.AddXY方法添加数据点;3)配置图表样式(标题、坐标轴、图例);4)提供三种常见图表类型的完整示例代码;5)介绍动态更新数据和自定义样式的高级功能。该控件功能强大,示例代码可帮助开发者快速实现基础图表功能并进行高级定制。

2025-11-03 23:13:45 238

原创 Winform控件:Combobox

本文介绍了ComboBox控件的使用技巧,包括数据绑定(Items.AddRange/DataSource)、核心属性设置(DropDownStyle、AutoComplete等)、常用事件处理(SelectedIndexChanged、KeyDown)、自动完成功能实现、对象绑定与取值、自定义绘制项(图标+颜色)、异步加载大数据源等。同时提供了常见问题解决方案,如下拉空白、SelectedIndex为-1等情况。通过代码示例展示了基本操作和高级应用,帮助开发者快速掌握ComboBox控件的各种实用功能。

2025-10-28 22:23:33 195

原创 Labview多种通信集合

本文介绍了多种工业通信协议及其在LabVIEW中的实现方法。主要内容包括:1)串口通信(RS-232/422/485)的基本原理与应用;2)TCP/IP通信协议的实现;3)倍福PLC的ADS通信协议特点;4)汇川Easy系列PLC的通信功能;5)OPCUA协议在跨平台兼容性、安全性等方面的优势。每部分均提供了对应的LabVIEW实现方案和具体博文参考,涵盖了从基础串口通信到工业自动化领域的高级通信协议,为工业控制系统开发提供了全面的通信解决方案。

2025-10-28 17:17:54 1126

原创 C#数据类型:List

List(T是一种数据类型,比如int、string、GameObject等)是一个非常有用的集合类型,它位于System.Collections.Generic命名空间下。它可以动态地调整大小,能够方便地添加、删除和访问元素。

2025-10-27 22:09:09 422

原创 C#数据类型:string简单使用

/ 输出: Name: Alice, Age: 30。// 输出: Hello, World, C#// 输出: hello, world!// 输出: HELLO, WORLD!// 输出: Hello, World, C#// 输出: Hello, World!// 输出: Hello, World。// 输出: Hello World!// 输出: Hello, 世界!// 输出: Hello。

2025-10-27 22:04:23 451

原创 Labview项目01:标准可配置序列测试框架

摘要:本文介绍了一个基于LabVIEW2020开发的通用测试框架系统。该系统采用模块化设计,包含主界面、调试界面、设置界面和登录界面。主功能包括:1)可配置测试序列,支持延时、预定值输出、随机值输出等操作;2)单步测试功能自主添加;3)界面支持测试序列编辑和权限管理。系统采用队列机制处理事件和测试流程,通过CSV文件存储测试序列,支持参数化配置。用户可自定义测试VI(A_.vi和N_.vi格式),并通过调试界面验证测试序列。最终测试结果在主界面显示,提供整体判断功能。该系统既可作为学习参考,也可用于实际测试

2025-10-11 16:03:21 1233

原创 威纶通触摸屏使用OPC UA Server功能

本文介绍了如何配置cMT3075XH进阶型触摸屏的OPC UA服务器功能。主要内容包括:1)选择支持OPC UA Server功能的进阶型设备;2)启用服务器功能并设置基本参数;3)创建4个可写入标签(LB0-LB3);4)添加按钮和指示灯控件;5)使用UaExpert软件连接服务器(IP为127.0.0.1);6)测试验证按钮操作与变量值变化的对应关系。整个过程实现了HMI设备与OPC UA客户端的数据交互功能演示。

2025-10-11 15:52:19 406

原创 Labview多个子VI加密码和去密码

本文摘要:介绍LabVIEW中批量处理VI文件电网密码的方法。1)批量加密码:通过文件路径控件选择文件夹,使用"罗列文件夹"函数获取所有子VI,结合"打开VI引用"、"调用节点"设置"Locked"状态实现加密;2)批量去密码:只需将调用节点的状态参数改为"NotLocked"即可。操作涉及文件I/O、应用程序控制等函数模块,提供完整的操作流程说明。

2025-09-30 21:56:17 428

原创 进阶02:Labview操作者框架

本文介绍了Labview操作者框架的使用方法,通过Master-Slave通信范例演示了框架的实现过程。主要内容包括:1)建立主界面Main.vi,配置通知器引用和根操作者启动;2)创建Master操作者,定义消息传递机制和界面交互逻辑;3)构建Slave操作者,实现嵌套操作者的启动和双向通信。范例展示了Master与Slave1/Slave2之间通过消息队列进行数据交互的完整流程,包括界面初始化、消息发送/接收和操作者停止等功能。该范例为Labview2020环境下操作者框架的应用提供了实用参考。

2025-09-29 10:53:20 221

原创 AutoShop与威纶通仿真模拟

本文介绍了AutoShop和EasyBuilder两款软件的配置步骤。在AutoShop中,需新建Easy320型号PLC工程,配置以太网IP地址并添加变量。在EasyBuilder中,需新建威纶通程序,选择MT8071iE设备,进行系统参数设置并添加元件。主要涉及PLC和HMI的以太网通信配置,包括IP地址设置和设备选型等基本操作。

2025-09-18 22:10:27 392

原创 Omron PLC与松下电机EtherCAT通信

摘要:本文介绍了松下绝对式电机的配置方法。通过PLC设置PDO映射,选择对应节点进行详细设置(先输出后输入),并说明数字量输入接线规范。驱动器参数设置包括:1)P0.15设为0;2)绝对值清零;3)通过对象编辑器修改607E参数(0或224)调整电机方向。具体接线方式参考说明书第253页(文档编号SX-DSV03244)。

2025-09-12 14:57:19 325

原创 Omron PLC添加xml文件(松下EtherCAT型驱动器)

摘要:安装松下驱动器到EtherCAT主设备的步骤:首先双击EtherCAT,然后在主设备处右击选择显示ESI库,点击安装后选择对应的xml文件并打开。完成后即可在工具箱中查看已添加的松下驱动器。整个过程简单快捷,便于用户快速配置设备。

2025-09-11 14:29:18 393

原创 Labview邪修01:贪吃蛇小游戏

摘要:博主使用LabVIEW 2020(32位)复刻了经典贪吃蛇游戏。程序具备随机生成蛇(初始长度3)和食物、三档速度调节、键盘方向控制等功能,碰撞边界或自身即游戏结束。实现过程包括:1)界面设计,使用二维颜色盒数组构建游戏区,添加速度枚举控件和功能按钮;2)程序架构,采用模块化设计包含Main.vi、Start.vi等6个核心VI,分别处理初始化、位置计算、碰撞检测等逻辑;3)事件驱动机制,通过开始/结束事件、按键响应和超时循环实现游戏流程控制。运行时可实时显示分数,完整还原了贪吃蛇的核心玩法。

2025-08-29 19:08:56 797

原创 进阶10:Winform编写TCP通信

本文介绍了一个基于C# WinForm的TCP通信程序实现。程序支持服务器和客户端两种模式,通过Socket编程实现了连接建立、数据收发、断开连接等核心功能。界面包含IP/端口设置、收发数据显示区及操作按钮。关键技术包括:多线程处理通信、字典管理多个客户端连接、阻塞式Accept的优雅退出方案等。经测试,程序能与TCP调试助手正常通信,既可作为独立调试工具使用,也可集成到其他项目中。开发环境为Windows11+VS2013(.NET Framework4.5)。

2025-08-19 15:49:37 426

原创 威纶通触摸屏(iE系列)与汇川Easy321的配方设置

本文介绍了在AutoShop中配置配方数据库及添加宏指令的步骤:1)设置全局变量;2)新建触摸屏项目,创建配方数据库并添加4个项目,配置配方检视控件;3)编写宏指令,实现从本地HMI读取配方数据(包括名称和3个位置参数)并写入Inovance PLC的D寄存器(300-314地址区)。该流程适用于伺服控制系统的参数配置与数据传输。

2025-08-02 11:59:03 944

原创 进阶09:Winform编写串口通信范例

本文介绍了基于C#的串口通信程序开发过程。首先配置虚拟串口环境,使用VSPD软件绑定COM1和COM2端口。然后通过VS2013新建Winform项目,设计包含串口参数设置、数据收发等功能的界面。程序实现了串口扫描、参数配置、数据收发(支持HEX/ASCII格式)等核心功能,采用SerialPort类处理串口通信,并通过事件委托实现异步数据接收。调试时,将程序与串口调试助手分别连接COM2和COM1,成功实现双向通信验证。该程序既可作为独立串口调试工具,也可集成到其他项目中应用。

2025-08-02 11:42:11 570

原创 进阶08:Winform编写与SQL Server通信范例

本文介绍了使用C# WinForm实现SQL数据库基本操作的方法。通过SQLHelper类封装了数据库连接和操作功能,包括建表、删表、增删改查等核心操作。界面包含DataGridView控件和6个功能按钮,可实现表操作和数据管理。通过DataTable与数据库交互,支持动态生成表结构,并提供了完整的CRUD操作示例。文中详细说明了每个功能的具体实现逻辑,包括SQL语句构建、参数处理和异常捕获,可作为C#操作SQL Server的实用参考范例。

2025-08-01 14:05:03 397

原创 进阶07:C#与通用OPC UA通信范例

摘要:本文介绍了OPC UA通信的实现过程,包括环境搭建、客户端测试和Winform程序开发。首先配置OPCUASimulationServer虚拟服务器并创建测试变量,使用UaExpert客户端进行连接测试。然后开发Winform程序实现OPC UA通信功能,包含连接服务器、读写变量值和订阅变量变化事件等核心功能。程序通过OpcUaHelper库简化开发,实现了当服务器端变量值变化时自动触发弹窗通知的功能。该方案可作为工业控制系统中OPC UA通信集成的参考实现,展示了完整的通信流程和关键编程方法。

2025-07-28 14:23:19 238

原创 进阶01:Labview与OPC UA设备通信

LabVIEW通过OPC UA实现高效设备通信方案 本文介绍了使用LabVIEW与OPC UA设备通信的完整实施方案。OPC UA协议具有跨平台兼容、高安全性和高效数据交换等优势。实施步骤包括:1)安装NI OPC UA工具包;2)搭建模拟测试环境,使用OPC UA Simulation Server创建测试变量;3)编写LabVIEW程序,实现连接服务器、事件订阅、数据读写等功能。重点展示了通过用户事件实现设备主动触发的机制,当模拟变量值改变时自动触发LabVIEW事件处理。该方案验证了OPC UA在工业

2025-06-20 13:56:53 964

原创 第七天 Labview进阶(7.4 NI Vision简单使用)

NIVision机器视觉软件使用指南 摘要:NIVision是National Instruments推出的高效机器视觉软件,具有硬件无缝集成、图形化编程和工业级部署等优势。本文介绍了NIVision的安装步骤(需Vision Acquisition和Vision Development模块)及三个典型应用案例:1)实物检测通过IMAQCreate等模块实现物体识别与坐标定位;2)OCR检测利用IMAQOCR系列模块完成字符识别;3)几何模板匹配使用IMAQLearnGeometricPattern等模块实

2025-06-17 15:02:08 618

原创 第七天 Labview进阶(7.3 Teststand简单使用)

TestStand是NI开发的自动化测试管理软件,支持多语言编程和硬件集成,广泛应用于电子产品和工业测试。安装时需注意版本选择,2022版支持离线安装。使用步骤包括:1)创建测试序列文件;2)插入测试动作并配置参数(如选择VI路径、设置变量);3)添加条件判断和延时控制;4)执行测试序列时具备流程控制功能,如失败步骤自动跳过后续测试。该软件能有效提升测试效率与准确性,通过可视化操作实现复杂测试流程管理。

2025-06-17 14:47:03 1156

原创 第七天 Labview进阶(7.1 与倍福PLC通信)

摘要:本文介绍了LabVIEW与倍福TwinCAT3 PLC的通信实现方法。首先需要在两台计算机(分别运行LabVIEW和TwinCAT)上安装TwinCAT3.1开发环境,并通过网线连接设置同网段IP地址。详细说明了Router配置、AMS连接建立步骤,以及TwinCAT程序结构体定义。重点阐述了LabVIEW程序的编写方法,包括通过.NET调用TwinCAT.Ads.dll实现连接、数据读写(支持多种数据类型)等功能的具体实现。最后展示了调试运行过程,验证了数据写入和读取的有效性。该方案为工业控制系统中

2025-06-17 14:16:57 518

原创 第六天 界面操作及美化(6.4 使用GUI 套件)

本文介绍如何使用VIPM工具安装DMC GUI套件:首先打开VIPM并连接网络,搜索"UI"找到DMCGUI套件后下载安装;安装完成后即可在VIPM中添加控件并预览效果。该方法同样适用于下载其他UI套件,用户可根据需求设计个性化界面。整个流程包括搜索、下载、安装和使用四个简单步骤,适合快速搭建GUI界面。

2025-06-16 14:23:49 258

原创 第六天 界面操作及美化(6.3 自定义控件)

本文摘要:介绍了LabVIEW中自定义控件的制作方法,主要包括从阿里巴巴矢量图标库下载柴犬图标(两种颜色),通过空白按钮创建自定义控件,保存到项目Ctrl文件夹,并分别设置图片项的四项内容(第一/三项相同,第二/四项相同)。最后将控件加载到VI中测试按钮点击效果。整个过程涵盖了图标获取、控件创建、属性设置和实际应用等关键步骤。(149字)

2025-06-14 10:00:00 587

原创 第六天 界面操作及美化(6.2 控件属性节点)

LabVIEW控件属性节点使用指南 摘要:LabVIEW中的控件属性节点(PropertyNode)是实现动态控件管理的核心工具,可通过编程方式在运行时修改控件属性和VI外观。本文介绍了两种背景修改方法:颜色修改只需选择颜色工具点击面板;图片背景需要下载图片、设置VI服务器引用并添加属性节点写入操作。此外还演示了控件属性修改流程,包括添加波形图、数值输入等控件,并配置换色和绘制事件,其中绘制事件包含余弦波、三角波等多种波形生成选项。这些操作显著提升了程序的灵活性和交互性。

2025-06-13 16:29:01 481

原创 第六天 界面操作及美化(6.1 建立菜单及异步调用)

本文介绍了LabVIEW中菜单创建与异步调用的实现方法。首先通过VI属性窗口自定义运行时菜单,并保存为Menu.rtm文件,同时添加事件结构处理菜单操作。其次详细说明了异步调用界面的步骤:新建子VI、设置菜单项禁用主界面控件、在Main_HMI.vi中添加菜单选择事件触发异步调用逻辑。该方法采用"开始异步调用"节点实现非阻塞操作,使主程序与子窗口可同时响应。最终程序实现了通过菜单项(如新建、打开)异步弹出独立对话框的功能,提升了用户界面交互体验。

2025-06-13 16:16:57 407

原创 第五天 Labview数据记录(5.5 SQL数据库读写)

SQL 数据库读写操作是现代软件开发、数据分析和企业信息系统的核心功能。其意义不仅体现在技术层面,还涉及到业务流程优化、数据管理、决策支持等多个方面。以下是 SQL 数据库读写操作的重要意义:1. 数据存储与管理;2. 支持业务流程;3. 数据分析与决策支持;4. 数据共享与协作;5. 提高开发效率;6. 支持复杂业务逻辑;7. 成本效益;8. 实际应用场景SQL 数据库的读写操作是现代信息系统的核心功能,无论是企业级应用还是个人项目,SQL 数据库的读写操作都是实现数据驱动决策和业务优化的关键工具。

2025-03-11 15:52:50 1065

原创 第五天 Labview数据记录(5.4 EXCEL文件读写)

Excel 文件读写在数据处理、自动化办公、数据分析等领域具有重要的意义。以下是 Excel 文件读写的主要应用场景和意义:1. 数据管理和整理;2. 自动化办公;3. 数据分析和可视化;4. 系统集成;5. 报表生成;6. 教育和培训;7. 实际应用场景。Excel 文件读写的意义在于提高数据处理的效率、减少人工操作、支持自动化办公、促进数据分析和可视化,以及实现系统之间的数据交互。无论是企业、组织还是个人,都可以通过 Excel 文件读写实现数据的高效管理和利用。

2025-03-11 15:37:22 1147

原创 第五天 Labview数据记录(5.3 CSV文件读写)

CSV(Comma-Separated Values,逗号分隔值)文件是一种常见的文本文件格式,用于存储表格数据。它在程序中具有重要的作用,主要体现在以下几个方面:1. 数据存储与交换;2. 跨平台和跨语言支持;3. 便于处理和分析;4. 轻量级和可读性;5. 日志记录与数据备份;6. 支持批处理和自动化;7. 兼容性与通用性;CSV文件在程序中扮演着重要角色。它不仅用于数据存储和交换,还在数据分析、日志记录、自动化处理等方面发挥关键作用。

2025-03-03 17:03:48 1468

ESP32物联网开发实战项目-ESP32作ModbusTCP从机

ESP32物联网开发实战项目 ESP32 作 Modbus-TCP 从机,把内部「假寄存器」映射到 holding-register,任何 Modbus-TCP 主站(如 SCADA、PLC、python-pymodbus)都可实时读写;同时把寄存器值通过 MQTT 定时上报。 全部功能压进一个 main.c,复制即可 idf.py build flash 快速验证 把代码保存为 main/main.c,改 Wi-Fi 账号。 idf.py build flash monitor,看到 IP 后另开终端: python -m pymodbus.console tcp --host 192.168.x.x > client.write_register(40001, 12345) # 写寄存器 > client.read_holding_registers(40001, 2) # 读寄存器 同时订阅 MQTT 主题 /esp32/modbus 即可每 30 秒收到 JSON 报文: 依旧单文件、零额外组件,可直接放进产线。Enjoy!

2025-12-01

ESP32物联网开发实战项目-ESP32 作 HTTP 文件服务器

ESP32物联网开发实战项目 新玩法:ESP32 作 HTTP 文件服务器 ——插上优盘(USB-Host)就能无线下载文件 使用步骤 1.芯片仅限 ESP32-S2/S3(带 USB-OTG)。 2.idf.py menuconfig → 启用 USB-Host 与 FatFS 长文件名支持。 3.修改 WIFI_SSID / WIFI_PASS。 4.idf.py build flash monitor。 5.插入 FAT32 U 盘,串口看到 U 盘挂载成功 后,用浏览器访问串口打印的 IP 即可列出/下载文件。

2025-11-28

ESP32物联网开发实战项目-DHT11温湿度-ESP32-MQTT-定时上报

ESP32物联网开发实战项目 DHT11 温湿度 → ESP32 → MQTT 定时上报; 接线图 DHT11 引脚 ESP32 VCC → 3V3 DATA → GPIO4(可改宏) GND → GND 运行步骤 新建最小工程模板 idf.py create-project dht11_mqtt cd dht11_mqtt 把上面 main.c 覆盖 main/main.c 修改 WIFI_SSID、WIFI_PASS idf.py build flash monitor 任意 MQTT 客户端订阅 /esp32/dht11 即可每 30 秒收到温湿度 JSON;串口亦同步打印

2025-11-28

ESP32物联网开发实战项目-获取时间-MQTT

ESP32物联网开发实战项目 功能清单 1.Wi-Fi 站点模式(STA),上电自动连你家路由器 2.内置 HTTP 客户端,每 30 s 向「贝壳时间戳接口」请求当前北京时间,并通过串口打印 3.如果获取成功,把年份、月份、小时等 6 个字段通过 MQTT 发布到主题 /esp32/demo/datetime 4.若网络或服务器异常,自动重连/重试,不死机 5.全部代码写在 main.c 一个文件里,复制到任意 ESP-IDF 工程(4.x/5.x 均可)的 main/ 目录即可 idf.py build flash 使用方法 1.安装 ESP-IDF(官方一键安装器即可) 2.把上面文件保存为 main/main.c(新建最小工程模板: idf.py create-project demo 然后把 main.c 替换掉即可) 3.修改开头的 WIFI_SSID / WIFI_PASS 4.idf.py build → idf.py -p /dev/ttyUSB0 flash monitor 5.打开任意 MQTT 客户端(如 MQTT Explorer)订阅 /esp32/demo/datetime,即可每 30 s 收到一次 JSON 格式北京时间;串口也会同步打印

2025-11-28

Python 加密实战示例-「Rail Fence 栅栏密码 + SHA-256 分段认证」

加密算法实现与性能优化实践 功能一览 加密:Rail Fence 栅栏密码(自定义轨道数) 密钥:任意字符串 → 派生轨道数 + 扰动 校验:SHA-256 分段 HMAC(Encrypt-then-MAC) 流式处理:64 KB 分块,不爆内存 零依赖:仅 Python ≥3.6 标准库(hashlib, hmac, os, sys) 运行演示 # 加密文件 python railfence_sha256.py -e big.txt big.txt.enc mypassword # 解密文件 python railfence_sha256.py -d big.txt.enc big.txt.dec mypassword [✓] 解密完成:big.txt.enc -> big.txt.dec

2025-11-25

Python 加密实战示例-「Four-Square 四方密码 + Blake2b 哈希校验」

加密算法实现与性能优化实践 功能一览 加密:Four-Square 四方密码(4×4 字母表,I=J) 密钥:任意字符串 → 生成 4 个 4×4 方阵 校验:Blake2b(256-bit)分段 HMAC(Encrypt-then-MAC) 流式处理:64 KB 分块,不爆内存 零依赖:仅 Python ≥3.6 标准库(hashlib, hmac, os, struct) 运行演示 # 加密文件 python foursquare_blake2b.py -e big.txt big.txt.enc mypassword # 解密文件 python foursquare_blake2b.py -d big.txt.enc big.txt.dec mypassword [✓] 解密完成:big.txt.enc -> big.txt.dec

2025-11-25

Python 加密实战示例-「Playfair 方阵密码 + SHA-256 摘要校验」

加密算法实现与性能优化实践 功能一览 加密:Playfair 方阵密码(5×5 字母表,I=J) 密钥:任意字符串 → 生成 5×5 方阵 校验:SHA-256 分段 HMAC(Encrypt-then-MAC) 流式处理:64 KB 分块,不爆内存 零依赖:仅 Python ≥3.6 标准库(hashlib, hmac, os, sys) 运行演示 # 加密文件 python playfair_sha256.py -e big.txt big.txt.enc mypassword # 解密文件 python playfair_sha256.py -d big.txt.enc big.txt.dec mypassword [✓] 解密完成:big.txt.enc -> big.txt.dec

2025-11-25

Python实现一个全连接神经网络并在经典的 MNIST 手写数字上训练 / 测试

神经网络从零开始实现项目 包含: 激活函数及其导数(Sigmoid / ReLU / Softmax) 前向、反向传播 随机梯度下降(SGD) 预测与评估 主流程:加载数据 → 训练 3 轮 → 测试准确率 运行示例(CPU 笔记本): Loading data... Epoch 1/3 acc=0.9267 time=66.3s Epoch 2/3 acc=0.9509 time=65.7s Epoch 3/3 acc=0.9605 time=65.8s

2025-11-24

Python 加密实战示例-「Caesar 凯撒密码 + 自定义移位表 + Blake2b 哈希校验」

加密算法实现与性能优化实践 功能一览 加密:Caesar 凯撒移位(自定义 94 个可打印 ASCII) 字典表:空格到 ~(ASCII 32-126) 密钥:256-bit 随机数 → 派生移位量 + 扰动 校验:Blake2b(256-bit)分段校验,篡改即报错 零依赖:仅 Python ≥3.6 标准库(secrets, hashlib, os, struct) 运行演示 # 加密文件 python caesar_blake2b.py -e big.txt big.txt.enc mypassword # 解密文件 python caesar_blake2b.py -d big.txt.enc big.txt.dec mypassword [✓] 解密完成:big.txt.enc -> big.txt.dec [✓] Blake2b:d3adbeef...(一致,完整)

2025-11-24

Python 加密实战示例-「Affine 仿射密码 + 自定义字典 + SHA-256 摘要校验」

加密算法实现与性能优化实践 功能一览 加密:Affine 仿射变换(E = (a×x + b) mod m) 字典表:自定义 94 个可打印 ASCII(空格到 ~) 密钥:256-bit 随机数 → 派生 a/b(互质) 校验:SHA-256 摘要,篡改即报错 零依赖:仅 Python ≥3.6 标准库(secrets, hashlib, os, sys) 运行演示 # 加密文件 python affine_sha256.py -e big.txt big.txt.enc mypassword # 解密文件 python affine_sha256.py -d big.txt.enc big.txt.dec mypassword [✓] 解密完成:big.txt.enc -> big.txt.dec [i] SHA-256:d3adbeef...(一致,完整)

2025-11-24

Python 加密实战示例-「一次性密码本(OTP)(XOR)+ Blake2b 哈希 + 内存流式处理」

加密算法实现与性能优化实践 功能一览 对称加密:一次性密码本(OTP)XOR(256-bit 密钥) 哈希校验:Blake2b(256-bit)分段校验,篡改即报错 流式处理:64 KB 分块,不爆内存 零依赖:仅 Python ≥3.6 标准库(secrets, hashlib, os, struct) 运行演示 # 加密文件 python otp_blake2b_stream.py -e big.mkv big.mkv.enc mypassword # 解密文件 python otp_blake2b_stream.py -d big.mkv.enc big.mkv.dec mypassword [✓] 解密完成:big.mkv.enc -> big.mkv.dec [✓] Blake2b:d3adbeef...(一致,完整)

2025-11-22

Python 加密实战小项目-「RC4 流密码 + SHA-256 分段认证」

加密算法实现与性能优化实践 功能一览 流加密:RC4(256-bit 密钥,Drop-2048 版) 认证标签:SHA-256 分段 HMAC(Encrypt-then-MAC) 流式处理:64 KB 分块,不爆内存 零依赖:仅 Python ≥3.6 标准库(hashlib, hmac, os, struct) 运行演示 # 加密文件 python rc4_sha256_aead.py -e big.mkv big.mkv.enc mypassword # 解密文件 python rc4_sha256_aead.py -d big.mkv.enc big.mkv.dec mypassword [✓] 解密完成:big.mkv.enc -> big.mkv.dec

2025-11-22

Python 加密实战示例-「BLAKE2b 哈希 + Fernet-like 对称加密 + 内存流式处理」

加密算法实现与性能优化实践 功能一览 对称加密:使用标准库 secrets 生成密钥,hmac 做认证标签 哈希校验:Blake2b(256-bit)快速校验文件完整性 流式加密:分块读写,不加载整个文件到内存 零依赖:仅 Python ≥3.6 标准库(secrets, hmac, hashlib, os) 运行演示 # 加密文件 python blake2_fernet.py -e big.mkv big.mkv.enc mypassword # 解密文件 python blake2_fernet.py -d big.mkv.enc big.mkv.dec mypassword [✓] 解密完成:big.mkv.enc -> big.mkv.dec [i] Blake2b:d3adbeef...(一致,完整)

2025-11-22

Python 加密实战示例-「Vigenère 变种 + 字节扰动 + 校验和」

加密算法实现与性能优化实践 功能一览 流加密:Vigenère 变种(字节级移位 + 扰动) 校验和:Adler-32 分段校验,篡改即报错 流式处理:64 KB 分块,不爆内存 零依赖:仅 Python ≥3.6 标准库(struct, hashlib, os) 运行演示 # 加密文件 python vigenere_stream.py -e big.mkv big.mkv.enc mypassword # 解密文件 python vigenere_stream.py -d big.mkv.enc big.mkv.dec mypassword [✓] 解密完成:big.mkv.enc -> big.mkv.dec

2025-11-21

Python 加密实战示例-「ECC 椭圆曲线密钥交换(ECDH) + AES-256-CTR 流式加密」

加密算法实现与性能优化实践 功能一览 椭圆曲线:secp256r1(NIST P-256) 密钥派生:ECDH 共享密钥 → HKDF-SHA256 → AES-256-CTR 流加密:AES-CTR 分块(64 KB),不加载整个文件 认证:HMAC-SHA256(Encrypt-then-MAC) 零依赖:仅 Python ≥3.6 标准库(secrets, hashlib, hmac, os) 运行演示 # ① 安装依赖(仅 cryptography,用于 ECC 密钥生成) pip install cryptography # ② 生成密钥对 python ecc_stream_cipher.py -g private.pem public.pem Private key password: 123456 [✓] 密钥对已生成:private.pem & public.pem # ③ 加密文件 python ecc_stream_cipher.py -e big.mkv big.mkv.enc public.pem [✓] 加密完成:big.mkv -> big.mkv.enc # ④ 解密文件 python ecc_stream_cipher.py -d big.mkv.enc big.mkv.dec private.pem Private key password: 123456 [✓] 解密完成:big.mkv.enc -> big.mkv.dec

2025-11-21

Python 加密实战示例-「Salsa20 流加密 + Poly1305 认证(AEAD)」

加密算法实现与性能优化实践 功能一览 流加密:Salsa20(256-bit key,128-bit nonce) 认证标签:Poly1305(128-bit MAC) AEAD 模式:Encrypt-then-MAC,篡改即报错 流式处理:64 KB 分块,不爆内存 零依赖:仅 Python ≥3.6 标准库(hashlib, hmac, os, struct) 运行演示 # ① 安装依赖(仅 cryptography,用于密钥生成,可换成 secrets) pip install cryptography # 仅生成密钥用,加密核心零依赖 # ② 生成密钥 python salsa20_poly1305.py -g key.bin # ③ 加密文件 python salsa20_poly1305.py -e big.mkv big.mkv.enc key.bin [✓] 加密完成:big.mkv -> big.mkv.enc # ④ 解密文件 python salsa20_poly1305.py -d big.mkv.enc big.mkv.dec key.bin [✓] 解密完成:big.mkv.enc -> big.mkv.dec

2025-11-21

Python 加密实战示例-「Blake2b 哈希 + Fernet 对称加密 + 内存流式处理」

加密算法实现与性能优化实践 功能一览 对称加密:使用标准库 secrets 生成密钥,hmac 做认证标签 哈希校验:Blake2b(256-bit)快速校验文件完整性 流式加密:分块读写,不加载整个文件到内存 零依赖:仅 Python ≥3.6 标准库(secrets, hmac, hashlib, os) 运行演示 # ① 生成密钥 python blake2_fernet.py -g key.bin # ② 加密文件 python blake2_fernet.py -e big.zip big.zip.enc key.bin [✓] 加密完成:big.zip -> big.zip.enc [i] Blake2b:d3adbeef... # ③ 解密文件 python blake2_fernet.py -d big.zip.enc big.zip.dec key.bin [✓] 解密完成:big.zip.enc -> big.zip.dec [i] Blake2b:d3adbeef...(一致,完整)

2025-11-20

Python 加密实战示例-「RSA 公钥加密 + OAEP 填充 + PEM 格式」

加密算法实现与性能优化实践 功能一览 生成 RSA 2048 位密钥对(PEM 格式) 公钥加密 → Base64 密文 私钥解密 → 原文字符串 支持 大文件流式加密(不爆内存) 仅依赖 Python 标准库:cryptography(PyPI 安装即可) 运行演示 # ① 安装依赖 pip install cryptography # ② 生成密钥对 python rsa_oaep_cli.py -g myprivate.pem mypublic.pem Private key password: 123456 [✓] 密钥对已生成:myprivate.pem & mypublic.pem # ③ 字符串加密 python rsa_oaep_cli.py -e mypublic.pem Plaintext: Hello RSA-OAEP! Ciphertext (base64): u3Vv1Y...(随机串) # ④ 字符串解密 python rsa_oaep_cli.py -d myprivate.pem Private key password: 123456 Ciphertext (base64): u3Vv1Y... Plaintext: Hello RSA-OAEP! # ⑤ 文件加密(流式) python rsa_oaep_cli.py -ef mypublic.pem big.bin big.bin.enc [✓] 文件加密完成:big.bin -> big.bin.enc # ⑥ 文件解密(流式) python rsa_oaep_cli.py -df myprivate.pem big.bin.enc big.bin.dec [✓] 文件解密完成:big.bin.enc -> big.bin.dec

2025-11-20

Python 加密实战代码-「XChaCha20-Poly1305」

加密算法实现与性能优化实践 功能一览 加密:任意字符串 → Base64 密文 解密:Base64 密文 → 原文字符串 大文件:流式加密/解密,不加载整个文件到内存 认证:Poly1305 标签(AEAD) Nonce:192-bit(XChaCha20),每条消息随机 密钥派生:PBKDF2-SHA256,随机 salt 运行演示 # 安装依赖 pip install cryptography # 字符串加密 python xchacha20_cli.py -e Password: 123456 Plaintext: Hello XChaCha20! Ciphertext (base64): u3Vv1Y...(随机串) # 字符串解密 python xchacha20_cli.py -d Password: 123456 Ciphertext (base64): u3Vv1Y... Plaintext: Hello XChaCha20! # 文件加密 python xchacha20_cli.py -e -f big.bin big.bin.enc [✓] 加密完成:big.bin -> big.bin.enc # 文件解密 python xchacha20_cli.py -d -f big.bin.enc big.bin.dec [✓] 解密完成:big.bin.enc -> big.bin.dec

2025-11-20

Python 加密实战示例-「ChaCha20-Poly1305」 对称认证加密(AEAD)

加密算法实现与性能优化实践 功能一览 加密:任意字符串 → Base64 密文 解密:Base64 密文 → 原文字符串 密钥派生:HKDF(SHA-256) 认证标签:Poly1305(AEAD) 流式加密:支持 GB 级大文件 不爆内存 仅依赖标准库:cryptography(PyPI 安装即可) 运行演示 # 安装依赖 pip install cryptography # 字符串加密 python chacha20_cli.py -e Password: 123456 Plaintext: Hello ChaCha20! Ciphertext (base64): u3Vv1Y...(随机串) # 字符串解密 python chacha20_cli.py -d Password: 123456 Ciphertext (base64): u3Vv1Y... Plaintext: Hello ChaCha20! # 文件加密 python chacha20_cli.py -e -f big.bin big.bin.enc [✓] 文件加密完成:big.bin -> big.bin.enc # 文件解密 python chacha20_cli.py -d -f big.bin.enc big.bin.dec [✓] 文件解密完成:big.bin.enc -> big.bin.dec

2025-11-19

ESP32「秒变 Wi-Fi 时钟」-MQTT-UDP 输出北京时间

ESP32物联网开发实战项目 ESP32「秒变 Wi-Fi 时钟」——芯片内部 RTC 通过 NTP 校准后,每 30 秒串口、MQTT、UDP 三通道同步输出北京时间,单文件、零外设。 使用步骤 保存为 main/main.c,改 Wi-Fi 账号。 idf.py build flash monitor → 串口每 30 秒打印北京时间。 电脑/手机同一局域网: nc -u -l 6006 或订阅 MQTT /esp32/clock 即可每 30 秒收到: 2025-06-25 14:07:45 零外设、单文件,ESP32 就是网络时钟!

2025-12-08

ESP32「触摸按键开关 + UDP 广播 + MQTT」

ESP32物联网开发实战项目 ESP32「触摸按键开关 + UDP 广播 + MQTT」——单触摸引脚(GPIO 4)轻触即可翻转 LED 状态,同时把当前 ON/OFF 通过 MQTT 与 UDP 实时同步,零外设、单文件。 简要说明 触摸检测:T0(GPIO 4)内置电容触摸,滤波后低于阈值即视为“按下”。 状态翻转:每次触碰翻转 LED 亮灭,并立即 UDP 广播 + MQTT /esp32/touch 推送 JSON。 零外设:无需物理按键,手指即可;纯 IDF 触摸驱动,单文件编译。

2025-12-08

ESP32「旋钮电位器 → Wi-Fi → MQTT 遥测」

ESP32物联网开发实战项目 ADC1 读取旋钮电压 → 0-100% 占空比 → 同时控制板载 LED 亮度 + MQTT/UDP 实时上报,零外设库、单文件。 简要说明 旋钮采样:ADC1 通道 6(GPIO34)12 位精度,0-3.3 V 对应 0-4095。 LED 调光:LEDC 10 bit PWM 驱动板载 LED,亮度 0-100% 实时跟随旋钮。 双通道遥测:每 1 秒 UDP 广播 + MQTT /esp32/knob 推送百分比,手机/云端随时监视。

2025-12-08

ESP32「RGB 三色 PWM 氛围灯」-手机 UDP 调光

ESP32物联网开发实战项目 ESP32「RGB 三色 PWM 氛围灯」——手机 UDP 发 JSON 即可调光,同时 MQTT 定时回传当前亮度,单文件、零外设驱动。 简要说明 1.PWM 驱动:IDF 自带 LEDC,5000 Hz、10 bit 精度,占空比 0-1023。 2.手机调光:局域网内发 UDP 广播 {"r":100,"g":200,"b":50} 到 8888 即可实时变色。 3.状态回传:每 10 秒 MQTT /esp32/rgb 上报当前占空比,方便云端记录。 4.零外设库、单文件,插好 RGB 就能手机调色!

2025-12-07

ESP32「片内温度 + 片内霍尔 + 片内 RSSI」三合一迷你气象站

ESP32物联网开发实战项目 芯片自己就是传感器,每 5 秒打包温度/磁场/信号强度 → MQTT /esp32/onchip + UDP 广播 5566,零外设、零库、单文件. 使用步骤 保存为 main/main.c,改 Wi-Fi 账号。 idf.py build flash monitor → 串口实时打印 JSON。 电脑/手机同一局域网: nc -u -l 5566 或订阅 MQTT /esp32/onchip 即可每 5 秒收到: {"temp":53,"hall":-18,"rssi":-41} 零外设、零库、单文件——芯片自己就是气象站!

2025-12-07

python 加密实战示例4-「Digrafid 双格密码 + Blake2b 哈希校验」

加密算法实现与性能优化实践 功能一览 加密:Digrafid 双格密码(9×9 数字格 + 字母格) 密钥:任意字符串 → 派生 9×9 双格 + 扰动步长 校验:Blake2b(256-bit)分段 HMAC(Encrypt-then-MAC) 流式处理:64 KB 分块,内存友好 零依赖:仅 Python ≥3.6 标准库

2025-12-07

ESP32「单文件」超声波测距(HC-SR04)→ UDP 广播 + MQTT 实时推送

ESP32物联网开发实战项目 简要说明 HC-SR04 驱动:Trig 发 10 µs 脉冲,Echo 高电平时间 → 距离公式 cm = us * 0.034 / 2。 双通道上报: – UDP 广播 7007 端口,局域网秒级查看; – MQTT /esp32/ultrasonic 供云端记录。 零外设库:纯 IDF GPIO/定时器,单文件编译,插上模块即可测距!

2025-12-05

Python 加密实战示例-「Columnar Transposition 列换位密码 + Blake2b 哈希校验」

加密算法实现与性能优化实践 功能一览 加密:列换位(自定义列数 + 扰动移位) 校验:Blake2b 分段 HMAC(Encrypt-then-MAC) 流式处理:64 KB 分块,内存友好 零依赖:仅 Python ≥3.6 标准库 运行演示 # 加密文件 python columnar_blake2b.py -e big.txt big.txt.enc mypassword # 解密文件 python columnar_blake2b.py -d big.txt.enc big.txt.dec mypassword [✓] 解密完成:big.txt.enc -> big.txt.dec 源码说明(逐段解释) 密钥派生 用 PBKDF2-like 循环 SHA-256 从密码+salt 生成整数,作为列数和扰动步长。 列换位加密 对每块数据: 仅处理 A-Z(教学级),循环移位后输出。 扰动步长随块偏移递增,形成轻微流密码效果。 流式加密 64 KB 分块,头部写 salt、大小、列数、扰动步长;尾部写 HMAC 标签。 HMAC 认证 Encrypt-then-MAC,每块密文都参与 MAC 计算,篡改即报错。 零依赖 仅 Python ≥3.6 标准库,无第三方包。

2025-12-05

Python 加密实战示例-「Digrafid 双格密码 + Blake2b 哈希校验」

加密算法实现与性能优化实践 功能一览 加密:Digrafid 双格密码(9×9 数字格 + 字母格) 密钥:任意字符串 → 派生 9×9 数字格 + 扰动步长 校验:Blake2b(256-bit)分段 HMAC(Encrypt-then-MAC) 流式处理:64 KB 分块,不爆内存 零依赖:仅 Python ≥3.6 标准库(hashlib, hmac, os, struct)

2025-12-05

ESP32「片内霍尔传感器 + Wi-Fi + MQTT」

ESP32物联网开发实战项目 SP32「片内霍尔传感器 + Wi-Fi + MQTT」——把磁铁靠近/远离芯片的实时磁场强度(单位 μT)无线推送到云端,零外设、单文件即可跑。 简要说明 片内霍尔:ESP32 自带霍尔传感器,hall_sensor_read() 直接返回磁场强度(μT),磁铁靠近数值变大,反转极性变号。 MQTT 推送:每 3 秒 JSON 上报至 /esp32/hall,手机订阅即可实时看到曲线。 零外设、零库:纯 IDF 接口,单文件编译,连一根线都不需要,拿块磁铁就能玩!

2025-12-04

ESP32 「雨滴/湿度传感器 + UDP 广播 + MQTT」三合一 IoT 小气象站

ESP32物联网开发实战项目 简要说明: 单 ADC 通道(GPIO33)读取雨滴传感器模拟输出(0-3.3V,值越小雨越大) 每 10 秒把原始 ADC、计算后的雨量等级(0-100%)通过: – UDP 广播 端口 6006(局域网内任意主机 nc -u -l 6006 即可收) – MQTT 发布到 /esp32/rain ADC 采集:GPIO33 读取雨滴板模拟量,干值高、雨值低。 双通道上报: – UDP 广播 255.255.255.255:6006,局域网秒级查看; – MQTT /esp32/rain 供云端记录。 零外设库:纯 IDF 驱动,单文件即可编译。 滴点水,看串口/UDP/MQTT 同步变化!

2025-12-04

Python 加密实战示例-「Autokey 自动密钥密码 + Blake2b 哈希校验」

加密算法实现与性能优化实践 功能一览 加密:Autokey 自动密钥密码(A-Z 循环,密钥自延伸) 密钥:任意字符串 → 派生初始密钥 + 周期扰动 校验:Blake2b(256-bit)分段 HMAC(Encrypt-then-MAC) 流式处理:64 KB 分块,不爆内存 零依赖:仅 Python ≥3.6 标准库(hashlib, hmac, os, struct)

2025-12-04

ESP32 单文件「红外 NEC 解码 → MQTT 转发」

ESP32物联网开发实战项目 说明: 任意红外遥控器(NEC 协议)对准 IR 接收头 → ESP32 解码键值 → MQTT 发布 /esp32/ir 无需外驱库,GPIO 中断 + 定时器手撸解码,整包仅 main.c 简要说明 红外接收:GPIO18 上升沿中断计时,手撸 NEC 协议解码(引导码+32bit)。 MQTT 转发:解码成功后立即发布 JSON(地址+命令)到 /esp32/ir。 零库依赖:纯 IDF 驱动,单文件编译即可。 插上 IR 头,拿遥控器一按,局域网内瞬间收到键值!

2025-12-03

Python 加密实战示例-「Morse 摩尔斯电码 -Blake2b 哈希校验」

加密算法实现与性能优化实践 功能一览 加密:Morse 摩尔斯电码(A-Z, 0-9)+ 自定义分隔符 密钥:任意字符串 → 派生分隔符 + 扰动移位 校验:Blake2b(256-bit)分段 HMAC(Encrypt-then-MAC) 流式处理:64 KB 分块,不爆内存 零依赖:仅 Python ≥3.6 标准库(hashlib, hmac, os, struct)

2025-12-03

Python 加密实战示例-「Vernam 一次性密码本(OTP)+ SHA-256 分段认证」

加密算法实现与性能优化实践 功能一览 加密:Vernam 一次性密码本(XOR + 周期移位) 密钥:256-bit 随机数 → 派生周期 + 初始偏移 校验:SHA-256 分段 HMAC(Encrypt-then-MAC) 流式处理:64 KB 分块,不爆内存 零依赖:仅 Python ≥3.6 标准库(secrets, hashlib, hmac, os, sys) 运行演示 # 加密文件 python vernam_otp_sha256.py -e big.txt big.txt.enc mypassword # 解密文件 python vernam_otp_sha256.py -d big.txt.enc big.txt.dec mypassword [✓] 解密完成:big.txt.enc -> big.txt.dec

2025-12-03

Python 加密实战示例-「Grille 格栅密码 -Blake2b 哈希校验」

加密算法实现与性能优化实践 功能一览 加密:Grille 格栅密码(4×4 穿孔板 + 移位填充) 密钥:任意字符串 → 生成 4×4 穿孔板 + 派生移位量 校验:Blake2b(256-bit)分段 HMAC(Encrypt-then-MAC) 流式处理:64 KB 分块,不爆内存 零依赖:仅 Python ≥3.6 标准库(hashlib, hmac, os, struct) 运行演示 # 加密文件 python grille_blake2b.py -e big.txt big.txt.enc mypassword # 解密文件 python grille_blake2b.py -d big.txt.enc big.txt.dec mypassword [✓] 解密完成:big.txt.enc -> big.txt.dec

2025-12-02

ESP32 内部温度传感器 - Wi-Fi -UDP 广播

ESP32物联网开发实战项目 ESP32 内部温度传感器 + Wi-Fi + UDP 广播,每 5 秒把芯片内部温度(°C)以 JSON 形式发往 255.255.255.255:5005,局域网内任何手机/电脑 nc -u -l 5005 即可实时接收;同时串口打印。 整份代码仅 main.c,复制即可 idf.py build flash,无需任何外设。 使用步骤 保存为 main/main.c,改 Wi-Fi 账号。 idf.py build flash monitor。 电脑/手机同一局域网执行: nc -u -l 5005 即可每 5 秒收到: {"temp":52.34,"chip":"esp32"} 依旧单文件、零外设、零额外库,把芯片变成无线温度计!

2025-12-02

Python 加密实战示例-「Polish 循环置换密码 + SHA-256 分段认证」

加密算法实现与性能优化实践 功能一览 加密:Polish 循环置换(自定义字母表 + 周期移位) 密钥:任意字符串 → 派生周期 + 初始偏移 校验:SHA-256 分段 HMAC(Encrypt-then-MAC) 流式处理:64 KB 分块,不爆内存 零依赖:仅 Python ≥3.6 标准库(hashlib, hmac, os, sys) 运行演示 # 加密文件 python polish_cycle_sha256.py -e big.txt big.txt.enc mypassword # 解密文件 python polish_cycle_sha256.py -d big.txt.enc big.txt.dec mypassword [✓] 解密完成:big.txt.enc -> big.txt.dec

2025-12-02

ESP32物联网开发实战项目-ESP32 驱动 0.96" SSD1306 I²C OLED

ESP32物联网开发实战项目 ESP32 驱动 0.96" SSD1306 I²C OLED,把 Wi-Fi 信号强度(RSSI)画成实时柱状图,同时通过 MQTT 每 10 秒上报 RSSI 值。 整份代码仅 main.c,复制即可 idf.py build flash,不依赖任何外部组件(全部 I²C 与 OLED 命令手撸)。 运行步骤 新建空工程,把代码保存为 main/main.c;改 Wi-Fi 账号。 idf.py build flash monitor。 手机/电脑连同一局域网,订阅 MQTT 主题 /esp32/rssi 即可每 10 秒收到信号强度值;OLED 实时画柱高。 依旧单文件、零外部库,插上屏就能看无线信号,玩去吧!

2025-12-01

Python加密实战示例-「Bifid 双轨密码 + Blake2b 哈希校验」

加密算法实现与性能优化实践 功能一览 加密:Bifid 双轨密码(5×5 字母表,I=J) 密钥:任意字符串 → 生成 5×5 方阵 + 派生扰动步长 校验:Blake2b(256-bit)分段 HMAC(Encrypt-then-MAC) 流式处理:64 KB 分块,不爆内存 零依赖:仅 Python ≥3.6 标准库(hashlib, hmac, os, struct) 运行演示 # 加密文件 python bifid_blake2b.py -e big.txt big.txt.enc mypassword # 解密文件 python bifid_blake2b.py -d big.txt.enc big.txt.dec mypassword [✓] 解密完成:big.txt.enc -> big.txt.dec

2025-12-01

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除