Linux嵌入式项目-智能家居

一、资料下载

Linux嵌入式项目-智能家居_第1张图片

 二、框架知识

Linux嵌入式项目-智能家居_第2张图片

 三、MQTT通信协议

1、上位机APP主要工作 

      1.wait for msg  / while(1)订阅等待消息

       2.处理消息

Linux嵌入式项目-智能家居_第3张图片

客户端创建了两个线程,一个线程用于发布消息,一个线程用于监听订阅消息

(那我的仿真系统也可以啊,一个发送处理数据线程。一个监听订阅线程)

2、中间传输   

      使用的通信传输协议  MQTT/FTP/SSH 

3、开发板硬件平台

      主要提供:多线程/Timer/网卡收发信息

四、单片机和linux联网的区别

Linux嵌入式项目-智能家居_第4张图片

五、订阅和发布

5.1订阅

 //订阅消息

    mqtt_subscribe(client, "topic1", QOS0, topic1_handler);

    mqtt_subscribe(client, "topic2", QOS1, NULL);

    mqtt_subscribe(client, "topic3", QOS2, NULL);

   订阅会根据不同的消息主题去订阅,会有一个while(1)死循环,订阅到消息后然后找到消息的主题,然后执行相应的函数topic1_handler,这个应该叫响应函数吧,实现了一个信号与曹的机制,"topic1"是信号,topic1_handler槽函数。

  mqtt_subscribe主要创建结构体handler去记录主题,记录处理函数和服务质量,handler放入链表中

建立连接后,会创建订阅死循环线程,主要功能有:读数据,处理数据、保持活性、检查错误

5.1 发布

 //创建一个发布线程

    res = pthread_create(&thread1, NULL, mqtt_publish_thread, client);

    if(res != 0) {

        MQTT_LOG_E("create mqtt publish thread fail");

        exit(res);

    }

你可能感兴趣的:(智能家居)