1. e-works数字化企业网
  2. 新闻
  3. 资讯

利用行空板单板计算机打造智能家居系统

 
2024年04月29日 来源:DF创客社区
关键字:单板计算机  智能家居系统  

设想一下,仅仅是轻点几下,您就能实现灯光控制,同时实时监测室温,行空板单板计算机结合 Nodemcu 的项目能帮您实现这个目标。 

作为智慧中枢,行空板将成为项目的核心,通过高效的MQTT通信协议,连接三个按钮用以控制三个LED灯,搭配Nodemcu实现精准操控。此外,该项目还将整合DHT11传感器,以全方位监测室内温度变化。该项目被设计为初学者友好的家庭自动化门户,通过简单步骤和最少的组件,您将不可思议地发现您所创造的空间魔法将如此轻松融入生活中。让我们一起深入探索,打造一个更加智能的家。 

图片1_副本.png

项目所需硬件材料

一、行空板单板计算机

二、NodeMcu开发板

三、DHT11温湿度传感器

四、三个LED灯

五、一块面包板

六、3V电池

七、跳线

第一步:设置行空板与VScode

必备条件:

在计算机上安装Visual Studio Code。在计算机和行空板上都安装OpenSSH。

步骤:

安装远程SSH扩展:

打开Visual Studio Code,点击左侧边栏的方形图标进入扩展视图(或按Ctrl+Shift+X快捷键)。

搜索“Remote - SSH”扩展并安装。

打开远程 SSH 扩展:

在VScode中按下F1或Ctrl+Shift+P打开命令面板。

输入并选择“Remote-SSH: Connect to Host…”命令。

输入行空板的SSH连接字符串:root@10.1.2.3。

按提示配置文件,并指定操作系统类型为Linux,默认密码为dfrobot。

连接成功后,VScode将打开一个新的窗口,通过SSH方式直接访问Unihiker的文件系统和终端。

开始编程:

现在你可以在Visual Studio Code中像直接在设备上操作一样编辑文件、运行命令并进行行空板项目的开发工作。

第二步:两端使用的库

NodeMcu端:

使用PubSubClient.h库实现MQTT协议功能。

使用DHT.h库处理DHT11传感器数据。

通过库管理器搜索DFRobot提供的DHT传感器库和PubSubClient库并安装。

行空板端(Python):

使用PyQT5库创建图形用户界面(GUI)。

使用paho.mqtt.client库实现MQTT通信。

其他必需库如pinpong库,用于访问GPIO引脚和板载传感器。例如,本例中用到了板载光线传感器采集环境光强并根据预设指令更新文本显示(这部分仅为测试目的,与主要代码无关,但你可以为其分配特殊任务)。

安装Python库:

在终端输入以下命令安装所需的库:

pip install PyQt5

pip install paho-mqtt

第三步:MQTT配置说明

Python端MQTT配置:

设置MQTT服务器地址(MQTT_ADDRESS)为MQTT代理服务器的IP地址或主机名。

提供MQTT用户名和密码,在MQTT_USER和MQTT_PASSWORD变量中分别填入,并确保这些凭据能安全地访问你的MQTT代理服务器。

配置订阅主题和发布主题,确保它们与ESP设备对应的主题匹配。

NodeMcu端MQTT配置:

设置MQTT服务器地址(mqtt_server)为要连接的MQTT代理服务器的IP地址或主机名。

配置发布和订阅的主题(one_topic和two_topic),确保它们与Python端对应的主题一致。

填写MQTT的用户名和密码(mqtt_username和mqtt_password),以及唯一客户端ID(clientID),确保它们与MQTT代理服务器中的设置相符。

第四步:Python代码概览

Python代码结合了MQTT功能和PyQt5,构建了一个智能家居控制界面,包括:

一、建立MQTT连接,使用凭据连接到MQTT代理服务器并订阅特定主题接收消息。

二、利用PyQt5创建带有标签按钮的窗口,用于控制灯光和风扇,并加载不同状态(ON/OFF)的图片。

三、使用LCD小部件显示温度读数。

四、按钮交互:点击按钮时切换状态,并发送对应的MQTT消息以控制连接到ESP8266的设备(如灯泡、风扇)。

五、光照感应:读取环境光照强度,并更新标签显示“白天”或“夜晚”。

六、一体化:将 MQTT 客户端功能与 PyQt5 的事件处理集成,以实现 MQTT 消息和图形界面之间的无缝交互。

第五步:NodeMcu代码概览

NodeMcu基于ESP8266的代码配置使其能通过MQTT代理服务器控制智能家居设备,关键部分包括:

一、Wi-Fi设置:使用指定SSID和密码连接NodeMcu至Wi-Fi网络。

二、MQTT配置:设置MQTT服务器详情、发布和订阅的主题以及MQTT凭据。

三、传感器和输出处理:集成DHT11温湿度传感器获取读数,并定义GPIO引脚以控制输出(如灯光和风扇)。

四、建立与MQTT代理服务器的连接并订阅特定主题接收消息;周期性发布温度读数到指定主题;响应收到的MQTT消息,根据接收到的具体命令控制输出设备(如灯光和风扇)。

第六步:硬件连接

DHT11传感器接线:

将DHT11传感器的VCC引脚连接到NodeMcu的5V引脚,GND引脚连接GND,DATA引脚连接数字引脚D2。

输出设备(本例为LED灯):

定义输出引脚,例如int Out1 = D4; int Out2 = D5; int Out3 = D1;。 将LED灯正极(阳极)连接到上述输出引脚(D4、D5、D1),负极(阴极)或风扇连接到NodeMcu的GND引脚。 如果使用3V电池,则将其正极连接到Vin或5V线,负极连接到GND端子。

第七步:运行项目

从GitHub链接下载所有所需文件。

编程NodeMcu:打开Arduino代码文件,更改凭证信息,然后上传代码。

对于Unihiker端,将文件复制到根目录,可以通过访问Unihiker本地网页(http://10.1.2.3/pc/file-upload)完成这一操作。

打开Python主文件,修改凭证信息。

修改完成后,可以直接在VScode终端内或通过Unihiker GUI运行Python代码,启动项目。

关于《利用行空板单板计算机打造智能家居系统》活动的详情,您可以访问“DF创客社区”了解更多。  

责任编辑:王力
您可以:
排行榜
  1. 联想工程师登上中国冰雪之夜舞台,讲述冬奥“0故障”背后的故事
  2. 让IT运维实现轻交付 联想ServiceForce突破行业难题
  3. 奥哲孟凡俊:融合AI的低代码成为企业数智化核心引擎
  4. 以生态融合注入创新力,OpenUSD奠定企业数字化转型新里程碑
  5. 《中国制造业走向2025》白皮书
  6. 聚焦数字化变革,联想用“新IT”赋能企业数字化转型升级
  7. e-works网站VIP社区E币规则
  8. 西部数据进一步扩展旗下智慧视频解决方案
  9. 什么是数字化?有哪些成功案例?
  10. 角逐智能制造赛道,联想如何以新IT引擎突围
编辑推荐
• PTC:管理嵌入式软件的开发
• Allegro与英诺赛科联合推出全GaN参考设计, 赋...
• 施耐德电气新一代Galaxy PX UPS亮相CDCC
• 联想中国交出第二财季成绩单:个人AI业务持续...
• Fortinet 发布《2026年度CISO预测报告》
• PTC深化与Garrett Motion的合作关系,加速新产...
• Fortinet 发布安全人工智能数据中心解决方案
• 对话Gian Paolo:SOLIDWORKS 2026创新密码与AI...
• 智算时代,企业需要怎样的AI基础设施?
• 艾默生公布 2025 财年第四季度和全年业绩,并...
• 和利时智能仪表与XMagital®智能系统解决方案交...
• 2025年第十六届德国工业4.0考察正式启航
文章推荐
• 融资热 VS 倒闭潮:人形机器人产业发展“冷思...
• 优必选 VS Figure AI:一场“造假”风波,揭开...
• “超级生产团队”上线:懂生产,更懂怎么干
• 别把生命当“公测”:造车新生代狂飙下的安全...
• PTC:高科技企业数字化转型的4个案例
• 国际芯片大厂的战略新锚点:机器人与物理AI
• 钣金加工企业数字化管理系统的研究与应用
• 疲劳仿真:产品寿命的“预言家”
• 会叠衣服的中美机器人,谁离具身智能更近?
• 什么是线束设计?
• 大型PLC市场萎缩,但头部企业仍在死磕国产化?
• 众为兴重磅发布智能协作机器人

系列微信

数字化企业网
PLM之神
e-works制信科技
MES百科
工业自动化洞察
智能制造IM
AI智造圈
智能工厂前线
工业机器人洞察
智造人才圈
工业软件应用
智能制造网博会
ERP之家
供应链指南针
© 2002-2025  武汉制信科技有限公司  版权所有  ICP经营许可证:鄂B2-20030029-1(于2003年首获许可证:鄂B2-20030029)
鄂公网安备:420100003343号 法律声明及隐私权政策     投诉举报电话:027-87592219

关于我们    |    联系我们    |    隐私条款

ICP经营许可证:鄂B2-20080078
(于2003年首获许可证:鄂B2-20030029)
鄂公网安备:420100003343号
© 2002-2025  武汉制信科技有限公司  版权所有
投诉举报电话:027-87592219

扫码查看