注册 登录
电子工程世界-论坛 返回首页 EEWORLD首页 频道 EE大学堂 下载中心 Datasheet 专题
damiaa的个人空间 https://home.eeworld.com.cn/space-uid-59433.html [收藏] [复制] [分享] [RSS]
日志

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

已有 2856 次阅读2024-4-12 10:16 |个人分类:瑞芯微

                    【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. 编写程序
    程序实现温度采集和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也是可以做客户端的,这里没有详述。

本文来自论坛,点击查看完整帖子内容。

评论 (0 个评论)

facelist doodle 涂鸦板

您需要登录后才可以评论 登录 | 注册

热门文章