MQTT实现智能家居------2、写MQTT程序的思路

news/2025/2/24 11:49:37

举个最简单的例子:

手机------服务器-------家具

我们这里只看手机和家具的客户端:

        手机:1)需要连接服务器  2)需要发布指令给服务器到家里的家具  3)接受来自于家里家具的异常状况   4)保持心跳链接(时不时发送一个ping信号)

        家具:1)需要连接服务器 2)需要发布指令给服务器到到手机 3)接受来自手机的异常状况   4)保持心跳链接(时不时发送一个ping信号)

程序框架(以家具为例)

main{

1)先初始化/创建线程(顺便创建了发布线程)

2)发布信息

}

最上层:

APP:while(1)

{

等待信息:用的MQTT/FTP/SSH的代码

处理消息

}

中间层:

具体的协议:MQTT/FTP/SSH

最低层:

提供多线程/定时器/网卡收发 


http://www.niftyadmin.cn/n/5864292.html

相关文章

当“欲望号街车”遇阻:解锁自由的疯狂选择题

朋友们,今天咱来唠唠人生这出大戏里超烧脑的一幕:自由这玩意儿,据说等于能力减去欲望。啥意思呢?打个比方,你能力是10分,欲望却有20分,那自由值就是个负数,你得被折腾得死去活来&…

Java 18~20 新特性

文章目录 一、Java 18 新特性1.1、UTF-8 作为默认字符集(JEP 400)1.2、简易 Web 服务器(JEP 408)1.3、代码片段标签 snippet(JEP 413)1.4、使用方法句柄重新实现反射核心(JEP 416)1.…

银河麒麟系统安装mysql5.7【亲测可行】

一、安装环境 cpu:I5-10代; 主板:华硕; OS:银河麒麟V10(SP1)未激活 架构:Linux 5.10.0-9-generic x86_64 GNU/Linux mysql版本:mysql-5.7.34-linux-glibc2.12-x86_64.ta…

财务运营域——电子影像系统设计

摘要 文章主要介绍了电子影像系统的设计与应用。随着企业规模扩大和业务复杂化,传统纸质文档管理方式暴露出诸多问题,电子影像技术应运而生。它通过数字化扫描、存储和管理纸质文档,实现高效检索、实时共享、安全存储和流程自动化&#xff0…

机器学习数学通关指南——链式法则

前言 本文隶属于专栏《机器学习数学通关指南》,该专栏为笔者原创,引用请注明来源,不足和错误之处请在评论区帮忙指出,谢谢! 本专栏目录结构和参考文献请见《机器学习数学通关指南》 正文 一、定义与公式 链式法则&a…

DeepSeek 助力 Vue 开发:打造丝滑的单选按钮(Radio Button)

前言:哈喽,大家好,今天给大家分享一篇文章!并提供具体代码帮助大家深入理解,彻底掌握!创作不易,如果能帮助到大家或者给大家一些灵感和启发,欢迎收藏关注哦 💕 目录 Deep…

基于Python和Neo4j开发的医疗辅助诊断系统的详细实现步骤和代码示例

以下是一个基于Python和Neo4j开发的医疗辅助诊断系统的详细实现步骤和代码示例。 1. 环境准备 首先,确保你已经安装了必要的库。可以使用以下命令进行安装: pip install py2neo2. Neo4j数据库初始化 在Neo4j中创建一个新的数据库,并启动N…

windows服务器本地部署deepseek并训练

1.安装python3.10 下载地址 Index of python-local/3.10.9 安装64位windows版本 2.下载到LLaMA-Factory github地址: GitHub - hiyouga/LLaMA-Factory: Unified Efficient Fine-Tuning of 100 LLMs & VLMs (ACL 2024) 3. 修改pip镜像源 -- 将pip使用镜像源更…