设备交互功能构想与实现

关于智能设备,我的理解是,使设备具备交互通信功能吧。

文章由来

今天上午在折腾将连在Windows 10 PC上的没有网络功能的打印机共享给Mac使用,然后顺便回忆了下折腾新Mac的所有经过,于是就有了这篇文章。

一切的缘由并不是我买了一台只有一个USB Type-C数据接口的电脑。事实上,在2014年出国前就曾经折腾过一遭。所以最初的缘由是,出国心疼电话费,同时父母又是十足的电脑盲。所以出国前的一段时间基本上天天就在寻思着怎么在国外的时候远程控制国内家里的电脑。然后就折腾了诸如远程开机、远程登录与控制等等方法。遗憾的是到现在我都还是没有搞定远程开机。所以事实上的折衷方案是我用网络电话(为此还为Skype贡献了1刀,后来发现易信电话挺不错的)或者其他即时聊天应用让父母开机,然后借助第三方软件Teamviewer控制国内家里的电脑。

文件传输

没有USB接口,第一个伤心的事情就是和其他设备文件互传的问题。

文件云服务

当然,很多人的解决方案就是用QQ或者Baidu云之类的应用软件。在有网络而且网速不错又不担心隐私问题的前提下是非常好的方案。不过,没有网络的时候登录QQ,网速慢的时候登陆Baidu云,是非常不愉快的经历。国内的各个互联网公司都存在着窃取用户信息的新闻纰漏,所以用这样的云服务总还是有些令人担心的。(个人感觉,QQ无论是在局域网共享还是非局域网共享,文件都途经了腾讯服务器,这点比较值得怀疑。)

局域网方案

像我这样随身携带路由器的人应该较少见。然而带一个路由器也是有原因的。一是因为Windows PC,Android,OS X开热点确实又是一件折腾的事情,所以带一个路由器常常更加方便。二是因为,让每个设备具备一个可唯一标识的ip是必要的,让所有交互设备处在同一个子网事是更加方便的。 另外,我的路由器还是带SD卡读卡器、USB接口的,可以用作自己的文件服务器,或者叫中转站。

文件共享嘛,从传统到现代,也就那么几个好用的协议,FTP、WebDAV、SMB几个。因为Windows在市场份额中还是大哥大,所以就一般各种系统都支持SMB。

总结来说, 使需要进行文件传输的几个设备处于同一局域网中,然后基于Windows的SMB(实际上不是协议)进行传输。实际配置方面,使用Windows的网络与共享功能,安全起见可以在Windows中设立专门的文件共享用户。

当然,在局域网共享中也可以采用好的贡献软件。个人推荐NitroShare算是局域网共享方案里面最简单的实现方式了。尽管各台参与共享的设备同时安装软件并不是太容易巧合的事情。

另外,路由器其实也是有很多讲究的,比如,智能路由器,OpenWRT,极路由,迅雷路由器神马神马的。 当然,还有一个方案是Crossover Cable,但是一个额外的要求是需要具备RJ-45端口,而且需要进行网络配置。

文件服务器方案

如果借助第三方文件服务器(FTP服务器),那么实际上和文件云服务没有太大差别。 这里所说的是,使参与共享的一台设备充当文件服务器的功能。实际上,这里和局域网共享讲的有些重复。不过配置FTP服务器值得单独说。

打印机共享

因为买的不是一个网络打印机(当然是基于Budget、Print Quality、Utility的一个折衷选择),所以并不能在局域网中直接用无线连接进行打印。当然,有一种解决方案就是花200人命币到淘宝上淘一个“打印服务器”中间设备,使原本没有网络功能的打印机具备网络功能。然而,这又与购买时的折衷是相矛盾的。(本来买这个打印机就已经突破预算了)所以,基于现状的一种不得已解决办法就是共享链接到Windows PC上的打印机给其他设备(比如Mac或者室友的电脑(当然,因为需要密码,所以他们没我的许可是用不了的))使用。共享的实际操作并不是太复杂,基本思想就是告诉Windows PC,可以让连在其上面的打印机打印别的电脑发送过来的文件,当然接受文件并传输给打印机的是Windows PC。

Understanding the structure is of importance. So what is this structure? The answer should be "打印服务器+打印机". And windows platform computer acts as the Server.

视频输出

没有HDMI、VGA等等接口,想将电脑屏幕内容推送到投影仪、显示器、电视机并不是一件容易的事情,毕竟投影仪、显示器、电视机属于傻瓜类设备。当然,本来有视屏信号输出接口(好像是Thunderboot)的Mac向投影仪输出就不是件容易的事情,需要转换接头,也就是HDMI或VGA 适配器(Adapter).

既然投影仪、显示器、电视机并不智能,那么我们是否可以让他们智能一下呢?答案是肯定的。如果你有兴趣,120块钱就可以搞定。不过需求与代价的权衡就全靠个人了,因为还买不起第二个显示器,也没有投影仪、电视机的需求,所以我虽然收藏了快半年了,还是没有入手EZ Cast的。

然后究竟什么是EZ Cast呢? 当然,我知道大部分人并不关心诸如AirPlay、DLNA什么什么的。简单来说,EZ Cast就是一款能够接受无线视频信号,并将其信号加工处理成HDMI或者VGA端口输出的中继设备。

如果按功能归纳,那么EZ Cast+显示设备的组合其实就是:投影服务器+显示设备。

屏幕共享

这个部分还没有太多了解。

一些相关概念如下:

And AirPlay for Windows Introduction:

To sum up, despite those desktop application, the best structure for me is "显示服务器+显示器", while the Computer act as Server. Which is similar to the last part.

音频输出

借用别的电脑的扬声器

Just like screen sharing, the good structure for me is "音频服务器+扬声器"

设备对话

Conversation between two host.

Request: Can I use your screen? maybe to 0.0.0.0, or specific ip group, like 192.168.1.*, or specific ip, like 192.168.1.100.
Reply: Yes, send me your media signal, i will just display it on my Screen.

就像人和人的交流,"我能借用你的手按一下开关吗?" "我能借用一下你的嘴传个话吗?"只是我们一般没有这么表达而已,由于人总是稍微有点儿职能的,所以我们说“能帮忙开下灯吗?”“能帮忙传个话吗?”。

啰里八嗦讲了这么多,从Google的模块化手机、Weave协议到后面的各种“服务器+功能设备”的组合,我想说什么?
模块化手机,就是讲现在集成化的职能手机经历笔记本电脑到台式电脑的转变。后退了么?分工了吧。就像劳动分工一样。用多了笔记本电脑,以为所有的电脑都是一体化的就是思维固化吧。本来,输入,计算,输出就应该是分离开的,只是我们常常1:1的配一套,所以为了简化、便携等目的,有了笔记本电脑、一体机等东西。人与人对话用的是大脑加输入设备,电脑也只需要这一部分进行对话(无线信号接收发送也算输入输出,不过这么讲,貌似显示器、打印机又不能用输出设备了,算工具吧,不纠结概念了,就这个意思)。
Weave协议是什么?电脑与电脑对话的语言吧。其实,我对Weave并不了解,全凭空想,反正又没准备发文章。Wifi只是介质,就像空气。
“服务器+功能设备”。嗯,理解服务器的概念有点儿难!我们常说的服务器其实分两类,一个是指的机器,这是大部分人理解的服务器,另一个是诸如Apache的东西,做过开发的人知道,这个才是服务器的真正意思。所以,什么?所以,服务器就是主机的几个技能。可以驱动功能设备。

关于未来

关注过Google的很多东西,然后就会发现,原来想的以为是Innovative的东西都曾被想过了。

去年这个时候,一直在琢磨B/S架构、C/S架构等问题,最后得出一个结论就是桌面运用可以做的事情,网页应用几乎都可以完成. 然后就想,能不能有一种更便宜的仅仅具备网站访问功能的电脑。去年的这个时候,才刚刚出国不到一个周,所以当然会傻傻的以为自己发现了一个很好的创新点。然后在国外待了一段时间,发现真的就已经在市场上销售着那个我觉得是创新的东西。Chromebook或者Chromecast,不知道只是因为在天朝GFW之内Chromebook确实没什么可用性,所以我的孤陋寡闻导致了我的天真。

然后一路去追Google所进行的项目的时候,发现了有一个叫Project Ara的项目,模块化手机。 今年Google IO大会,据说是Google的小年,没有像以往Google Glass那般拉风的项目,然而却有一点让我还是挺开心的,Weave协议。嗯,终于从谷歌的话题扯到了这篇文章要讲的东西。

Weave协议,个人感觉应该就是设备之间互通互放的语言吧,不过应该还有几年的开发期。

其他

YY Class for audio and screen share!
关于YY这样的软件的定位,我也不想说了,主要是在公交车上写东西,头有点儿晕。

TV and TV Modem 小米盒子神马,好像也是相关概念,有时间再折腾吧。


* cached version, generated at 2018-12-02 21:54:27 UTC.

Subscribe by RSS