mac电脑进行可见光通信实验要点
lifi作为一个入门门槛低、涉及范围广的实验,在理工高校中还是比较流行的。
通常实验分成3个部分,字符数据传输实验、音频传输实验、视频传输实验。在官方的实验指南中指定使用win7x64或者win xp来进行。老话题,这里说在mac怎么进行实验。
音频传输、视频传输实际跟电脑没关系,只要保证usb供电即可,找两个手机的usb充电器就足够了。
第一部分的实验则是使用了usb转串口卡,这个重点是安装mac版本的电脑驱动,比如我手头拿到的是CH341串口卡,可以在这里下载驱动。
- 首先安装驱动程序,安装完成后会要求重启动mac。
- 查看当前已有的终端设备
2a.安装完成后,先不要插收发板。进入终端使用命令行操作。
2b.因为在linux/unix类的操作系统中,一切均为文件,一切设备也都是文件,所以可以在/dev/文件夹中查看当前的串口设备,比如:
andrew@macBookPro ~> ls /dev/tty*
/dev/tty /dev/ttyrb /dev/ttyu2
/dev/tty.Bluetooth-Incoming-Port /dev/ttyrc /dev/ttyu3
/dev/tty.MALS /dev/ttyrd /dev/ttyu4
/dev/tty.SOC /dev/ttyre /dev/ttyu5
/dev/ttyp0 /dev/ttyrf /dev/ttyu6
/dev/ttyp1 /dev/ttys0 /dev/ttyu7
/dev/ttyp2 /dev/ttys000 /dev/ttyu8
/dev/ttyp3 /dev/ttys001 /dev/ttyu9
/dev/ttyp4 /dev/ttys002 /dev/ttyua
/dev/ttyp5 /dev/ttys003 /dev/ttyub
/dev/ttyp6 /dev/ttys004 /dev/ttyuc
/dev/ttyp7 /dev/ttys005 /dev/ttyud
/dev/ttyp8 /dev/ttys006 /dev/ttyue
/dev/ttyp9 /dev/ttys007 /dev/ttyuf
/dev/ttypa /dev/ttys1 /dev/ttyv0
2c.注意使用的命令是ls /dev/tty*
,表示列出/dev文件夹下所有tty开头的文件。tty实际是老辈子习惯上终端的缩写,因为老辈子的终端都是串口终端。
2d.这里列出所有设备的意思,是记清楚在没有新的串口设备之前,都有哪些设备,虽然名字比较乱,但都有规律,好记。
2e.这时候插上发送板或者接收板,先插1个,然后再次使用ls /dev/tty*
来查看,通常会多了一个设备,名字类似/dev/tty.wchusbserial*
,这个就是新插入的串口设备的设备名,类似windows中的“com9:”这样的名字。不同的操作系统,规则不同而已,意思一样。确定串口名称后,再插上另外一块板子,同样查看新增加的设备名称。
2f.命令行工具system_profiler SPUSBDataType
可以列出所有连接在电脑上的usb设备,这个命令对于一些设备连接方面的问题也有帮助。
3. 正常实验需要在两个usb口一个插入发送板,一个插入接收板,随后系统应当增加了两个tty串口设备。按照上面2e步骤的操作记下来这两个名字。
4. 需要打开两个终端窗口,一个模拟发送端,另外一个模拟接收端。
5. 命令行使用:screen /dev/tty.xxxxxx 9600
命令来建立一个虚拟终端屏幕。两个终端窗口使用同样的命令,但设备名分别是接收板和发送板,不相同。screen是内置命令,用于模拟终端,随后是发送板、接收板的串口名称,9600是说明书上收发板使用的波特率。
6. 这时候在发送板的模拟终端上,可以用键盘敲入字符,正常情况下,在接收板的终端上,会看到另外一边敲的字符。这表示完成了正常的发送和接收。通常的终端,两端都可以发送和接受,但lifi实验板限制发送板只能发送,接收板只能接收。
7. screen软件的退出使用control-a
键接着连续按control-\
键,屏幕会提示是否确认退出,再敲y退出。
mac电脑进行可见光通信实验要点的更多相关文章
- Mac电脑C语言开发的入门帖
本文是写给Mac电脑开发新手的入门帖,诸神请退散. C语言 C语言可说是电脑环境中的"镇国神器",从发明至今,虽然C语言的使用者缓慢的减少,但从当前市场应用情况看,尚无一台电脑能够 ...
- 苹果笔记本适合什么人 中国Mac电脑用户的8个事实
报告由腾讯 ISUX 研究中心收集了全国 7946 名 Mac 电脑用户的问卷整理而成.并且,参考了苹果公司的历年财报,以及百度.StatCounter 等第三方市场统计数据. 你是 iPhone 用 ...
- 【工具使用】mac电脑使用技巧
本文地址 分享提纲: 1. mac命令行和finder的交互 2. 一些mac的插件 3. 一些开发的配置 1.mac命令行和findder交互 1)命令行中打开当前文件夹: o ...
- Mac电脑如何读取Android手机上的文件
问题 一般Android手机用usb数据线连接到windows操作系统的电脑上后,会自动将手机存储卡以移动存储的方式显示在电脑里. 但是如果操作系统是Mac的,就没有这个存储设备.问题来了,Mac电脑 ...
- mac电脑http代理服务设置公司内网的相关配置
哈喽,亲爱的小伙伴们 ,今天给大家分享一下公司内网配置 http代理服务设置及外网访问 ,<这是mac电脑的噢> ===链接地址我的github项目 https://github.c ...
- 在Mac电脑上为iPhone或iPad录屏的方法
在以前的Mac和iOS版本下,录制iPhone或者iPad屏幕操作是一件稍微复杂的事情.但是随着Yosemite的出现,在Mac电脑上为iPhone或iPad录屏的方法就变得简单了.下面就介绍一下具体 ...
- mac电脑的使用
1. control + command + a 截图 2. shift + command + g 前往 3.在 Mac OS X 中怎样获取当前文件夹的路径 原文网址:https://www.zh ...
- Mac电脑清理硬盘"其他"
作为一个MacBook的使用者,无不感受到苹果对于系统和硬件的完美匹配. 苹果电脑不适合玩游戏,所以我只用它开发iOS使用.电脑里除了Xcode和常用办公软件与通讯软件以外,我没有装其他的任何大应用. ...
- 怎么查看Mac电脑的开机记录?
可以使用last命令查看Mac电脑来看开机记录,同时也能查看关机记录. 首先打开mac的命令终端: 命令行终端敲入命令:last | grep reboot (查看开机时间记录) 命令行终端敲入命令: ...
随机推荐
- PTA_输入符号及符号个数打印沙漏(C++)
思路:想将所有沙漏所需符号数遍历一遍,然后根据输入的数判断需要输出多少多少层的沙漏,然后分两部分输出沙漏. #include<iostream> #include<cstring ...
- setOnTouchListener在小米手机中不走ACTION_UP而是走ACTION_CANCEL
单点触控: MotionEvent.ACTION_DOWN:手指 初次接触到屏幕 时触发. MotionEvent.ACTION_MOVE:手指 在屏幕上滑动 时触发,会多次触发. MotionEve ...
- Linux中目录以及路径问题
具体参考:https://www.cnblogs.com/OctoptusLian/p/8546580.html 在Linux中,存在着绝对路径和相对路径 绝对路径:路径的写法一定是由根目录 / 写起 ...
- 2018-2019-2 20165220 《网络对抗技术》Exp1 PC平台逆向破解
实验目的 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShe ...
- myBase Desktop 6.5.1 无限期试用
清空安装目录下的"nyfedit.ini"文件的"App.UserLic.FirstUseOn="配置项的值
- hadoop hdfs ha 模式
这是我自己在公司一个搭建公司大数据框架是自己的选项,在配置yarn ha 出现了nodemanager起不来的问题于是我把yarn搭建为普通yarn 如果有人解决 高yarn的nodemanager问 ...
- Y1O001波分复用器
# 波分复用器## 光分波器### 波分合波器种类* 耦合型 * 光纤熔融拉锥 * 熔融拉锥法是指将两根(或两根以上)除去涂覆层的光纤以一定的方法靠拢,在高温加热下熔融,同时向两侧拉伸,最终在加热区形 ...
- 我的 FPGA 学习历程(09)—— 时序逻辑入门
讲到这篇时,组合逻辑就告一段落了,下面是一些总结: 描述组合逻辑时,always 语句中的敏感信号列表中需要列出全部的可能影响输出的变量 描述组合逻辑时,always 语句中的赋值总是使用阻塞赋值符号 ...
- 推荐多线程下载工具axel替代wget
在爬数据的时候很多时候需要下载文件比如压缩文件,音频,视频,图片等等,这些文件通常有一个请求的url,这个时候使用request模块或者urllib模块都很慢,而且很不稳定,这个时候使用wget或者a ...
- php基础-cookie&session
设置cookie //设置cookie setcookie('key', 'value', time() + 60, '/'); 设置session //必须开启session session_sta ...