lifi作为一个入门门槛低、涉及范围广的实验,在理工高校中还是比较流行的。

通常实验分成3个部分,字符数据传输实验、音频传输实验、视频传输实验。在官方的实验指南中指定使用win7x64或者win xp来进行。老话题,这里说在mac怎么进行实验。

音频传输、视频传输实际跟电脑没关系,只要保证usb供电即可,找两个手机的usb充电器就足够了。

第一部分的实验则是使用了usb转串口卡,这个重点是安装mac版本的电脑驱动,比如我手头拿到的是CH341串口卡,可以在这里下载驱动。

  1. 首先安装驱动程序,安装完成后会要求重启动mac。
  2. 查看当前已有的终端设备

    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电脑进行可见光通信实验要点的更多相关文章

  1. Mac电脑C语言开发的入门帖

    本文是写给Mac电脑开发新手的入门帖,诸神请退散. C语言 C语言可说是电脑环境中的"镇国神器",从发明至今,虽然C语言的使用者缓慢的减少,但从当前市场应用情况看,尚无一台电脑能够 ...

  2. 苹果笔记本适合什么人 中国Mac电脑用户的8个事实

    报告由腾讯 ISUX 研究中心收集了全国 7946 名 Mac 电脑用户的问卷整理而成.并且,参考了苹果公司的历年财报,以及百度.StatCounter 等第三方市场统计数据. 你是 iPhone 用 ...

  3. 【工具使用】mac电脑使用技巧

    本文地址 分享提纲: 1.  mac命令行和finder的交互 2. 一些mac的插件 3. 一些开发的配置 1.mac命令行和findder交互           1)命令行中打开当前文件夹: o ...

  4. Mac电脑如何读取Android手机上的文件

    问题 一般Android手机用usb数据线连接到windows操作系统的电脑上后,会自动将手机存储卡以移动存储的方式显示在电脑里. 但是如果操作系统是Mac的,就没有这个存储设备.问题来了,Mac电脑 ...

  5. mac电脑http代理服务设置公司内网的相关配置

    哈喽,亲爱的小伙伴们 ,今天给大家分享一下公司内网配置 http代理服务设置及外网访问 ,<这是mac电脑的噢>  ===链接地址我的github项目   https://github.c ...

  6. 在Mac电脑上为iPhone或iPad录屏的方法

    在以前的Mac和iOS版本下,录制iPhone或者iPad屏幕操作是一件稍微复杂的事情.但是随着Yosemite的出现,在Mac电脑上为iPhone或iPad录屏的方法就变得简单了.下面就介绍一下具体 ...

  7. mac电脑的使用

    1. control + command + a 截图 2. shift + command + g 前往 3.在 Mac OS X 中怎样获取当前文件夹的路径 原文网址:https://www.zh ...

  8. Mac电脑清理硬盘"其他"

    作为一个MacBook的使用者,无不感受到苹果对于系统和硬件的完美匹配. 苹果电脑不适合玩游戏,所以我只用它开发iOS使用.电脑里除了Xcode和常用办公软件与通讯软件以外,我没有装其他的任何大应用. ...

  9. 怎么查看Mac电脑的开机记录?

    可以使用last命令查看Mac电脑来看开机记录,同时也能查看关机记录. 首先打开mac的命令终端: 命令行终端敲入命令:last | grep reboot (查看开机时间记录) 命令行终端敲入命令: ...

随机推荐

  1. FTP连接虚拟主机响应220 Welcome to www.net.cn FTP service. (解决的一个问题)

    问题场景: 使用FTP客户端连接虚拟主机时,同样的账号密码在有的网络下可以连接成功,有的网络下却一直连接不上:ftp响应“220 Welcome to www.net.cn FTP service.” ...

  2. PHP调用微博接口实现微博登录的方法示例

    在平时项目开发过程中,除了注册本网站账号进行登录之外,还可以调用第三方接口进行登录网站.这里以微博登录为例.微博登录包括身份认证.用户关系以及内容传播.允许用户使用微博帐号登录访问第三方网站,分享内容 ...

  3. ubuntu 14.04 rabbitmq集群部署

    1.准备机器,我这边准备的是三台ubuntu14.04 机器主机名不能相同,不然节点冲突 2.安装rabbitmq 3.修改hosts文件 root@abc-web-04:~# vim /etc/ho ...

  4. C#三目运算符

    在编写项目的时候,会经常用到 if else 判断语句,但有些简单的判断或赋值,可以通过三目运算符来完成! 例如: int sex=0; string sexText=""; if ...

  5. [Educational Round 59][Codeforces 1107G. Vasya and Maximum Profit]

    咸鱼了好久...出来冒个泡_(:з」∠)_ 题目连接:1107G - Vasya and Maximum Profit 题目大意:给出\(n,a\)以及长度为\(n\)的数组\(c_i\)和长度为\( ...

  6. linux 重新生成网卡配置文件

    nmcli connection add con-name home type ethernet ifname eth1 autoconnect yes ip4 10.1.252.60/24 gw4 ...

  7. Spring源码工程导入Eclsipse缺少两个jar文件

    按照<Spring源码深度解析>所述,使用gradle cleanidea eclipse将Spring源码转为eclipse工程后,导入eclipse,最后发现还是缺少spring-cg ...

  8. FCC(ES6写法) Make a Person

    用下面给定的方法构造一个对象. 方法有 getFirstName(), getLastName(), getFullName(), setFirstName(first), setLastName(l ...

  9. [Swift]LeetCode43. 字符串相乘 | Multiply Strings

    Given two non-negative integers num1 and num2 represented as strings, return the product of num1and  ...

  10. [Swift]LeetCode384. 打乱数组 | Shuffle an Array

    Shuffle a set of numbers without duplicates. Example: // Init an array with set 1, 2, and 3. int[] n ...