华为路由器固件类型-(华为路由器固件类型怎么选)

来源:191路由网 2022-11-11 20:02:32

华为路由器固件类型 (如何选择华为路由器固件类型) 起因

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

折腾什么

首先,能折腾什么?就像我手里的树莓派一样,刷一下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然后通过官方提供的脚本打包Apk文件,是的,是的Apk文件,但不是安卓上的Apk,相反,华为路由器对应Apk然后官方还提供了上传应用程序的工具,直接上传。

就这样,一个Hello Word应用程序跑到路由器上。只是官方提供的Demo项目没有前端,只能在后台控制台上查看相应的输出。如果需要开发前端,需要通过公网服务器上传相应的前端文件IP进行调用。

在路由器上跑Web服务器

Demo应用跑通了,接下来要做什么?由于路由器运行JVM,那么跑Web应用程序应该没有问题,我的路由器有512M内存,低负载Web应用程序应该没有问题。在此基础上,我们可以做任何我们想做的事情,比如做NAS服务器,当内部博客服务器等,当然,如果你有公共网络条件,也可以用作小型博客服务器,这里只讨论内部网络应用。JDK1.8本来内置了一个简单的内置HttpServer可惜路由器JVM简化了这一类,所以我写了以下类文件。

package ml.minli.tool.util;import javax.activation.MimetypesFileTypeMap;import java.io.*;import java.net.*;public class HttpServer extends Thread{ private final int port; private ServerSocket serverSocket; private static final MimetypesFileTypeMap mimetypesFileTypeMap = new MimetypesFileTypeMap(); public HttpServer(int port){ this.port = port; }@Override public void run(){ try{ serverSocket = new ServerSocket(port); while (true){ Socket socket = serverSocket.accept(); HttpRequestHandler httpRequestHandler = new HttpRequestHandler(socket); httpRequestHandler.handle(); socket.close(); }}catch (Exception e){ e.printStackTrace(); }finally{ if (serverSocket != null && !serverSocket.isClosed()){ try{ serverSocket.close(); }catch (Exception e){ e.printStackTrace(); }}}}private static class HttpRequestHandler{ private final Socket socket; public HttpRequestHandler(Socket socket){ this.socket = socket; }public void handle(){ try{ StringBuilder stringBuilder = new StringBuilder(); InputStreamReader inputStreamReader = new InputStreamReader(socket.getInputStream()); char[]chars = new char[1024]; int mark; while ((mark = inputStreamReader.read(chars)) != -1){ stringBuilder.append(chars, 0, mark); if (mark < chars.length){ break; }}if (stringBuilder.length() == 0){ return; }//截取每行请求 String[]lines = stringBuilder.toString().split("\\r\ "); if (!lines[0].isEmpty()){ //截取URL String[]infos = lines[0].split(" "); String info = URLDecoder.decode(infos[1], "UTF-8"); File file; if (info.equals("/")){ file = new File(USBInfo.usbPath "/index.html"); }else{ file = new File(USBInfo.usbPath info); }//文件不返回404 if (!file.exists()){ socket.getOutputStream().write(("HTTP/1.1 404 Not Found\\r\ " "Content-Type: text/html; charset=utf-8\\r\ " "\\r\ ").getBytes()); return; }String contentType = mimetypesFileTypeMap.getContentType(file); socket.getOutputStream().write(("HTTP/1.1 200 OK\\r\ " "Content-Type: " contentType "; charset=utf-8\\r\ " "\\r\ ").getBytes()); FileInputStream fileInputStream = new FileInputStream(file); byte[] b

点击展开全文

相关阅读

路由器红灯闪还可以联网-(路由器红灯闪还可以联网嘛)

路由器红灯闪也可以联网(路由器红灯闪也可以联网嘛)1.光猫光接口有问题,需要更换光猫。插入接头即可恢复。2.室内光纤弯曲过大。是设备的网卡故障路由器3、line指通过互联网反馈的信号或信号modern时,data指数据、wifi等等,常亮代表无线信号,一般在路由器中打开无线信号会常亮,闪烁代表设备通过wifi进行联网。光猫出现故障,导致光纤信号无法正常转换。5.光纤尾纤...

2022-11-11

华为路由器固件类型-(华为路由器固件类型怎么选)

华为路由器固件类型(如何选择华为路由器固件类型)起因最近考研刚结束,有时间写文章。在复习的时候,我经常忍不住折腾各种各样的东西,所以有一天我看中了华为路由器。什么?华为路由器,你可能会有这样的问题,华为路由器不是自己开...

2022-11-11

三星笔记本维修教程视频教程-(三星笔记本维修教程视频教程下载)

三星笔记本维修教程视频教程(下载三星笔记本维修教程视频教程)等待知名的维修团队iFixit拆解GalaxyS21在系列中,知名评估频道PBKReview今天又发布了GalaxyS21拆卸视频。此前,数字频道已经发布GalaxyS21和GalaxyS21Ultra的拆解,而S21...

2022-11-11

u盘pe网络版-(u盘pe下载)

u盘pe网络版(u盘pe下载)制作U盘PE系统超详细步骤大家好,今天给大家带来一个计算机知识,如何制作自己的知识PE说白了,优盘就是系统U盘。有时在家里,电脑出现蓝屏、黑屏、文件丢失、病毒等原因,导致电脑瘫痪,从而影响我们的工作,但不得不去附近的电脑店重新安装系统,安装系统也需要30、50个价格,也...

2022-11-11

win7文件夹取消分组排列-(win7文件夹分组怎么取消)

win文件夹取消了分组排列(win7如何取消文件夹分组?Windows11虽然系统引入了大量的视觉改进,但仍需进一步抛光。任务栏中缺少的一个功能是支持取消应用图标分组和显示标签。在FeedbackHub上,用户认为Windows11由于这极大地影响了他们的工作效率...

2022-11-11

191路由网 - 192.168.1.1,192.168.0.1无线路由器设置教程

版权声明:本站的文章和图片来自互联网收集,仅做分享之用如有侵权请联系站长,我们将在24小时内删除