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 (查看开机时间记录) 命令行终端敲入命令: ...
随机推荐
- FTP连接虚拟主机响应220 Welcome to www.net.cn FTP service. (解决的一个问题)
问题场景: 使用FTP客户端连接虚拟主机时,同样的账号密码在有的网络下可以连接成功,有的网络下却一直连接不上:ftp响应“220 Welcome to www.net.cn FTP service.” ...
- PHP调用微博接口实现微博登录的方法示例
在平时项目开发过程中,除了注册本网站账号进行登录之外,还可以调用第三方接口进行登录网站.这里以微博登录为例.微博登录包括身份认证.用户关系以及内容传播.允许用户使用微博帐号登录访问第三方网站,分享内容 ...
- ubuntu 14.04 rabbitmq集群部署
1.准备机器,我这边准备的是三台ubuntu14.04 机器主机名不能相同,不然节点冲突 2.安装rabbitmq 3.修改hosts文件 root@abc-web-04:~# vim /etc/ho ...
- C#三目运算符
在编写项目的时候,会经常用到 if else 判断语句,但有些简单的判断或赋值,可以通过三目运算符来完成! 例如: int sex=0; string sexText=""; if ...
- [Educational Round 59][Codeforces 1107G. Vasya and Maximum Profit]
咸鱼了好久...出来冒个泡_(:з」∠)_ 题目连接:1107G - Vasya and Maximum Profit 题目大意:给出\(n,a\)以及长度为\(n\)的数组\(c_i\)和长度为\( ...
- linux 重新生成网卡配置文件
nmcli connection add con-name home type ethernet ifname eth1 autoconnect yes ip4 10.1.252.60/24 gw4 ...
- Spring源码工程导入Eclsipse缺少两个jar文件
按照<Spring源码深度解析>所述,使用gradle cleanidea eclipse将Spring源码转为eclipse工程后,导入eclipse,最后发现还是缺少spring-cg ...
- FCC(ES6写法) Make a Person
用下面给定的方法构造一个对象. 方法有 getFirstName(), getLastName(), getFullName(), setFirstName(first), setLastName(l ...
- [Swift]LeetCode43. 字符串相乘 | Multiply Strings
Given two non-negative integers num1 and num2 represented as strings, return the product of num1and ...
- [Swift]LeetCode384. 打乱数组 | Shuffle an Array
Shuffle a set of numbers without duplicates. Example: // Init an array with set 1, 2, and 3. int[] n ...