一、资料下载
二、框架知识
三、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"文章来源:https://www.toymoban.com/news/detail-563824.html
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文章来源地址https://www.toymoban.com/news/detail-563824.html
到了这里,关于Linux嵌入式项目-智能家居的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!