当前位置: 首页 > article >正文

Thinkphp 物联网对接

ThinkPHP 结合 Modbus 和 MQTT 实现 MES 代码示例好直接给你 ThinkPHP 可直接复制运行的两套代码1. Modbus Slave 数据读取PLC / 机床仿真2. MQTT 数据订阅 自动入库MES 设备上云你直接贴到项目里就能跑。---一、ThinkPHP 读取 Modbus Slave机床 / PLC 仿真1. 先装库composer require angeloc/php-modbus2. 代码控制器 / 任务?phpnamespace app\api\controller;use PHPModbus\ModbusMaster;use think\Controller;class Modbus extends Controller{// 读取 Modbus Slave 模拟机床数据public function readMachine(){// 你的电脑/模拟器IPModbus Slave所在机器$host 127.0.0.1;$port 502; // 默认Modbus TCP端口try {// 1. 连接Modbus TCP$modbus new ModbusMaster($host, TCP);$modbus-port $port;$modbus-timeout_sec 5;// 2. 读取保持寄存器机床地址1从0开始读10个// 对应你Modbus Slave里设置的 Slave Definition$unitId 1;$startAddress 0;$quantity 10;$data $modbus-readMultipleRegisters($unitId, $startAddress, $quantity);// 3. 解析机床数据和你模拟器对应$machine [status $data[0], // 0停机,1运行,2报警speed $data[1], // 转速total $data[2], // 总产量work_sec $data[3], // 加工时长alarm $data[4], // 报警码];// 4. 直接给MES用存库/显示/统计return json([code 1,msg 读取成功,data $machine]);} catch (\Exception $e) {return json([code 0,msg 失败.$e-getMessage()]);}}}3. 怎么用- 打开 Modbus Slave → F3 选 Connection → Connect → TCP/IP- 端口 502 → 点 OK- 访问http://你的项目/api/modbus/readMachine---二、ThinkPHP MQTT 订阅 自动入库MES 必备1. 先装库composer require php-mqtt/client2. 建表 SQLCREATE TABLE machine_data (id int(11) NOT NULL AUTO_INCREMENT,topic varchar(100) DEFAULT NULL COMMENT MQTT主题,device varchar(50) DEFAULT NULL COMMENT 机床编号,status tinyint(1) DEFAULT 0 COMMENT 0停机1运行2报警,speed int(11) DEFAULT 0 COMMENT 转速,total int(11) DEFAULT 0 COMMENT 产量,alarm int(11) DEFAULT 0 COMMENT 报警码,raw text COMMENT 原始JSON,create_time datetime DEFAULT CURRENT_TIMESTAMP,PRIMARY KEY (id)) ENGINEInnoDB DEFAULT CHARSETutf8;3. 订阅代码命令行常驻运行app/command/MqttSubscribe.php?phpnamespace app\command;use PhpMqtt\Client\MqttClient;use think\console\Command;use think\console\Input;use think\console\Output;use think\Db;class MqttSubscribe extends Command{protected function configure(){$this-setName(mqtt:subscribe)-setDescription(MQTT机床数据订阅);}protected function execute(Input $input, Output $output){// 配置和你MQTTX一致$server broker.emqx.io; // 免费测试服务器$port 1883;$clientId mes-machine-.uniqid();$topic mes/cnc/#; // 订阅所有机床try {// 连接MQTT$mqtt new MqttClient($server, $port, $clientId);$mqtt-connect();$output-writeln(✅ MQTT已连接等待机床数据...);// 订阅入库$mqtt-subscribe($topic, function ($topic, $message) use ($output) {$output-writeln(\n 收到$topic);$output-writeln(内容$message);// 解析JSON$data json_decode($message, true);if (!$data) return;// 写入MES数据库Db::name(machine_data)-insert([topic $topic,device $data[device] ?? ,status $data[status] ?? 0,speed $data[speed] ?? 0,total $data[total] ?? 0,alarm $data[alarm] ?? 0,raw $message,create_time date(Y-m-d H:i:s)]);$output-writeln(✅ 已存入数据库);}, 0);// 常驻循环$mqtt-loop(true);$mqtt-disconnect();} catch (\Exception $e) {$output-writeln(❌ 错误.$e-getMessage());}}}4. 运行订阅命令行php think mqtt:subscribe5. 测试用 MQTTX 发- 主题mes/cnc/001- 消息{device: CNC-001,status: 1,speed: 1500,total: 300,alarm: 0}发完 → 数据库立刻有记录 ✅---三、你现在就能做1. 运行 Modbus Slave → 改数字 → PHP 直接读到2. 运行 MQTT 订阅 → MQTTX 发 JSON → 自动进 MES 库3. 完全不用真实机床、不用现场、不用强电要不要我再给你- 机床状态 / 产量 / 报警 前端看板页面HTMLVue- 定时采集 历史曲线 导出 Excel 的完整代码

相关文章:

Thinkphp 物联网对接

ThinkPHP 结合 Modbus 和 MQTT 实现 MES 代码示例好!直接给你 ThinkPHP 可直接复制运行的两套代码:1. Modbus Slave 数据读取(PLC / 机床仿真)2. MQTT 数据订阅 自动入库(MES 设备上云)你直接贴到项目里就…...

YOLOv11改进 | Conv篇 | 利用2024最新Mamba的MLLABLock二次创新C3k2(全网独家首发)

开始讲解之前推荐一下我的专栏,本专栏的内容支持(分类、检测、分割、追踪、关键点检测),专栏目前为限时折扣,欢迎大家订阅本专栏,本专栏每周更新3-5篇最新机制,更有包含我所有改进的文件和交流群提供给大家。 一、本文介绍 本文给大家带来的改进机制是利用Mamba框架下的M…...

AI原生项目管理工具Roadmap Skill:基于MCP协议实现本地化任务协同

1. 项目概述:一个为AI Agent设计的本地化项目管理工具如果你和我一样,每天都在和Claude、Cursor这类AI助手打交道,一边写代码一边规划项目,那你肯定也遇到过这样的困境:脑子里蹦出一个绝妙的想法,或者AI助手…...

可视化编程入门:5个步骤让你用MIT App Inventor零代码开发移动应用

可视化编程入门:5个步骤让你用MIT App Inventor零代码开发移动应用 【免费下载链接】appinventor-sources MIT App Inventor Public Open Source 项目地址: https://gitcode.com/gh_mirrors/ap/appinventor-sources 你是否曾想过开发自己的手机应用&#xff…...

模拟器下载设置步骤

Modbus Slave MQTT 模拟器下载与设置步骤好!现在直接给你 Modbus Slave MQTT 模拟器 全套下载 设置步骤,你照着点就行,点完就能虚拟机床发数据。一、Modbus Slave(虚拟 485/Modbus TCP 机床)1. 下载(免费…...

openmemory:跨平台内存操作工具箱,赋能系统级性能优化与安全控制

1. 项目概述:一个面向开发者的内存操作工具箱 最近在琢磨一些底层性能优化和调试工具时,偶然发现了一个名为 openmemory 的项目。这个项目由 Peter J. Thompson 发起,从名字就能猜到,它核心关注的是“内存”这个计算机系统中最基…...

基于AI与大语言模型的书签智能管理:从向量数据库到语义搜索的实践

1. 项目概述:当书签管理遇上AI作为一名在互联网行业摸爬滚打了十几年的老鸟,我收藏夹里的书签数量,大概能见证整个互联网的变迁。从早期的“网页快照”到后来的“稍后阅读”,工具换了一茬又一茬,但痛点始终如一&#x…...

AI应用开发框架goodai-base:模块化设计、核心原理与实战指南

1. 项目概述:一个为AI应用量身定制的“基础底座” 最近在GitHub上看到一个挺有意思的项目,叫 MrCipherSmith/goodai-base 。光看名字, goodai-base ,一个“好的AI基础”,就让人忍不住想点进去看看。这名字起得挺直…...

编译器---GNU(gcc与g++)

概述 GCC(GNU Compiler Collection)和 G 是软件开发中常用的编译工具,它们在 GNU 项目中扮演着重要角色,为开发者提供了强大的编译能力。 基本概念 GCC GCC 即 GNU 编译器套件,它最初是作为 C 语言的编译器而开发的&am…...

Unity任务系统笔记

概述任务系统一般基于事件的发布-监听架构。玩家的某些行为发布事件,任务对象监听事件,且需要传递一些参数,不同类型的任务传递的参数不同,不同类型任务参数类的字段包括共用字段和专用字段。参数一般包括:任务类型&am…...

Ambar API 集成指南:RESTful接口的完整使用方法

Ambar API 集成指南:RESTful接口的完整使用方法 【免费下载链接】ambar :mag: Ambar: Document Search Engine 项目地址: https://gitcode.com/gh_mirrors/am/ambar Ambar 作为一款强大的文档搜索引擎,提供了丰富的 RESTful API 接口,…...

Bottleneck完全指南:5个核心概念让你成为速率限制专家

Bottleneck完全指南:5个核心概念让你成为速率限制专家 【免费下载链接】bottleneck Job scheduler and rate limiter, supports Clustering 项目地址: https://gitcode.com/gh_mirrors/bo/bottleneck Bottleneck是一款强大的作业调度器和速率限制器&#xff…...

SmartOnmyoji:阴阳师全自动代肝脚本的终极解决方案

SmartOnmyoji:阴阳师全自动代肝脚本的终极解决方案 【免费下载链接】SmartOnmyoji 阴阳师后台代肝脚本,支持所有类似阴阳师的卡牌游戏(点点点游戏)自动找图-点击…(支持后台运行、支持多开、支持模拟器) …...

Uncertainty Toolbox高级应用:对抗性群体校准与重新校准技术

Uncertainty Toolbox高级应用:对抗性群体校准与重新校准技术 【免费下载链接】uncertainty-toolbox Uncertainty Toolbox: a Python toolbox for predictive uncertainty quantification, calibration, metrics, and visualization 项目地址: https://gitcode.com…...

Fiddler弱网测试全攻略

利用Fiddler进行弱网测试 弱网测试是模拟网络延迟、丢包或带宽限制等不良网络条件的过程,用于评估应用在真实环境中的性能和稳定性。Fiddler是一个强大的网络调试工具,支持通过自定义规则模拟弱网环境。以下是逐步指南,帮助您实现弱网测试&a…...

TypeScript异步迭代器资源释放终极指南:Dispose机制深度解析

TypeScript异步迭代器资源释放终极指南:Dispose机制深度解析 【免费下载链接】TypeScript TypeScript is a superset of JavaScript that compiles to clean JavaScript output. 项目地址: https://gitcode.com/GitHub_Trending/ty/TypeScript TypeScript作为…...

7个技巧彻底搞懂esbuild中switch语句的解析机制

7个技巧彻底搞懂esbuild中switch语句的解析机制 【免费下载链接】esbuild An extremely fast bundler for the web 项目地址: https://gitcode.com/GitHub_Trending/es/esbuild esbuild作为一款超快速的Web打包工具,其高效的JavaScript解析能力是实现极速构建…...

保姆级教程:在Linux服务器上手动编译安装tiny-cuda-nn(含GCC/CUDA版本检查与Gitee镜像加速)

保姆级教程:在Linux服务器上手动编译安装tiny-cuda-nn(含GCC/CUDA版本检查与Gitee镜像加速) 在深度学习领域,tiny-cuda-nn作为NVIDIA官方推出的高性能神经网络库,能够显著加速NeRF等模型的训练过程。然而,在…...

5分钟实战:用VideoDownloadHelper高效下载在线视频的完整指南

5分钟实战:用VideoDownloadHelper高效下载在线视频的完整指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 想要轻松保存网络视…...

Bottleneck实战:从零构建高并发API限流系统

Bottleneck实战:从零构建高并发API限流系统 【免费下载链接】bottleneck Job scheduler and rate limiter, supports Clustering 项目地址: https://gitcode.com/gh_mirrors/bo/bottleneck 在当今高并发的网络环境中,API限流是保障服务稳定性的关…...

vscode-dark-islands的悬停高亮:背景与透明度优化全指南

vscode-dark-islands的悬停高亮:背景与透明度优化全指南 【免费下载链接】vscode-dark-islands VSCode theme based off the easemate IDE and Jetbrains islands theme 项目地址: https://gitcode.com/GitHub_Trending/vs/vscode-dark-islands vscode-dark-…...

5个核心功能深度解析:LSLib如何成为《神界原罪》与《博德之门3》MOD开发的瑞士军刀

5个核心功能深度解析:LSLib如何成为《神界原罪》与《博德之门3》MOD开发的瑞士军刀 【免费下载链接】lslib Tools for manipulating Divinity Original Sin and Baldurs Gate 3 files 项目地址: https://gitcode.com/gh_mirrors/ls/lslib LSLib是一个专门为《…...

革命性Ruby安装工具ruby-install:一键安装5种Ruby实现完全指南

革命性Ruby安装工具ruby-install:一键安装5种Ruby实现完全指南 【免费下载链接】ruby-install Installs Ruby, JRuby, TruffleRuby, or mruby 项目地址: https://gitcode.com/gh_mirrors/ru/ruby-install ruby-install是一款功能强大的命令行工具&#xff0c…...

如何让Windows资源管理器原生支持HEIC缩略图预览

如何让Windows资源管理器原生支持HEIC缩略图预览 【免费下载链接】windows-heic-thumbnails Enable Windows Explorer to display thumbnails for HEIC/HEIF files 项目地址: https://gitcode.com/gh_mirrors/wi/windows-heic-thumbnails 如果你经常在Windows电脑上处理…...

如何使用Newton创建交互式仿真?用户输入与实时控制完整指南

如何使用Newton创建交互式仿真?用户输入与实时控制完整指南 【免费下载链接】newton An open-source, GPU-accelerated physics simulation engine built upon NVIDIA Warp, specifically targeting roboticists and simulation researchers. 项目地址: https://g…...

agent-skills中的异步编程:提高应用并发性能的实用方法

agent-skills中的异步编程:提高应用并发性能的实用方法 【免费下载链接】agent-skills Production-grade engineering skills for AI coding agents. 项目地址: https://gitcode.com/GitHub_Trending/agentskill/agent-skills 在现代应用开发中,异…...

全栈开发的未来消亡论:2026年技术人该如何重新定位?

在2026年的技术浪潮中,“全栈开发者消亡论”正引发行业内的广泛热议。AI工具的爆发式增长、云原生技术的深度普及,正在以前所未有的速度颠覆传统开发模式。对于软件测试从业者而言,这场变革既是前所未有的挑战,也是实现职业跃迁的…...

从containers-from-scratch看Docker底层:容器运行时技术揭秘

从containers-from-scratch看Docker底层:容器运行时技术揭秘 【免费下载链接】containers-from-scratch Writing a container in a few lines of Go code, as seen at DockerCon 2017 and on OReilly Safari 项目地址: https://gitcode.com/gh_mirrors/co/contain…...

AI工程师职业天花板破解:技术深度与业务广度的平衡艺术

在软件测试行业深耕多年,你或许早已习惯在代码的迷宫中寻找漏洞,在功能的边界处验证逻辑。但当AI技术如潮水般席卷整个IT领域,不少测试从业者开始将目光投向AI工程师这一充满机遇的赛道。然而,看似光鲜的职业背后,却暗…...

终极容器镜像管理指南:掌握ImagesCommand的完整操作教程

终极容器镜像管理指南:掌握ImagesCommand的完整操作教程 【免费下载链接】container A tool for creating and running Linux containers using lightweight virtual machines on a Mac. It is written in Swift, and optimized for Apple silicon. 项目地址: ht…...