Android SDK环境变量配置

Android SDK就是 Google 提供的Android开发工具包,之前请先配置好JDK

Install Android SDK under Linux

sudo apt update && sudo apt install android-sdk

安装之后 Android SDK 的地址可能在:

  • /home/account/Android/Sdk
  • /usr/lib/android-sdk

Android SDK下载地址

  • Google搜索Android SDK
  • 或者https://developer.android.com/sdk/index.html

###配置Android SDK环境变量

  1. 下载Android SDK,点击安装,直接默认路径即可! 下载地址:https://developer.android.com/sdk/index.html

  2. 默认路径安装后,安装完成,开始配置环境变量。

  3. 打开计算机属性——高级系统设置——环境变量(如上文)

  4. 新建一个环境变量,变量名:ANDROID_HOME,变量值:D:\Android\android-sdk(以你安装目录为准,确认里面有tools和add-ons等多个文件夹),点击确认。

  5. 在用户变量PATH后面加上变量值;%ANDROID_HOME%\platform-tools;%ANDROID_HOME%\tools;点击确认即可

  6. Android SDK配置完成,接下来验证配置是否成功。

  7. 点击运行——输入cmd——回车——输入adb——回车,如果出现一堆英文,即表示配置成功,输入Android,启动Android SDK Manager。

目录tools和platform-tools的区别

Android sdk目录里,有一些文件夹:

  • tools:该目录存放大量的Android开发,调试工具,该目录下存放大量Android开发工具,例如SDK Manager、androidavd、emulator、ddms等等。
  • platforms-tools:该文件夹存放Android平台和相关工具,存放Android不同平台的相关工具;随着SDK更新版本,这里的工具会有相应更新变化,但是一般都是向后兼容。最常用的是Android Debug Bridge(adb)工具
  • add-ons:该目录存放额外的附件软件。刚解压时该目录为空。
  • platforms:该目录存放不同版本的Android版本。刚解压时该目录为空。
  • SDK Manager.exe:该程序就是Andriod SDK管理器。
  • AVD Manager.exe:该程序就是Andoid虚拟设备。
  • docs:该文件夹存放了Android SDK开发文件和API文档等
  • samples:该文件夹存放不同的Android平台和示例程序。

参考: http://blog.csdn.net/rflyee/article/details/8973529


2014-03-04 android , jdk , android-sdk , android-develop

Vim 插件介绍:Nerdtree

地址

介绍

:help NERDTree

Config

通常情况下会设置一个 map

nmap <F2> :NERDTreeToggle<cr>

然后设置

" nerd comment
" Add spaces after comment delimiters by default
let g:NERDSpaceDelims = 1

" Use compact syntax for prettified multi-line comments
let g:NERDCompactSexyComs = 1

" Align line-wise comment delimiters flush left instead of following code indentation
let g:NERDDefaultAlign = 'left'

" Set a language to use its alternate delimiters by default
let g:NERDAltDelims_java = 1

" Add your own custom formats or override the defaults
let g:NERDCustomDelimiters = { 'c': { 'left': '/**','right': '*/' } }

" Allow commenting and inverting empty lines (useful when commenting a region)
let g:NERDCommentEmptyLines = 1

" Enable trimming of trailing whitespace when uncommenting
let g:NERDTrimTrailingWhitespace = 1

" Highlight Cursor line
let g:NERDTreeHighlightCursorline = 1
" Show hidden files
let NERDTreeShowHidden=1
" NERDTree will recursively open dirs with only one child
let NERDTreeCascadeOpenSingleChildDir=1

Keyboard Mappings

使用 :help NERDTreeMappings 来查看插件所有的绑定,这一些是日常中使用频率比较高的:

  • Enter 在窗口打开文件
  • i 水平分割线分割,如果有一个打开的窗口,那么会分成上下两个窗口
  • s 垂直分割线分割,左右两个窗口
  • I 显示或者隐藏 hidden file
  • m 菜单,m 是一个非常强大的命令,可以支持新增,删除,重命名,复制等等操作
  • r 递归刷新当前目录
  • R 递归刷新 root 目录
  • ?

2014-02-21 vim , nerdtree , vim-tips , vim-plugin

Blogger 主题中Widget使用

Blogger 的主题和插件有自带的一套语法,下面就是 Blogger 主题中关于 Widget 的使用说明。

Widget Tags for Layouts

标签是用来创建最基本的widget的,描述在 [Page Element Tags for Layouts](http://help.blogger.com/bin/answer.py?answer=46888) 中.而这篇是描述在widget标签中具体可以设置哪些东西的,例如你可以在widget中放置什么. 第一件事就是放置一个闭合的标签,像这样: `<b:widget [...attributes...] />` 展开之后是这样的: `<b:widget [...attributes...]>

`

接下来谈论一下可以在widget中放置什么

Includes

Widget的内容包含在”includable” section中,像这样:

<b:includable id='main' var='thiswidget'>
    [insert whatever content you want here]
</b:includable>

includable的属性有:

  • id:(必须)唯一标识符,由字母和数字组成
  • var:(可选)标识符,由字母数字组成,用来引用section中的data.(具体请见下面说的data section)

每一个widget必须有一个具有id='main'的 includable 。通常这个widget的大部分内容都包含在这个includable中.

如果你有很多具有不同id属性的includable,他们不会自动的显示出来.但是如果你有一个includable带有id='new'的属性,那么在main includable中通过<b:include name='new' />就能够引用,并显示出来.

b:include标签的属性如下:

  • name:(必须)标识符由字母和和数字组成,它必须是在同一个widget中已经存在的b:includable的id
  • data:(可选)An expression or peice of data to pass on to the includable section. This will become the value of the var attribute in the includable.

简单例子同来讲解b:includableb:include的用法.Loops和data会在后面讲述,这里主要要理解’main’ section是如何包含 ‘post’ section的.main包含了一个includable,传递了一个data叫做’i’,included section引用做’p’,使用p访问title.

<b:includable id='main'>
   <b:loop var='i' values='posts'>
      <b:include name='post' data='i'/>
   </b:loop>
</b:includable>

<b:includable id='post' var='p'>
   Title: <data:p.title/>
</b:includable>

下面这段的意思就是说如果你想重复使用代码,可以将代码放到includable中,然后用include引用.就不翻译了. Includes are most useful if you have a section of code that you want to repeat multiple times in different places. You can just write the code once, put it inside a b:includable, then use b:include wherever you want it to appear. If you don’t need to do that, then you can just stick with the single main includable and not worry about the rest. (Note that the main includable is included automically – is unnecessary.)

Data

data:标签大概是最为重要的一个标签了,因为它是获取一切事实数据的途径,一些例子如下:

<data:title/>

or

<data:photo.url/>

这个例子非常简单,他能够在几乎所有的widget中起作用,因为大多数widget有title.上面的例子就是打印出widget的title.第二个例子是一个较为复杂的变量,获取photo的url.

有很多data你能够通过data:标签来获取,查阅 comprehensive list 查询需要的data,一些data只能在特定的widget中使用.

Loops

b:loop 标签让你重复使用section中内容.通常用在打印给定的一系列post,或者每一条留言,或者每一个label,等等.通常用法,像这样:

<b:loop var='identifier' values='set-of-data'>
   [repeated content goes here]
</b:loop>
  • identifier 可以选用任何名字,用来代表list中每一个item.可以简单的设定为”i”.
  • set-of-data 可以是在 data tags article中定义的任何一系列data

例如,在blog post widget中, posts是一个list,下面的代码是遍历每一个post,打印出每一个的标题title

<b:loop var='i' values='data:posts'>
   <h2><data:i.title/></h2>
</b:loop>

注意,”i”是每一个post,在循环中使用i获取每一个post的title

if / Else

if/else像很多编程语言一样,条件判断,这里是选择哪些显示和哪些不显示.通常如下:

<b:if cond='condition'> 
   [content to display if condition is true]
<b:else/>
   [content to display if condition is false]
</b:if>

b:else tag是可省略的. 而</b:if>是不可省略的. 如果没有else子句,那么只有满足if条件才会执行if子句中代码,不然什么都不执行

条件语句中你可以放置任何结果是true或者false的语句,有一些data本身就表示true/false,像post中allowComments.其他data,你可以用来比较得到结果.一些例子:

<b:if cond='data:post.showBacklinks'> True if the current post is set to show backlinks.
<b:if cond='data:blog.pageType == "item"'> True if the current page is an item page (post page).
<b:if cond='data:displayname != "Fred"'> True if this is not Fred's display name.
<b:if cond='data:post.numComments > 1'> True if the current post has more than one comment.

翻译自:Blogger Help Widget Tags for Layouts


2014-02-04 Google , Blogger , Knowledge

HAProxy 转发 shadowsocks 流量

HAProxy is free, open source software that provides a high availability load balancer and proxy server for TCP and HTTP-based applications that spreads requests across multiple servers. It is written in C and has a reputation for being fast and efficient.

简单的来说 HAProxy 就是一个负载均衡,TCP 和 HTTP 的代理程序,开源,高可用,C 写成。他原本的作用是将前端的大量流量分发到后端的服务器中,用于负载特别大的 WEB 网站的,这里被大材小用了。

使用 HAProxy 中转 SS 流量至少需要两台 VPS,国内一台,国外一台,SS 客户端直接连国内的 VPS,而通过国内的 VPS 转发流量到国外的 VPS 上。

安装

sudo apt install -y haproxy

配置

HAProxy 的配置文件在 /etc/haproxy/haproxy.cfg 下:

global
    ulimit-n  51200

defaults
    log global
    mode    tcp
    option  dontlognull
        timeout connect 5000
        timeout client  50000
        timeout server  50000

frontend ss-in
    bind *:8888
    default_backend ss-out

backend ss-out
	balance roundrobin
    server server1 [VPS-IP]:8888 maxconn 20480
    server server2 [VPS2-IP]:8888 maxconn 20480

主要的配置就是 frontendbackend,也很好理解,将入站的 8888 端口中的流量转发到 VPS 的 8888 端口。然后重启 HAProxy 即可

sudo /etc/init.d/haproxy restart

启动之后,本地的 SS 客户端直接连国内的 IP 即可,需要注意的是配置用的是 ssserver 的配置。

监控页面

配置监控界面监控转发流量:

listen stats    #定义监控页面 $
	bind *:1080                     #绑定端口 1080$
	mode http                       # http mode$
	stats refresh 30s               #每 30 秒更新监控数据 $
	stats uri /stats                #访问监控页面的 uri$
	stats realm HAProxy\ Stats      #监控页面的认证提示 $
	stats auth username:password    #监控页面的用户名和密码 $

reference


2014-02-03 haproxy , shadowsocks , ss , tcp , load-balancer , proxy-server , proxy

Linux Mint 下开机自启动应用

在 Cinnamon 桌面环境下有一个开机启动应用的管理程序叫做 startup applications,用该程序来管理开机启动应用是非常方便的。更准确的来说应该是 login 到桌面环境中启动的应用程序管理。

使用

命令行是

cinnamon-settings startup

同样在 gnome 的桌面环境下也有一个相似的 gnome-session-properties 但是这个应用没有 Cinnamon 提供的方便友好,一个很大的差别就是 Cinnamon 提供的 startup 工具允许用户直接选择已经安装的应用,而 gnome 提供的只允许用户自己选择执行脚本(命令),自己选择图标,标题等等。Cinnamon 帮我们做了很多友好的工作。

实际上所有开机自启动的配置都在 ~/.config/autostart 目录中,每一个启动项都以自己名字开头,比如 GoldenDict goldendict.desktop 这样的名字,包含如下内容。

[Desktop Entry]
Type=Application
Terminal=false
Categories=Office;Dictionary;Education;Qt
Name=GoldenDict
GenericName=Multiformat Dictionary
Comment=GoldenDict
Encoding=UTF-8
Icon=goldendict
Exec=goldendict
X-GNOME-Autostart-enabled=true
NoDisplay=false
Hidden=false
Name[en_US]=GoldenDict
Comment[en_US]=GoldenDict
X-GNOME-Autostart-Delay=100

其中定义了常见的配置,包括启动命令,图标,名字等等。

reference


2014-02-02 linux , linux-mint , cinnamon , startup , application

manual guide tutorial 区别

manual 一般翻译为手册,指南。通常是制造商提供的一份详细的操作指示,更具体来说一般为官方提供的。

guide 向导,指南。是一个比较宽泛的词,鉴于 manual 可能是一份文档,游戏的小册子,或者更加复杂的汽车的手册,但是 guide 可能就是一个卡片,或者介绍的视频。guide 可能是一个比较细节的说明,但也可能是一个简单的介绍或者说明。

tutorial 通常翻译为教程,通常是针对无经验的初学者提供 step-by-step 每一步详细的说明。

cookbook 直译是食谱,在 鉴别 Mastering Cookbook xxx in Action 系列图书 文章中就已经解释了,通常指的是比较实用的一些用例。

reference 一般译作参考,引用,这个 reference 倒是不会产生什么歧义。我的文章中也经常使用。

reference


2014-02-01 document , guide , difference

Java 查漏补缺之:赋值语句的返回值

在看 JDK 源码 HashMap 时发现在 put 方法实现过程中使用了下面的语句

if ((tab = table) == null || (n = tab.length) == 0)
    n = (tab = resize()).length;

能够看到在判断语句中使用了赋值语句的结果来和 null 和 0 比较,再比如读写文件时会有

while ((line = reader.readLine()) != null) {
    out.append(line);
}

就能发现 Java 中的赋值语句是有返回值的,并且也不是简单的 boolean 。事实上赋值语句返回的是左侧变量的引用值,也就是右侧的结果

@Test
public void testAssignment() {
    int i;
    System.out.println(i=0);
    System.out.println(i=1);
}

输出分别是 0 和 1.


2014-01-20 java , jdk , programming

学车记

学车到现在已经接近尾声,拖了两年之久的事情终于要有点眉目了。现在只剩下最后的理论—-科目四的考试了,这个考试应该也和科目一的理论差不多,只是最后多了五道多选题而已。现在回想起来,暑假,寒假,寒假,多少时间花在这个上面。断断续续不知道是福还是祸,考试从人监考一直到现在红外线考,变化多多,训练的方法也变化多多。

之前一个寒假我记得当时考试,倒桩和小路考是分开考的,而今年寒假回来就变成一起考了。以前小路考还考单边桥,而现在不见了。以前小路考是一次性,如果通过就通过,现在是有两次机会,第一次不过还有第二次机会。总之里面的变化任谁也搞不清楚。反正这些也不管了,都是过去的事情了。

下面就做一些记录,这是我一边学车,一边记录下来的:

##小路考 上车,安全带(安全带不能带反,因为车上有感应装置,如果安装反了感应不到就是不及格) 起步(不能停顿超过30秒),左方向灯 侧方停车位,开车到看到左边后视镜看见库一角,一圈方向,倒档,车身与库对角线齐平,返回一圈方向,看右后轮胎,快进库时,反方向打死方向盘,进库,出来时方向灯 s路,直着进弯道,看黄线到车头三分之一处一圈方向,车走正了,返回一圈方向,然后 坡上定点停车与坡道起步,车尽量往右边靠30cm,车头要在停止范围内,起步方向灯 直角转弯,反光镜到黄线齐平,打死方向 倒车入库,到黄线打死方向,看左反光镜,车声0.5米,返回半圈方向,看车身与黄线平行,将方向放正

##大路考

上车,安全带,座椅,踩离合,空档发动,大车灯,方向灯切换一下(后来分完车,车上教练教了一个好办法:上车1.空档 2.发动 3.大灯 4.方向 下车1.方向 2.大灯 3.熄火 4.挂一档,正好完全相反) 报告考官,灯光仪器正常,请求起步 方向灯,远近大灯,左右反光镜,挂一档,松离合,松手刹。 挂二档 靠边停车,转向灯,减速 下车,右转向,空档,手刹,关大灯,关方向,熄火,挂一档,松安全带,看反光镜,后面车,下车

总之上面就是这些天反复练习的东西,就这么多。考试也就这么多。


2014-01-13 学车 , beginner

Vim 插件之 markdown : vim markdown

直接上官网

installation

在 vim 配置文件

Plug 'godlygeek/tabular'
Plug 'plasticboy/vim-markdown'

usage

安装插件之后会自动高亮语法。该插件有很多配置选项,建议 :help vim-markdown

而我个人比较常用的一些功能是打开文档中链接,将光标放到链接的任何位置使用如下命令

gx

打开 markdown 中相对链接进行编辑

ge

跳转到下一个标题

]]

同理跳转到上一个标题

[[

上面两个方法不管标题的级别都会直接跳转,如果只想要在同一级别的标题中跳转可以使用

[]          # 前一个
][          # 后一个

跳转到当前标题

]c

跳转到父标题

]u

commands

增加或者减少标题级别

:HeaderDecrease
:HeaderIncrease

显示 Toc(Table of Content) 目录:

:Toc
:Toch          " 水平打开 horizontal
:Tocv          " 垂直窗口打开 vertical
:Toct          " 新 tab 中打开

表格相关

格式化表格

:TableFormat

configuration

" disable folding
let g:vim_markdown_folding_disabled=1
" Highlight YAML frontmatter as used by Jekyll
let g:vim_markdown_frontmatter=1

reference

  • :help vim-markdown

2014-01-09 vim , vim-plugin , markdown

电视机投影仪显示器接口知识整理

之前东拼西凑写了一篇《投影仪选购指南》,今天再凑一篇配套接口知识。纯为自己了解,当然如果帮到其他人,那就更好了。先来随便看看一款投影仪的最简单的接口。

从左到右接口依次为:音频接口,S 端子,VGA 接口,HDMI,RS232,USB projector interface

从左到右依次是 HDMI×2,色差分量接口 Component,MINI USB B 型,VAG,RS-232,S- 端子,AV 复合视频接口(RCA),音频输入输出接口 W750

然后看看平面解释的图 projector port

以下涉及到的接口可能有些在投影仪里面有,而有些投影仪不一定是要具备的,必备是对于电视来说的。

必备接口

HDMI

HDMI 是新一代的多媒体接口标准,全称是 High-Definition Multimedia Interface,中文意思为高清晰多媒体接口,该标准由索尼、日立、松下、飞利浦、东芝、Silicon image、Thomson (RCA) 等 7 家公司在 2002 年 4 月开始发起的。其产生是为了取代传统的 DVD 碟机、电视及其它视频输出设备的已有接口,统一并简化用户终端接线,并提供更高带宽的数据传输速度和数字化无损传送音视频信号。 HDMI cable

  • 2002 年 12 月,7 家公司正式推出了 HDMI 1.0 规格。
  • 2004 年 5 月,HDMI 1.1 规格发布。
  • 2005 年 8 月,推出了 HDMI 的 1.2 版,为了更好的兼容 PC 系统,1.2 版增加了若干条非常重要的改进,以方便 PC 连接和数字音频流等的传输。
  • 2005 年 12 月,推出 HDMI 1.2a 标准增加了 CEC 功能,并且完善了测试规范,CEC 功能可以通过一个遥控器对所有家庭娱乐设备进行控制。
  • 2006 年 5 月 22 日,制定 HDMI 标准的 7 家企业共同宣布了 HDMI 1.3,新标准将带宽和速率都提升了 2 倍以上,达到了 340MHz 的带宽和 10.2Gbps 速率,以满足最新的 1440P/WAXGA 分辨率的要求。

HDMI details

传统的 AV 复合和色差接口都需要独立分开音频和视频数据线来传输信号,同为数字接口的 DVI 接口则并不支持音频传输,目前唯有 HDMI 具备了在一条数据线上同时传送影音信号的能力,因此人们也习惯把 HDMI 称为高清一线通。

DVI 接口

DVI(Digital Visual Interface)接口,即数字视频接口。DVI 接口标准是 1999 年由 Silicon Image、Intel(英特尔)、Compaq(康柏)、IBM、HP(惠普)、NEC、Fujitsu(富士通)等公司共同组成 DDWG(Digital Display Working Group,数字显示工作组)推出的接口标准。 DVI cable

DVI 接口是以 Silicon Image 公司的 PanalLink 接口技术为基础,基于 TMDS(Transition Minimized Differential Signaling,最小化传输差分信号)电子协议作为基本电气连接。TMDS 是一种微分信号机制,可以将象素数据编码,并通过串行连接传递。显卡产生的数字信号由发送器按照 TMDS 协议编码后通过 TMDS 通道发送给接收器,经过解码送给数字显示设备。

DVI to HDMI DVI 转 HDMI 视频连接线

目前常见的 DVI 接口有两种,分别是 DVI-Digital(DVI-D)与 DVI-Integrated(DVI-I),DVI-D 仅支持数字信号,而 DVI-I 则不仅支持数字信号,还可以支持模拟信号,也就是说DVI-I的兼容性更强。 DVI-I 插口是兼容数字和模拟接头的,所以,DVI-I 的插口就有 24 个数字插针+5 个模拟插针的插孔(就是旁边那个四针孔和一个十字花)。

DVI-D 插口是纯数字的接口,所以,DVI-D 的插口只有 24 个数字插针的插孔(没有模拟的那个四针孔和一个十字花)。

因此,DVI-I 的插口可以插 DVI-I 和 DVI-D 接头的线,而 DVI-D 的插口只能接 DVI-D 的纯数字线。

色差分量接口

色差分量接口

色差分量接口 Component

色差分量线材

色差分量线材

色差分量(Component)接口采用 YPbPr 和 YCbCr 两种标识,前者表示逐行扫描色差输出,后者表示隔行扫描色差输出。色差分量接口一般利用 3 根信号线分别传送亮色和两路色差信号。这 3 组信号分别是:亮度以 Y 标注,以及从三原色信号中的两种——蓝色和红色——去掉亮度信号后的色彩差异信号,分别标注为 Pb 和 Pr,或者 Cb 和 Cr,在三条线的接头处分别用绿、蓝、红色进行区别。这三条线如果相互之间插错了,可能会显示不出画面,或者显示出奇怪的色彩来。色差分量接口是模拟接口,支持传送 480i/480p/576p/720p/1080i/1080p 等格式的视频信号,本身不传输音频信号。

AV 复合视频接口(3 路 RCA 接口组成)

复合视频接口

复合视频接口

复合视频线

复合视频线

AV 复合(Composite)视频接口是目前在视听产品中应用得最广泛的接口,属模拟接口,该接口由黄、白、红 3 路 RCA 接头组成,黄色接头传输视频信号,白色接头传输左声道音频信号,红色接头传输右声道音频信号。AV 复合视频接口实现了音频和视频的分离传输,这就避免了因为音 / 视频混合干扰而导致的图像质量下降,但由于 AV 接口的传输仍然是一种亮度 / 色度 (Y/C) 混合的视频信号,仍然需要显示设备对其进行亮 / 色分离和色度解码才能成像,这种先混合再分离的过程必然会造成色彩信号的损失,色度信号和亮度信号也会有很大的机会相互干扰从而影响最终输出的图像质量。

RF 输入接口

RF 输入接口

RF 射频端子是最早在电视机上出现的,原意为无线电射频(Radio Frequency)。它是目前家庭有线电视采用的接口模式。

RF 的成像原理是将视频信号 (CVBS) 和音频信号 (Audio) 相混合编码后,输出然后在显示设备内部进行一系列分离 / 解码的过程输出成像。

由于步骤繁琐且音视频混合编码会互相干扰,所以它的输出质量也是最差的。带此类接口的显卡只需把有线电视信号线连接上,就能将有线电视的信号输入到显卡内。

实用接口

光纤音频接口

光纤音频接口 TosLink,全名 Toshiba Link,这是日本东芝(TOSHIBA)公司较早开发并设定的技术标准,在视听器材的背板上有 Optical 作标识。现在几乎所有的数字影音设备都具备这种格式的接头。TosLink 光纤曾大量应用在普通的中低档 CD、LD、MD、DVD 机及组合音响上。光纤连接可以实现电气隔离,阻止数字噪音通过地线传输,有利于提高 DAC 的信噪比。但是,时基误差是影响音质的重要因素,所以衡量数字音响设备传输接口性能的好坏,应以引起时基误差的大小为标准。光纤连接的信号要经过发射器和接收器的两次转换,会产生严重影响音质的时基抖动误差(Jitter)。制造光纤常用的材料有塑料、石英、玻璃等,玻璃光纤(ST)是最昂贵的一种。

RS-232C 接口

RS-232C 标准最初是远程通信连接数据终端设备 DTE(Data Terminal Equipment) 与数据通信设备 DCE(Data Communication Equipment) 而制定的。RS-232C 标准(协定)的全称是 EIA-RS-232C 标准,其中 EIA(Electronic Industry Association) 代表美国电子工业协会,RS(Recommeded Standard)代表推荐标准,232 是标识号,C 代表 RS232 的最新一次修改(1969),在这之前有 RS-232B 和 RS-232A。它规定连接电缆和机械、电气特性、信号功能及传送过程。RS-232C 接口最大传输速率为 20Kbps,线缆最长为 15 米。RS-232C 接口通常被用于将电脑信号输入控制,当通信距离较近时,可不需要 Modem,通信双方可以直接连接,这种情况下,只需使用少数几根信号线。

VGA 接口

VGA

VGA(Video Graphic Array)接口,即视频图形阵列,也叫 D-Sub 接口,是 15 针的梯形插头,分成 3 排,每排 5 个,传输模拟信号。VGA 接口采用非对称分布的 15 针连接方式,其工作原理:是将显存内以数字格式存储的图像(帧)信号在 RAMDAC 里经过模拟调制成模拟高频信号,然后再输出到显示设备成像。

VGA 支持在 640×480 的较高分辨率下同时显示 16 种色彩或 256 种灰度,同时在 320×240 分辨率下可以同时显示 256 种颜色。VGA 由于良好的性能迅速开始流行,厂商们纷纷在 VGA 基础上加以扩充,如将显存提高至 1M 并使其支持更高分辨率如 SVGA(800×600)或 XGA(1024×768),这些扩充的模式就称之为视频电子标准协会 VESA(Video Electronics Standards Association) 的 SVGA(Super VGA)模式,现在显卡和显示设备基本上都支持 SVGA 模式。

此外后来还有扩展的 SXGA(1280×1024)、SXGA+(1400×1050)、UXGA(1600×1200)、WXGA(1280×768)、WXGA+(1440×900)、WSXGA(1600×1024)、WSXGA+(1680×1050)、WUXGA(1920×1200)、WQXGA(2560×1600)等模式,这些符合 VESA 标准的分辨率信号都可以通过 VGA 接口实现传输。

S 端子接口

S 端子,即分离式影像端子 S-video(Separate Video),它实际上是一种五芯接口,由视频亮度讯号 Y 和视频色度讯号 C 和一路公共遮罩地线组成。S 端子将亮度和色度分离输出,避免了混合视频讯号输出时亮度和色度的相互干扰,它只能输入输出视频。

可选接口

USB 接口

Universal Serial Bus(通用串行总线)简称 USB,是目前电脑、数码、平板电视等产品上光方应用的一种接口规范。USB 接口是一种四针接口,其中中间两个针传输数据,两边两个针给外设供电。USB 有两个规范,即 USB 1.1 和 USB 2.0。二者主要的却别是 USB 1.1 的最高传输速度是 12Mbps(折算为 MB 为 1.5MB/s);USB2.0 标准传输速率在 25Mbps-400 Mbps (最大 480 Mbps,折算为 MB 为 60MB/s),二者相差最高 40 倍。同时,USB1.1 版本接口对外的输出电源的负载能力很低,其最大输出电流只有 250 毫安,而 USB2.0 协议,其输出电流达到 500 毫安以上。USB1.1 接口和 USB2.0 接口相比,USB2.0 接口具有明显的优势,但产品价格相对也要比 USB1.1 接口的产品贵一些,2003 年以后 1.1 版本逐渐被 2.0 版

USB(通用串行总线)将网络、计算机和家庭数码产品的媒体资源进行共享,是 3C 融合的一个趋势。具有流媒体功能的电视实现了让 MP3、摄像机、照相机、移动硬盘、U 盘以及各种各样存储卡的内容在电视机上直接播放,做到信息共享。流媒体电视与普通电视相比,最大的不同在于后者仅能收看电视节目,节目内容固定的,而流媒体电视不仅可以收看更清晰的电视节目,还可以播放数码相机、移动硬盘等数码设备里的图片、音乐、电影,使原来只能在电脑上播放的内容可以在更大、更清晰的平板电视上观看,让全家人共同欣赏。而流媒体这些美妙功能的实现必须依仗 作为中间媒介的“USB”接口。

目前市场销售的平板电视还有部分产品依然为了降低成本采用低速的 USB1.1 接口作为流媒体接口,而这个接口根本不能满足海量流媒体设备的供电和传输需要。目前家用数码设备,例如 MP3 已经向 G 容量过渡,数码相机也已经开始千万像素的换代,大容量的流媒体文件必须依靠可靠的高速接口才能流畅演示,因此购买流媒体电视,一定要先确定是否采用了 USB2.0 高速接口本所替代。

蓝牙接口

蓝牙(Bluetooth)是由东芝、爱立信、IBM、Intel 和诺基亚于 1998 年 5 月共同提出的近距离无线数据通讯技术标准。它能够在 10 米的半径范围内实现单点对多点的无线数据和声音传输,其数据传输带宽可达 1Mbps。通讯介质为频率在 2.402GHz 到 2.480GHz 之间的电磁波。

蓝牙接口(BlueTooth)与其它同样具有蓝牙接口的设备连接同样可以实现无线连接,它具有无方向性限制,有效连接距离达 10 米,一般的传输速度都有 1M,快速的高达 10M 甚至更快等优点,但目前配置蓝牙接口的电子设备却不是很多,与红外线接口的普及率有很大的差距,这是比较遗憾的一个地方。

不过,没有蓝牙接口的电脑可通过加装蓝牙适配器来实现蓝牙接口功能,这些蓝牙适配器一般都是 USB 接口的,可以插在电脑的 USB 接口上使用,而且只有闪盘大小,携带远比数据线要方便。

趋势接口

DisplayPort 接口

  1. 高带宽 在高清晰视频即将流行之际,没有高带宽的显示接口是无法立足的。DisplayPort 问世之初,它可提供的带宽就高达 10.8Gb/s。要知道,HDMI 1.2a 的带宽仅为 4.95Gb/s,即便最新发布的 HDMI 1.3 所提供的带宽 (10.2Gb/s) 也稍逊于 DisplayPort 1.0。DisplayPort 可支持 WQXGA+(2560×1600)、QXGA(2048×1536) 等分辨率及 30/36bit(每原色 10/12bit) 的色深,充足的带宽保证了今后大尺寸显示设备对更高分辨率的需求。

  2. 最大程度整合周边设备 和 HDMI 一样,DisplayPort 也允许音频与视频信号共用一条线缆传输,支持多种高质量数字音频。但比 HDMI 更先进的是,DisplayPort 在一条线缆上还可实现更多的功能。在四条主传输通道之外,DisplayPort 还提供了一条功能强大的辅助通道。该辅助通道的传输带宽为 1Mbps,最高延迟仅为 500μs,可以直接作为语音、视频等低带宽数据的传输通道,另外也可用于无延迟的游戏控制。可见,DisplayPort 可以实现对周边设备最大程度的整合、控制。

  3. 内外接口通吃

目前 DisplayPort 的外接型接头有两种:一种是标准型,类似 USB、HDMI 等接头;另一种是低矮型,主要针对连接面积有限的应用,比如超薄笔记型电脑。两种接头的最长外接距离都可以达到 15 米,虽然这个距离比 HDMI 要逊色一些,不过接头和接线的相关规格已为日后升级做好了准备,即便未来 DisplayPort 采用新的 2X 速率标准 (21.6Gbps),接头和接线也不必重新进行设计。

除实现设备与设备之间的连接外,DisplayPort 还可用作设备内部的接口,甚至是芯片与芯片之间的数据接口。比如,DisplayPort 就“图谋”取代 LCD 中液晶面板与驱动电路板之间主流接口——LVDS(Low Voltage Differential Signaling,低压差分信号)接口的位置。DisplayPort 的内接型接头仅有 26.3mm 宽、1.1mm 高,比 LVDS 接口小 30%,但传输率却是 LVDS 的 3.8 倍。

其它接口

D 端子接口

D 端子中的 D 即 Digital,也说是因为接口造型像倒置的“D”字母,其通过处理芯片将视频信号处理成符其传输标准的数码讯号,采用了类似电脑的多针 D 型插接头,通过数字方式传输视频信号,直接输入到具备 D 视频接收端子的视频显示设备,避免了通过模拟视频信号传输方式传输信号的过程中的数字 - 模拟的转换过程,因而更能提升数字视频还原质量。D 端子依据规格的不同,分为目前有 D1、D2、D3、D4、D5 几个级别,分别对应 480i/480p/1080i/720p/1080p 视频信号,其中 D5 最高。目前 D 端子接口基本上只出现在日本的视听设备中。

同轴音频接口

同轴音频接口(Coaxial),标准为 SPDIF(Sony / Philips Digital InterFace),是由索尼公司与飞利浦公司联合制定的,在视听器材的背板上有 Coaxial 作标识,主要是提供数字音频信号的传输。它的接头分为 RCA 和 BNC 两种。数字同轴接口采用阻抗为 75Ω的同轴电缆为传输媒介,其优点是阻抗恒定,传输频带较宽,优质的同轴电缆频宽可达几百兆赫。同轴数字传输线标准接头采用 BNC 头,其阻抗是 75Ω,与 75Ω的同轴电缆配合,可保证阻抗恒定,确保信号传输正确。也就是说在传输的线材搭配上,应该是以适用于传输高频率数字讯号的 75 欧姆同轴线材作为搭配标准。

SCART 接口

SCART(Syndicat des Constructeursd’ Appareils Radiorécepteurs et Téléviseurs)接口是一种专用的音视频接口,它是由法国公司 Peritel 开发的视听设备互连工业标准,也是欧洲强制要求用于卫星电视接收机、电视机、录像机及其它音视频设备上的互连互通接口。标准的 SCART 接口为 21 针连接器,外型呈直角梯形,俗称“扫把头”。这 21 针中定义了音频和视频信号,可用来传输 CVBS 和隔行 RGB 信号等视频信号,也可以传送立体声音频信号。21 针同时传输 21 个信号,这 21 个信号可分为视频信号、音频信号、控制信号、地线和数据线几种。此外,SCART 接口还是双向传输,实现所谓的“LOOP”循环功能。


2013-12-26 projector,interface, monitor, display

电子书

最近文章

  • macOS 自定义系统设置记录 因为电脑空间告警,所以用 Clean Me 这个应用对系统进行了一次清理,没想到的是,可能在我误操作的情况下把我系统的设置和全部软件的设置都给清空了。我所有的系统配置都恢复了初始的状态,让我使用起来非常变扭,我在之前有写过一篇 MacBook 初始化和应用安装 的文章,但是那篇文章写的比较啰嗦,索性就重新整理一下。
  • EV Hosting 共享邮件服务 过去的一个月里面 EV Hosting 陆陆续续更新了共享主机服务,域名注册服务,现在因为我自己使用域名邮箱一直也在使用域名邮箱,所以现在也推出了域名邮箱服务。
  • 《非暴力沟通》读书笔记 怎么知道的这一本书
  • Drift 一个开源可以自托管的 Gist Drift 是一个可以自行架设的 Gist 代替。使用 [[Next.js]] 13 和 React Server Components 编写。
  • Google Analytics 代替产品对比 虽然我把其他服务陆陆续续从 Google 迁移出来,但 Google Analytics 一直都运行良好所以也没有怎么管,但 Google Analytics 到今年年中的时候会强行升级 GA4,看了一下升级的过程和 Google Analytics 的操作实在太复杂,就诞生了迁移出 Google Analytics 的想法。简单地了解了一下目前的 Google Analytics 的代替品,收费的,自行架设的还很多选择。这篇文章就简单地对比一下。