物联网系统搭建
| 实验项目名称 | 构建物联网系统 |
| 实验目的 | 掌握物联网系统的一般构建方法。 |
| 实验要求: 1.构建物联网系统,实现前后端的交互。 | |
| 实验内容:
实现智能设备与应用客户端的交互(智能设备发送数据在应用客户端上显示,应用客户端发送数据在智能设备上显示) 二、步骤 单击开始菜单,输入cmd,选择以管理员身份运行。(可以说一下powershell的区别)
接下来按如下操作步骤来创建连接 (1)名称随便输入,我这里输入的是test (2)Client ID默认即可 (3)服务器地址为刚才创建的MQTT本地服务器,因为客户端在同一台电脑上,所以地址为127.0.0.1,当然你使用你的局域网的IP地址也是可以的,你可以使用ipconfig来查看. (4)端口号默认1883 (5)然后单击右上角的连接按钮 (6)我这里创建了两个来模拟发表方和订阅方,这里的ip地址是不一样的,一个表示本地回环地址,一个就是IP地址,如果使用云服务器这里就填写IP地址只是我这里的在自己的电脑上模拟的云服务器所以就可以使用本地回环地址. (7)sub这里我是订阅方,订阅的主题A当pub发布方发布A主题时,就会接收到该信息.
(1)在cmd下执行以下命令:npm install -g --unsafe-perm node-red使用该种方式安装的为系统默认的版本。
#示例 npm install -g node-red@2.2.2
这个是简易版,但是我们的目标不是这个而是系统的搭建,要看这个地址,就要在傍边的dashboard里面的Layout的最右边的分享按钮点击它就行了
| |
| 调试与结果测试: 以下是当我当我按下灯打开时,发送给模拟智能设备的主题信息,和模拟前端需要发送给后端APP的数据. ![]() | |
| 心得体会: 主要写在实验过程中遇到什么问题及如何解决问题等 1,UsPahoMqttClient1 中的 Broker 指的是你服务器的 IP 地址,在字面上它被翻译为“代理”,就像移动运营商作为一个中介服务商那样。起初,我使用的是 MQTT 官网提供的公共服务器,但它有用户数量的限制,而且可用的机会很少。我那时使用的是 broker.emqx.io,这是一个域名,其中 emqx.io 是顶级域名(或者根据 .io 的层级划分,它可能是二级域名),而 broker 是这个顶级域名下的一个子域名。 但是,我自己部署了一台服务器,没有为它注册域名。不过,域名和 IP 地址是通过 DNS(域名系统)进行映射对应的。因此,我尝试直接使用了服务器的 IP 地址,结果成功了。 除了可以在指定的位置填写和修改 Broker 地址外,你还可以点击“拓展”按钮,在侧面的属性栏中也能进行修改。不过需要注意的是,这两个地方的修改容易产生冲突,因此在操作时需要格外小心。 在这一步中,我使用了MQTT客户端工具EMQ来快速测试MQTT服务。通过这一工具,我能够模拟智能设备,向MQTT服务器发送数据,并接收来自服务器的消息。这一过程让我对MQTT的基本通信原理有了更直观的理解。同时,我也通过观看相关的视频教程,如“07-MQTTX客户端工具的使用”,进一步加深了对MQTT客户端使用的掌握。 步骤二:安装MQTT服务器EMQX(模拟云服务器) 接下来,我安装了MQTT服务器EMQX,以模拟云服务器的角色。EMQX是一款开源的、高性能的物联网消息中间件,它支持MQTT协议,能够处理大量的并发连接和消息传输。通过安装和配置EMQX,我成功搭建了一个MQTT服务器环境,为后续的智能设备与应用客户端之间的数据交互提供了基础。在安装过程中,我参考了EMQX的官方文档和视频教程,如“05-MQTT入门案例-EMQX环境搭建”,这些资源对我顺利完成安装和配置起到了很大的帮助。 步骤三:开发应用客户端(App Inventor + MQTT插件) 最后一步是开发应用客户端。我选择了Google App Inventor这一完全在线开发的Android编程环境,它使用积木式的堆叠法来完成Android程序,大大降低了编程的门槛。在开发过程中,我使用了App Inventor的MQTT插件来实现与MQTT服务器的通信。通过这一插件,我能够轻松地将应用客户端与MQTT服务器连接起来,实现数据的发送和接收。同时,我也观看了相关的视频教程和课程讲义,如“App Inventor-零基础Android移动应用开发”和“试用新发现的APPinventor的MQTT插件记录”,这些资源对我理解和掌握App Inventor及MQTT插件的使用起到了很大的帮助。 | |
相关文章:
物联网系统搭建
实验项目名称 构建物联网系统 实验目的 掌握物联网系统的一般构建方法。 实验要求: 1.构建物联网系统,实现前后端的交互。 实验内容: CS模式MQTT(不带数据分析处理功能) 实现智能设备与应用客户端的交…...
微前端框架 Qiankun 的应用及问题分析
一、Qiankun 的核心应用场景与优势 多技术栈共存与灵活集成 Qiankun 支持主应用与子应用使用不同技术栈(如 Vue、React、Angular 等),通过 HTML Entry 方式接入子应用,无需深度改造子应用即可实现集成,降低了技术迁移成…...
设计模式-结构型模式-适配器模式
概述 适配器模式 : Adapter Pattern 是一种结构型设计模式. 作用 : 使得原本由于接口不兼容而不能一起工作的那些类可以一起工作。 实现思路 : 适配器模式通过将一个类的接口转换成客户希望的另外一个接口来实现这一点。 这里的“接口”指的是类所提供的…...
6. 机器人实现远程遥控(具身智能机器人套件)
1. 启动控制脚本 远程作到 Raspberry Pi 中,并运行以下脚本: conda activate lerobotpython lerobot/scripts/control_robot.py \--robot.typelekiwi \--control.typeremote_robot登录笔记本电脑上,同时运行以下脚本: conda ac…...
多模态知识图谱融合
1.Knowledge Graphs Meet Multi-Modal Learning: A Comprehensive Survey 1.1多模态实体对齐 1.2多模态实体链接 研究进展&#...
windows 平台如何点击网页上的url ,会打开远程桌面连接服务器
你可以使用自定义协议方案(Protocol Scheme)实现网页上点击URL后自动启动远程桌面连接(mstsc),参考你提供的C代码思路,如下实现: 第一步:注册自定义协议 使用类似openmstsc://协议…...
基于Spark的热门动漫推荐数据分析与可视化系统的设计与实现(采用Python语言Django框架,Hadoop,spider爬虫等技术实现)
基于Hadoop的热门动漫推荐数据分析与可视化系统 基于Django的热门动漫推荐数据分析与可视化系统 1. 开发工具和实现技术 Pycharm, Python3.7,Django框架,Hadoop,Spark,Hive,spider爬虫(爬取动漫之家的动…...
8. 机器人模型训练与评估(具身智能机器人套件)
1. 训练 使用python lerobot/scripts/train.py可以进行机器人控制模型训练,一般需要几个小时,可以在outputs/train/act_lekiwi_test/checkpoints查看锚点数据,下面为一组示例参数: python lerobot/scripts/train.py \--dataset.…...
计算机网络-服务器模型
一.服务器模型 1.支持多客户端访问 //单循环服务器 socket bind listen while(1) { accept while(1) { recv/send } } close 注:该模式remvform为阻塞态,服务器将等待接收数据 2..支持多客户端同时访问 (并发能力) socket…...
DeepSeek大模型 —— 全维度技术解析
DeepSeek大模型 —— 全维度技术解析 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,可以分享一下给大家。点击跳转到网站。 https://www.captainbed.cn/ccc 文章目录 DeepSeek大模型 —— 全维度技术解析一、模型架构全景解析1…...
OSPF网络类型:NBMA与P2MP
一、NBMA网络 NBMA网络的特点 连接方式: 支持多台设备连接到同一个网络段,但网络本身不支持广播或组播。典型例子:帧中继、ATM。 DR/BDR选举: 由于网络不支持广播,OSPF需要手动配置邻居。 仍然会选举DR(…...
大数定律详解
前言 本文隶属于专栏《机器学习数学通关指南》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 🌟 一、大数定律的…...
2025生物科技革命:AI驱动的基因编辑与合成生物学新纪元
一、基因编辑技术的精准化突破 第三代基因编辑工具CRISPR-Cas12f的研发成功,将编辑精度提升至0.1碱基对级别。中国科学院团队利用该技术在灵长类动物模型中修复遗传性视网膜病变基因,治愈率达到92%。对比传统CRISPR-Cas9技术,新型编辑器脱靶…...
百度SEO关键词布局从堆砌到场景化的转型指南
百度SEO关键词布局:从“堆砌”到“场景化”的转型指南 引言 在搜索引擎优化(SEO)领域,关键词布局一直是核心策略之一。然而,随着搜索引擎算法的不断升级和用户需求的多样化,传统的“关键词堆砌”策略已经…...
macOS常用网络管理配置命令
目录 **1. ifconfig:查看和配置网络接口****2. networksetup:管理系统网络配置****3. ping:测试网络连通性****4. traceroute:跟踪数据包路径****5. nslookup/dig:DNS 查询****6. netstat:查看网络连接和统…...
Selenium 中 ActionChains 支持的鼠标和键盘操作设置及最佳实践
Selenium 中 ActionChains 支持的鼠标和键盘操作设置及最佳实践 一、引言 在使用 Selenium 进行自动化测试时,ActionChains 类提供了强大的功能,用于模拟鼠标和键盘的各种操作。通过 ActionChains,可以实现复杂的用户交互,如鼠标…...
【五.LangChain技术与应用】【31.LangChain ReAct Agent:反应式智能代理的实现】
一、ReAct Agent是啥?为什么说它比「普通AI」聪明? 想象一下,你让ChatGPT查快递物流,它可能直接编个假单号糊弄你。但换成ReAct Agent,它会先推理(Reasoning)需要调用哪个接口,再行动(Action)查询真实数据——这就是ReAct的核心:让AI学会「动脑子」再动手。 举个真…...
【HarmonyOS Next之旅】基于ArkTS开发(三) -> 兼容JS的类Web开发(七) -> JS动画(二)
目录 1 -> 动画动效 1.1 -> 创建动画对象 1.2 -> 添加动画事件和调用接口 2 -> 动画帧 2.1 -> 请求动画帧 2.2 -> 取消动画帧 1 -> 动画动效 通过设置插值器来实现动画效果。 说明 从API Version 6 开始支持。 1.1 -> 创建动画对象 通过cre…...
SpaCy处理NLP的详细工作原理及工作原理框图
spaCy处理NLP的详细工作原理及工作原理框图 spaCy处理NLP的详细工作原理 spaCy是一个基于Python的开源自然语言处理(NLP)库,它提供了一系列高效且易用的工具,用于执行各种NLP任务,如文本预处理、文本解析、命名实体识…...
Mysql中的常用函数
1、datediff(date1,date2) date1减去date2,返回两个日期之间的天数。 SELECT DATEDIFF(2008-11-30,2008-11-29) AS DiffDate -- 返回1 SELECT DATEDIFF(2008-11-29,2008-11-30) AS DiffDate -- 返回-1 2、char_length(s) 返回字符串 s 的字符数 3、round(x,d)…...
业务系统对接大模型的基础方案:架构设计与关键步骤
业务系统对接大模型:架构设计与关键步骤 在当今数字化转型的浪潮中,大语言模型(LLM)已成为企业提升业务效率和创新能力的关键技术之一。将大模型集成到业务系统中,不仅可以优化用户体验,还能为业务决策提供…...
树莓派超全系列教程文档--(62)使用rpicam-app通过网络流式传输视频
使用rpicam-app通过网络流式传输视频 使用 rpicam-app 通过网络流式传输视频UDPTCPRTSPlibavGStreamerRTPlibcamerasrc GStreamer 元素 文章来源: http://raspberry.dns8844.cn/documentation 原文网址 使用 rpicam-app 通过网络流式传输视频 本节介绍来自 rpica…...
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以?
Golang 面试经典题:map 的 key 可以是什么类型?哪些不可以? 在 Golang 的面试中,map 类型的使用是一个常见的考点,其中对 key 类型的合法性 是一道常被提及的基础却很容易被忽视的问题。本文将带你深入理解 Golang 中…...
微信小程序 - 手机震动
一、界面 <button type"primary" bindtap"shortVibrate">短震动</button> <button type"primary" bindtap"longVibrate">长震动</button> 二、js逻辑代码 注:文档 https://developers.weixin.qq…...
土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等
🔍 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术,可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势,还能有效评价重大生态工程…...
ios苹果系统,js 滑动屏幕、锚定无效
现象:window.addEventListener监听touch无效,划不动屏幕,但是代码逻辑都有执行到。 scrollIntoView也无效。 原因:这是因为 iOS 的触摸事件处理机制和 touch-action: none 的设置有关。ios有太多得交互动作,从而会影响…...
USB Over IP专用硬件的5个特点
USB over IP技术通过将USB协议数据封装在标准TCP/IP网络数据包中,从根本上改变了USB连接。这允许客户端通过局域网或广域网远程访问和控制物理连接到服务器的USB设备(如专用硬件设备),从而消除了直接物理连接的需要。USB over IP的…...
听写流程自动化实践,轻量级教育辅助
随着智能教育工具的发展,越来越多的传统学习方式正在被数字化、自动化所优化。听写作为语文、英语等学科中重要的基础训练形式,也迎来了更高效的解决方案。 这是一款轻量但功能强大的听写辅助工具。它是基于本地词库与可选在线语音引擎构建,…...
Unsafe Fileupload篇补充-木马的详细教程与木马分享(中国蚁剑方式)
在之前的皮卡丘靶场第九期Unsafe Fileupload篇中我们学习了木马的原理并且学了一个简单的木马文件 本期内容是为了更好的为大家解释木马(服务器方面的)的原理,连接,以及各种木马及连接工具的分享 文件木马:https://w…...
Reasoning over Uncertain Text by Generative Large Language Models
https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829https://ojs.aaai.org/index.php/AAAI/article/view/34674/36829 1. 概述 文本中的不确定性在许多语境中传达,从日常对话到特定领域的文档(例如医学文档)(Heritage 2013;Landmark、Gulbrandsen 和 Svenevei…...














