太长不看跳转: 点击
相关linux命令介绍
该方式只能作为测试两点之间通信可达性的工具,该过程缺少流媒体传输缓冲等提高用户体验度的模块。所用到的工具模块也十分简单。
linux命令nc
nc指令全称netcat,该指令历史悠久,被称为网络工具箱里的瑞士军刀。在树莓派上可以直接使用包管理工具对其进行安装:
apt-get install nc
# 或者
apt-get install netcat
该命令可以快速建立起两个可连通节点之间的tcp或者udp连接。举例如下:
左边为监听端,监听在2000端口上的消息,并输出至屏幕。右方为发送方,该部分将标准输入发送到目的端口ip的对应端口上
nc指令还可以使用-z参数实现目的端口可用性扫描,具体内容可以使用-h参数查看。
linux音频命令arecord,aplay
这两个命令是linux系统下的基础音频操作函数,可以对alsa架构下的声卡信息进行查询,并且可以实现路由,播放等功能。
在设备安装好后,使用该命令查询后可以看到输出如下:
card x:
subdevice #x:
这之中的两个数字x会决定被命令调用时的相关设备参数。
这两个命令也可以使用ffmpeg的相关指令代替
管道
管道是linux下进程间通信的常用方式,在shell中可以用 | 方便的使用,常见的使用方式如下图所示:
可以搭配grep命令实现对输出信息的筛选
相关硬件准备
这个过程需要准备两块树莓派以及麦克风,扬声器。
麦克风阵列如下
该麦克风阵列配备了音频输出接口,可以直接连接扬声器进行音频输出。同时该麦克风使用前需要查询该项目的github官网进行
树莓派选用3B,型号如下。
扬声器选用淘宝上20块钱的麦克风。
实现过程
arecord -D plughw:1,0 -t wav -f cd -r 8000 | nc 192.168.1.127 11451
接收方
nc -lp 11451| aplay
该过程只能作为网络条件良好时简单的测试脚本。