当前位置:   article > 正文

Linux嵌入式项目-智能家居_嵌入式linux项目

嵌入式linux项目

一、资料下载

 二、框架知识

 三、MQTT通信协议

1、上位机APP主要工作 

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

       2.处理消息

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

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

2、中间传输   

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

3、开发板硬件平台

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

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

五、订阅和发布

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);

    }

六、Ubuntu编译MQTT

1、编译生成可执行文件

./build.sh

2.运行可执行文件

andzhang@wandzhang-virtual-machine:/home/book/mqtt_project/mqtr01/mqttclient$ ./build/bin/emqx                       //命令

welcome to mqttclient test...
[32m[I] >> /home/book/mqtt_project/mqtr01/mqttclient/mqttclient/mqttclient.c:989 mqtt_connect_with_results()... mqtt connect success...
[32m[I] >> /home/book/mqtt_project/mqtr01/mqttclient/mqttclient/

七、使用自己的电脑做服务器

C:\Users\zhang>cd "c:\Program Files\mosquitto"
系统找不到指定的路径。

C:\Users\zhang>cd "c:\Program Files\mosquitto"

c:\Program Files\mosquitto>.\mosquitto.exe -c mosquitto.conf -v
1689780021: mosquitto version 2.0.14 starting
1689780021: Config loaded from mosquitto.conf.
1689780021: Starting in local only mode. Connections will only be possible from clients running on this machine.
1689780021: Create a configuration file which defines a listener to allow remote access.
1689780021: For more details see https://mosquitto.org/documentation/authentication-methods/
1689780021: Opening ipv4 listen socket on port 1883.
1689780021: Opening ipv6 listen socket on port 1883.
1689780021: mosquitto version 2.0.14 running

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/AllinToyou/article/detail/639185
推荐阅读
相关标签
  

闽ICP备14008679号