考完研的人究竟有多无聊,家用路由器也能给折腾成Web服务器

本文记录了一位考研结束后利用华为路由器进行创新实践的过程。作者发现华为路由器搭载了OpenEE开发平台,允许插件开发。通过申请Debug版本固件,作者了解并开发了路由器插件,利用JVM在路由器上运行Web应用,实现了简单的Web服务器功能,甚至可以作为内部博客服务器或NAS。文章详述了开发环境搭建、Demo运行、权限配置等步骤,为有兴趣的读者提供了参考。
摘要由CSDN通过智能技术生成
  • 起因

  最近刚刚结束考研,开始有时间写文章了。在复习的时候中,经常忍不住折腾各种东西,于是有一天看中了我手上的华为路由器。什么?华为路由器,你可能有这样的疑问,华为路由器不是自研的芯片吗,就像我手上这台华为路由器,是华为自己研发的凌霄芯片,没有对外开放,怎么折腾呢?于是就有了以下的研究历程。

  • 折腾什么

  首先,能够折腾什么呢?就像我手上的树莓派一样,刷个OpenWrt系统轻而易举。可能有些人会有一些疑问,OpenWrt系统是什么?其实这就是一个开源的路由器操作系统,很多路由器的系统都是在此基础上进行开发的,这个系统的可玩性很高。但是华为路由器连固件下载都没有开放,折腾系统这条路就不太合适了。开发路由器插件呢?貌似可行,但此时我只知道路由器插件只能在华为路由器专用的市场上安装,而且路由器买了几年了,也就那么几个插件,主要都是IOT家电控制类的应用,但是这条路理论上可行,于是决定折腾路由器插件开发。

  • 申请Debug版本固件

  目前华为路由器只要是有插件应用市场的,理论上都支持路由器插件开发,其它品牌的路由器很多也是支持的,不过每种路由器开发的方式都不一样,可以参考官方提供的文档。目前我手上只有华为的路由器,型号是荣耀路由Pro2,这是几年前的一个路由器,已经都下市了,固件也不更新了,通过华为官网的文档,我发送路由器序列号给华为联系邮箱,等待路由器适配完成,更新一下固件,就转到了Debug版本。

  • 了解插件系统

  华为路由器运行了OpenEE开发平台,插件就是在此基础上进行开发,同时路由器硬件通过OSGI接口对外提供调用能力,插件运行在JVM上。JVM?没错,就是我们Java程序员喜欢的JVM。Debug版本可以直接用root用户登录到路由器运行的后台,基本Linux的命令都是支持的。然后我找到了路由器上的JVM研究了一下,其实就是研究了一下rt.jar的源码,这个JVM是极度精简的版本,很多和路由器运行无关类都去掉了,并且加了很多华为自己写的类,不过我们编写程序最常用的类还是没有精简的。

  插件开发分为前端和后端,后端可以基于JVM开发API接口供前端调用,前端可以直接使用HTML等任意前端技术进行开发,不过需要调用后端的API只能使用特定的函数,最后上传开发好的应用到路由器即可运行,同时应用也可以在路由器市场直接打开运行、卸载。

                      插件系统原理图

  • 跑通Demo

  可以根据官方文档进行操作,在这里我就不贴出链接了,大家如果有开发的需求,可以直接在华为开发者官网去搜索路由器开发文档即可,也可以和我讨论。首先,需要准备开发环境,JDK1.8、Maven基本就够了,然后运行官方脚本向Maven本地库导入几个华为自己的Jar包即可。

  Demo项目是Maven类型的项目,熟悉Java开发的应该很熟悉了,可以用自己喜欢的软件进行开发,比如我就喜欢使用idea进行开发。执行mvn install,就生成好了对应的Jar包&#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值