第二十五期 总结《路由器就是开发板》

        在读《人人都是产品经理》这本书时,我最大的收获就是:不光要低头拉车,还要抬头看路。研究技术为了一个问题不吃不睡是经常的,但为了一个超出个人挑战能力的问题浪费时间而影响到团队的进度是万万不可取的。看到有人时不时晒加班博得大家得认可,聊天时总要把自己怎么怎么辛苦和勤奋挂在嘴边,我觉得这都是在用战术上的辛苦来掩盖战略上的懒惰。这一期我们来分析一下无线路由器的行业环境和前景,在埋头学习技术的同时也要分析一下当前的大环境。
        在国内OpenWrt已经成为智能路由器的标配,只要标称智能无线路由的产品几乎都是在OpenWrt上修改而来的,原因很简单,OpenWrt作为一个有12年历史的Linux发行版本,已经建立了足够成熟的生态系统,而且完全开源,只要在上面搭载一个漂亮的UI,就可以变现成为一个产品,这种商业诱惑是没有人会拒绝的,虽然听起来很简单,但即使是百度这样的互联网巨头作为一个硬件外行公司推出的小度路由也悄然失败,可见无线路由这个产业是有很多坑的。我们先来分析一下OpenWrt为什么在众多的Wrt中脱颖而出,网络上有人总结了5点:
1、SquashFS与JFFS2文件系统的整合形成的overlayfs机制。
        对用户而言,OpenWrt的整个文件系统是完全动态可读写的,而其中的固件部分是用SquashFS实施的只读压缩文件系统,而用户所有的对文件系统的增删改都是用类似“差值”的形态存储在JFFS2文件系统中的,二者用overlayfs机制黏合,对用户完全透明。因此我们可以在文件系统中肆意发挥、随便折腾,出现任何问题则可像手机一样恢复出厂设置,并提供fail-safe模式帮助用户修复系统。而在传统的嵌入式Linux里,固件是静态的,对系统做任何一点与可运行程序相关的变动,比如增加一个模块,删除一个应用程序,都要重新编译全部固件,并重新刷写,就好比你一个Android手机要升级微信就要重新刷机。这种反人类的传统文件系统完全阻挡了非专业爱好者进入嵌入式Linux这一领域。
2、UCI(Unified Configuration Interface)
        帮助用户在任何平台的OpenWrt上用同样的方法配置系统、网络和应用。在Boardcom的平台上,在Atheros的平台上,甚至x86的平台上,修改系统配置均为同样的命令。而UCI的机制并不是二进制硬件虚拟层实现的,是由Linux shell脚本实现的。这毫无疑问是一种别致的创新,比Android来的轻巧得多。OpenWrt里的Linux shell脚本用得很帅很高端,那种感觉怎么形容呢?就好像精通十八般武艺的高手有一天特别复古地拿起铅笔刀在硬盘上刻出来了系统,就是这种感觉。
3、Opkg包管理系统与丰富的软件源
        是一个与桌面级Linux使用的apt-get、yum等同级别的包管理系统,使用形如:opkg install xxxx-app的命令从互联网软件源中安装大约3000余种各种软件。3000款软件,数量没法跟手机的应用市场比,但是要知道,这里头的任何一个软件都来头不小,是经过Linux社区千锤百炼的东西,一个应用折腾一个月都玩不够。类型覆盖网络、音频、视频、编程开发、Linux系统管理等。当然,如果是专业比较偏的东西OpenWrt的软件源里还是不够完善,比如笔者团队用到的OpenCV的东西,源里就没有,就靠自己交叉编译了。
4、Luci WEB界面系统
        除CLI命令行终端界面外,不同于桌面级Linux使用屏幕GUI作为交互界面,OpenWrt使用WEB界面交互。而不同于传统路由器web管理界面的是,luci是用户可订制的,安装了支持luci的软件后,WEB界面系统就中出现了新的模块,而opkg本身也web化了。这个特征让用户感觉很像手机的app store。
5、积极、完整的社区
        OpenWrt与Arch Linux、Debian、FFmpeg、MinGW、PostgreSQL等开源领域重要的软件一起,是Software in the Public Interest, Inc.资助和保护的项目,OpenWrt社区在美国、欧洲、中国、俄罗斯有大量的追随者,有不计其数的分支和代码贡献者。社区活跃度非常高。
        这几个特征加起来,赋予OpenWrt比肩桌面级Linux和现代移动操作系统(Android)的用户体验,完全回避了传统嵌入式Linux的磨叽和枯燥,使一个小小的路由器真正成为完整的、现代的、开放的计算系统,降低了入门门槛,产生了大量非嵌入式专业的爱好者群体。OpenWrt框架的奠定者们和广泛的代码贡献者们,在桌面级和现代操作系统的理念下,也使OpenWrt成为嵌入式Linux领域个性十足而广受追捧的佼佼者。
        上面这几点中,我最看重的是第五点。社区对一个开源软件的发展起到了极大的推动作用,大家有秩序组织在一起,协作完成某个项目,同时有很多大的硬件厂商在幕后提供各种支持,甚至加入其中共同开发。而在国内相关社区里我们听到最多就是两种声音:第一种,某某大神放出一个含有各种广告和商业目的的固件,打着无私分享的旗帜,具体的源码根本不会公开;第二种,某某在商业项目中遇到问题,在论坛上各种发问,问题被解答后便悄无声息,根本不会回馈社区。这就是国内社区的大环境,所以当某位真正带动社区发展的个人或组织出现后,会显得格外耀眼。在这里发表一下个人观点:我们每个人都是开源软件的受益者,你周围的电子产品多少都会有一点开源软件的影子,只是你感觉不到,举一个最简单的例子Andorid就是开源的内核,IOS的底层也是基于开源内核FreeBSD和netBSD。当开源对你有帮助的时候一定要想着回馈,虽然个人的力量是有限的,但社区的良性循环就是依靠每一点星星之火的能量。
        眼下无线智能路由器的产业热度已经渐渐消退,大型团队入局,用户对产品越来越挑剔,获取流量的成本急剧攀升,越来越多的小玩家退场。路由器和手机行业有很大的不同,手机现在已经作为我们的一个器官每天与我们形影不离,而且我们经常花大量的时间与手机进行交互。但无线路由器却不同,用户最经典的做法就是,新路由器买回来,进行配置联网,成功后便扔到角落里,只要没有故障绝不多看一眼,所以在家用无线路由上面加的功能都不是大众用户的真正痛点,您没见TP-LINK的非智能路由器销量依然很高。所以我认为,家用路由器并不是OpenWrt的应用突破点,虽然OpenWrt作为家用路由器被大家认识,但它真正的用武之地是由路由器延伸出的其它领域,比如将OpenWrt植入到工业控制设备,前端数据采集设备,无人机,智能穿戴设备,所以在这里提醒大家,不要将OpenWrt局限在路由器上,我们可以把OpenWrt与一个最小系统结合,利用它的生态系统,结合自己独特的想象力,衍生出各种智能产品。
        在新型智能设备和机器人的热潮中,OpenWrt的价值也越来越得到人们的重视。相比Android系统,OpenWrt被认为是更加适应智能设备和机器人的平台。Android的整体设计构架全部着眼于重度依赖屏幕与人进行交互,导致从硬件到软件的设计上都严重依赖于图形界面的展示,有过多的GPU硬件加速和软件上的图形、3D库,而智能设备和机器人并不强调屏幕,相对更多地依赖于机械、网络与人进行交互,Android上的这些图形图像特征反倒成为影响功耗、系统尺寸、稳定性的负面因素。再加之相对于Android的Java虚拟机对效率的严重损耗,OpenWrt直接的原生二进制代码得到了更高的计算效率。在这个重新强调人工智能、机器学习,重新重视物理机械交互的新兴智能机器人的时代,我们有理由相信因为其纯正的Linux味道,小型化、亲近物理交互的特征,身为Linux社区与物理交互的最佳桥梁,OpenWrt会迎来新一轮的发展。
        WIFI使用的是不需要牌照的频谱,有着独特的优势,现在的5G也在向WIFI兼容,但WIFI的设计初衷并不是实现公众应用,所以WIFI在应用到大型场所的时候,同频干扰问题异常突出,这就需要从底层设计解决方案,现在的大厂商也都在陆续推出大型应用场景的解决方案,这也是一个很好得发展方向。
        OpenWrt之所以流行还有一个重要的因素是它的载体是随处可见的路由器,只要感兴趣,50RMB就能入手一个甚至更便宜,这种普及方式非常有利于兴趣产生后的实践过程,并不像航天梦想那样必须要有庞大的平台支撑才能展开。兴趣的产生只是一个开端,接下来面临的问题是怎样把兴趣变成能力,这个过程会淘汰掉一大批浅尝辄止的弟兄,有些问题的学习曲线不是三五年就能达到的,而且科班出身和扎实的基础知识是必须的。当技术控把兴趣转化为能力后问题又来了,能力还要转化为市场,市场的深奥可是技术宅们无法想象的,三分靠打拼,七分天注定。当市场成功后一定要回过头来回馈当初为你搭建兴趣平台的社区,比如现在阿里和百度越来越多的开源项目就是受益于开源并回馈开源的产物,这样才会形成一个良性循环。
        任何事物都有它的局限性,任何组织和个人的价值和能力也都是有限度的。

        由于时间和精力的因素,关于《路由器就是开发板》这个主题,我暂且写到这里,其实在我的规划里还有很多内容可以深入分析,比如U-Boot精巧的数据结构,OpenWrt的定制开发,这些东西都是很有意义的,这一系列只是作为一个入门级的科普材料让大家见笑了。当然,如果前几期的文章给了您很大的启发,让您产生了更多的想法,那我深感欣慰,因为这就是我的初衷。真的希望这只是一个开始,您可以在已有文档和思路的基础上迎接更大的挑战,得到更多的收获。


已标记关键词 清除标记
欢迎使用全球首款能接网卡的智能路由-荣欣路由,一直被模仿,从未被超越,请记住:荣欣科技 =========================================================================================================== 荣欣系统目前分为两个版本,M1系列和M2系列,不是M2就比M1新。 M2.2.9 加入迅雷远程下载,手机可以下载客户端远程查看迅雷列表 M1.2.4 加入迅雷远程下载,手机可以下载客户端远程查看迅雷列表 M2.2.6 1.解决旧款路由刷上系统之后,有线获取不了IP的问题。 2.重新添加多无线管理。 3.重新添加智能中继。 M2.2.5 1.根据5代和6代开发,把网口的序列纠正,1-4代的顾客请注意了,你们的lan1和wan口有可能是反过来的。 M2.2.4 1.更新新内核 2.加入原厂rtl8188ru驱动 3.更新NTFS新驱动,使用NTFS格式的顾客可以,吞吐量很惊人。 =========================================================================================================== M2.2.3 1.修复自身中继删除信号 2.加入自动识别硬盘,自动配置网络共享,直接打开我的电脑,在地址栏输入\\192.168.10.1即可访问移动储存设备。 M2.2.0 叠加软件加入全局开关,需要在多WAN负载均衡的配置哪里打开全局才会启动多WAN负载均衡 M1.2.1 叠加软件加入全局开关,需要在多WAN负载均衡的配置哪里打开全局才会启动多WAN负载均衡 M1.2.0 加入智能QOS和PPPOE服务器 M2.1.8 修复自身无线重启之后不能获取IP地址,更新无线中继智能控制脚本(待测试,不稳定的话就去掉,及时反馈) M2.1.6 修复了挂载RT3070网卡,修改了多WAN负载均衡的设置(请看新教程) M1.1.5 加入了M2.1.6的软件 M2.1.5 加入了叠加软件,广告过滤 M2.1.4 去掉刷机时默认保留配置,即刷机不保留配置,修复3070重新加信号需要删除wwan,无线驱动改用最新版本,可以当网卡 使用,也可以当AP,也可以当中继(当网卡用没有多无线控制) M1.1为新源码,主要特点有:防止系统恢复出厂无故丢失系统,无线自身网卡可当网卡使用(即不发射Ap),也能当中继使用, 但是路由必须接收到上一级信号,才会发射信号。主要解决问题:1.可能能减少无线的衰减 2.系统丢失 N2.8.1 添加了无线自身中继的多无线管理 N1.7.0 添加了无线自身中继的多无线管理 N2.8.0 修复多WIFI管理器的扫描信号,只适合3070网卡。使用方法:先接入一个信号,然后到wifi管理器加入3个信号,事实 上,路由一共可以加4个信号,第一次加进去的信号加入掉线,掉线之后会连接wifi管理器的无线信号①(首先连接),如此类 推。 N2.7.9 加入众多顾客要求的多wifi管理器,即一台路由输入多个无线在路由,并非同时连接多个信号,举个栗子:无线路由A 关闭了,路由会2分钟内自检,连接无线路由B,无线路由B连不上,会连接无线路由C。目前还不够完善,做不到自动连接信号 高的无线路由,有待完善,荣欣科技谢谢您的支持。 N2.7.8 为了自身的中继把无线300M下降到144M,兼容性更好,抗干扰更好,自身无线脚本自适应加密方式(解决获取IP但 是上不了网。)支持13频道,支持上级SSID空格。添加了打印机服务器。RT3070L,无线脚本自适应加密方式(解决获取IP 但是上不了网。)支持13频道,支持上级SSID空格。 N2.7.4 添加打印机服务器(成功运行),添加了无线叠加软件(测试中,可能需要更换),无线自身脚本稍微更改,N2的 系列的RT3070L脚本也更改了(可能会出现链接不上的情况,链接不上请使用N1系列),N1和N2系列均加了RTL8187驱动, 两个是不同的,请轮流测试。 =========================================================================================================== N1和N2主要的更新内容: N2系列 使用的是闭源的RT3070L驱动(性能比开源的要好)适合RT3070L、RT3072。适合连接家用的信号。 N1系列 使用的是开源的RT3070L驱动,适合RT2870,RT3070L,RT3072,具有无线信号绑定,即绑定一个信号点。 =========================================================================================================== 请支持正版,谢谢。
相关推荐
©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页