1467|0

6107

帖子

4

TA的资源

版主

楼主
 

【Luckfox幸狐 RV1106 Linux 开发板测评】09 mqtt broker和客户端连接测试 [复制链接]

 
本帖最后由 damiaa 于 2024-4-12 10:19 编辑
                    【Luckfox幸狐 RV1106 Linux 开发板测评】09 mqtt broker和客户端连接测试
 
 
RV1106及RV1103采用Cortex-A7 CPU 及高性能MCU,内置瑞芯微自研第4代NPU,运算精度高,支持int4、in8、int16混合量化,其中int8算力为0.5TOPs,int4算力可达1.0TOPs
RV1106及RV1103可支持2-3路MIPI/DVP输入,是经济型双目视觉产品优选方案。
在音频处理方面,瑞芯微RV1106及RV1103采用智能音频方案,支持回声消除、语音降噪、哭声检测、异常声音检测等,支持高清语音,增强声音采集及远距离拾音。
RV1106以及RV1103内置Audio codec、MAC PHY、RTC等,提供内置DDR3L(内存最大为256MB)的QFN封装以及无内置DDR的BGA封装。
 

一、在buildroot里面加入mosquitto和paho-mqtt-c 选项,并对buildroot


cd sysdrv/source/buildroot/buildroot-2023.02.6/
make luckfox_pico_defconfig
 make menuconfig


选择mosquitto和paho-mqtt-c


make savedefconfig
 然后在该目录
 make

编译
cd ../../../../
luckfox-pico$ ./build.sh lunch
luckfox-pico$ ./build.sh


重新烧录固件

 

二、测试 mosquitto
用adb打开两个窗口一个订阅,一个发布
mosquitto_sub -h localhost -t "test/#" -u hanmeimei -P root -i "client1"
mosquitto_pub -h localhost -t "test/abc" -u book -P root -i "client2" -m "good,successfull"


用mqtt.fx1.7测试

 

如果rv1106做broker pc连接不上 但板子自己里面可以用使用localhost发送和订阅,用ip(如192.168.30.110)不行 。
如果pc做broker rv1106能发送和订阅 。


 

解决方法:修改msquitto.conf,因为最新的msquitto是直接默认使用内部的连接 外部连接不了。
要外部连接必须直接设置:
allow_anonymous设置 为true


设置 listener 为 实际端口 比如1883

 

三、paha-mqtt轻量级客户端程序

1.编写程序(程序同本人RV1126帖子代码,有喜欢的可以去看一下)
程序实现温度采集和adc采样送报送mqtt
订阅消息控制led的活动 代码如下

2.建立一个cmake

       修改CMakelist.txt如下
z@z-virtual-machine:~/rv-xxxx/rv1106-spinand/c/mqtt_prj$ cat CMakeLists.txt
#*******************************************************************************
# Copyright © ALIENTEK Co., Ltd. 1998-2021. All rights reserved.
#
# 顶层CMakeLists.txt
# All rights reserved. This program and the accompanying materials
# are made available under the terms of the Eclipse Public License v2.0
# and Eclipse Distribution License v1.0 which accompany this distribution.
#*******************************************************************************/
cmake_minimum_required(VERSION 2.8.12)
project(MQTTClient C)
message(STATUS "CMake version: " ${CMAKE_VERSION})
message(STATUS "CMake system name: " ${CMAKE_SYSTEM_NAME})
message(STATUS "CMake system processor: " ${CMAKE_SYSTEM_PROCESSOR})
# 设置可执行文件输出路径
set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/bin)
# 定义可执行文件目标
add_executable(mqttClient mqttClient.c)
# 指定MQTT客户端库头文件路径、库路径以及链接库
# ***大家需要根据MQTT的实际安装路径设置***
target_include_directories(mqttClient PRIVATE /home/z/rv-xxxx/rv1106-spinand//luckfox-pico/sysdrv/source/buildroot/buildroot-2023.02.6/output/host/arm-buildroot-linux-uclibcgnueabihf/sysroot/usr/include/)#MQTT头文件搜索路径
target_link_directories(mqttClient PRIVATE /home/z/rv-xxxx/rv1106-spinand/luckfox-pico/sysdrv/out/rootfs_uclibc_rv1106/usr/lib/) #MQTT库文件搜索路径
target_link_libraries(mqttClient PRIVATE paho-mqtt3c) #MQTT链接库 libpaho-mqtt3c.so
3,cmake和 make
4,编译传到板子,mqtt.fx1.7.1测试:电脑可以接收到板子发来得mqtt消息
5.node-red连接rv1106
总结:mosquitto broker和paho-mqtt轻量级客户端的使用必须buildroot配置,并且重新编译和更新内核。mosquitto使用要设置mosquitto.conf 相关参数。paho-mqtt的使用要编写使用paho-mqtt的库和api编写c程序,交叉编译后上传到板子。如果是只做客户端就可以只用paho-mqtt。如果是只是做broker也就只需要mosquitto,当然mosquitto也是可以做客户端的,这里没有详述。
点赞(2) 关注(1)
 
 

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表