可以把文,件 自动 上传到小米路由器上传文件吗

您的位置: >
小米路由器如何设置硬盘映射
前言,本文仅针对刚入手小米路由器的电脑小白们,还请各位大神一笑置之。
相信很多购买了小米路由器的童鞋们在产品到手后,会迫不及待的开箱并将之迅速组装之自己的电脑上,之后马上下载各类喜欢的电脑、音乐等等文件,但是在打开自己的计算机后,却茫然地找不到小米路由器的硬盘在哪。如果在看完以上文字后,你不幸躺枪,那么请随笔者一起来学习下小米路由器的硬盘映射教程吧。
打开计算机,小米路由器却无从查找,真心让人捉急......
  别着急,请随笔者一起来,首先请点击&网络&,
  然后就可以在一堆乱七八糟的东西中发现&XIAOMI&字样,
  是否有些鸡冻,好的开端是成功的一半,我们已经完成&一半&啦!
  双击&XIAOMI&,发现&XiaoMi&,下发还有&共享&字样。
  没错!这就是小米路由器的共享文件夹!
  再双击&XiaoMi&,进入共享文件夹发现更多文件夹,慢慢接近成功中......
  进入TDDOWNLOAD,哇塞!粗线了!所有下载的文件都粗线了!
  既然已经发现目标,那么我们就不要让它溜走,
  返回计算机,点击&映射网络驱动器&,准备&捕捉&计划......
  在弹出的窗口中,我们可以选择喜欢的驱动器盘符和网络文件夹位置
  点击驱动器在下拉菜单中选择一个吧,笔者默认选择Z盘......
  点击&浏览&,跳出窗口中的内容我们非常眼熟哈!
  点击&XIAOMI&,可以随意选择一个需要映射的文件夹哦!
  没有选择困难症的童鞋一定已经选择完毕,那么点击&完成&吧!
  系统提示连接中,不过笔者的这个界面一闪而过
  系统连接完毕后,会自动打开映射的网络驱动器盘
  返回计算机,网络位置处多了一个盘,大功告成!
  最后,附送卸载网络驱动器的方法,只需在网络驱动器盘上右键鼠标,
  在出现的菜单中选择&断开&,整个世界恢复清净......
  以上就是笔者给各位新入手小米路由器的建议,希望各位会喜欢!
上一篇:没有了
【小米路由器如何设置硬盘映射】相关的文章小米路由可否把移动硬盘或U盘里面的文件自动备份到百度云去_小米路由吧_百度贴吧
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&签到排名:今日本吧第个签到,本吧因你更精彩,明天继续来努力!
本吧签到人数:0成为超级会员,使用一键签到本月漏签0次!成为超级会员,赠送8张补签卡连续签到:天&&累计签到:天超级会员单次开通12个月以上,赠送连续签到卡3张
小米路由可否把移动硬盘或U盘里面的文件自动备份到百度云去收藏
新手,请教下如何实现把移动硬盘里的文件 让小米路由自动备份到百度云里去这样我就不用老是开着电脑让它上传,太耗电了。
不支持百度云
登录百度帐号推荐应用
为兴趣而生,贴吧更懂你。或小米路由器插件开发文档
| 小米应用开发者文档
小米路由器的插件分为两种,一种是在路由器里面存在可执行文件的插件(本文档暂不支持),一种是没有可执行文件的插件,但是这两种类型的插件都有一个web控制页面,以下简称控制页面 。
控制页面是一个标准的 web 服务,所有插件的前端开发等同于 web 服务的开发。
用户通过插件的 web 页面查看路由器的状态和管理路由器。开发者只要熟悉 html, javascript, css等知识即可进行插件的开发。
2.1 申请路由器应用
开发者需要登录小米开发者中心(/)注册开发者账号,然后在“路由器插件”模块中申请“创建路由器插件” 。
申请成功后,会获得服务器分配的(AppID,AppKey,AppSecret),用来标识和验证开发者的身份。
还会有插件的基本信息,这些基本信息在下文的xiaomi.project文件里会用到。
2.2 开通小米账号接入服务
申请路由器应用之后,在对应的插件应用页面下方有“账号接入服务” 需要启用该服务。
启用该服务的时需要填写回调地址。 注意:回调地址要填写开发者实际的前端地址,用户授权后跳转的地址要与这个地址进行域名验证。否则验证不通过的话会无法访问插件。这个回调地址是可以随时更改的。
2.3 准备 Web 服务器
插件 web 资源并不保存在小米的服务器上,所以开发者需要将 web 资源(html, js, css,image 等)存放到一个外网可访问的 Web 服务器上。
开发者在开发插件的时候,只需要在本地运行一个 web 服务器也是可以的。
开发者可以使用 httpd, tomcat, IIS 等自己熟悉的Web 服务器 。
这里简单起见,以node.js为例,在linux环境下搭建一个简单的web服务器
首先要在Linux上安装nodejs
git clone git:///joyent/node.git
./configure
sudo make install
接着写个简单的server.js脚本通过node执行可以作为一个简单的web服务器使用。
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
).listen(80, "127.0.0.1");
console.log('Server running at http://127.0.0.1:80/');
最后保存server.js,在命令行中敲入
node server.js
不出问题的话web服务就会正常启动,输出
Server running at http://127.0.0.1:80/
在浏览器里面访问http://127.0.0.1:80/,就会输出Hello World
如果出现错误,可能要检查端口是否被占用,以及使用管理员权限运行。端口被占用的话执行(下面的例子是假设80端口被占用了)
lsof -i :80|grep -v "PID"
kill -9 PID
2.4开发者自己生成公私钥对、证书申请文件
开发者自己生成自己的公私钥对、证书申请文件(linux方法,windows方法见下面2.5
a、开发者生成自己的密钥:
openssl genrsa -out client.key 1024
chmod 400 client.key (修改权限为仅root能访问)
openssl rsa -noout -text -in client.key (查看创建的证书)
b、开发者生成自己的证书申请文件。
openssl req -new -key client.key -out client.csr (注意:Common Name填写小米账号比如,注意不能填邮箱或者手机号,否则会验证不通过)
openssl req -noout -text -in client.csr (查看创建的请求)
c、开发者将证书申请文件交给小米服务器,在路由器插件模块里面点击“申请开发者证书”按钮。然后服务器会返回一个.pem格式的证书文件,保存该文件和a步骤生成的client.key文件,在2.5步骤里面会用到这两个文件。
2.5 下载打包工具
Linux打包工具使用方法:
Linux 打包工具使用方法:
下载前需要安装的库:
sudo apt-get install openssl
sudo apt-get install libzip-dev
下载 x64 打包工具:
下载 x86 打包工具:
解压会得到两个文件,一个是可执行文件plugin_packager,一个是xiaomi.project文件。根据提示开发者自己编辑xiaomi.project文件,然后运行plugin_packager,plugin_packager会读入xiaomi.project文件(xiaomi.project文件下文会详细介绍,详见2.6) ,并且根据xiaomi.project文件的配置信息生成app.mpk(windows下是appSigned.mpk)文件,这个文件就是需要上传服务器的签名后的压缩包。
Windows打包工具的使用方法:
key和证书申请文件的生成脚本,运行gencsr.bat 可以生成key和csr文件,key 是私钥,csr文件是开发者证书申请文件,利用csr文件在上换回pem文件
打包工具,用户填入所有的信息并选择key和pem文件,就会自动生成mpk
打包工具:
工具依赖于.Net 4.5
Net 4.5安装包:
windows打包工具截图
2.6 xiaomi.project文件的内容
xiaomi.project文件在小米路由器插件的配置文件,插件的基本信息都在xiaomi.project文件里记录。
#请输入插件ID。(即在2.1里面获取到的AppID)
plugin_id= "7167149";
#请输入插件名称。(即在2.1里面获取到的插件名称)
name= "miroutertest";
#请输入插件介绍。(自定义插件的详细介绍)
introduction= "this is a test plugin introduction";
#请输入插件简介。(即在2.1里面获取到的简介)
summary= "小米路由器插件test";
#已安装插件图标URL。(即在2.1里面获取到的已安装插件图标URL)
small_icon= "http://file./download/AppStore/594aa36f-c-8e44-ef751ef66c49";
#插件详情图标URL。(即在2.1里面获取到的插件详情图标URL)
large_icon= "http://file./download/AppStore/00830c6f-db49-0f88010e2f";
#可安装插件图标URL。(即在2.1里面获取到的插件可安装插件图标URL)
not_installed_icon="http://file./download/AppStore/ffe07b2b-34c4-4dc3-bce4-2a";
#开发者名称。(即在2.1里面获取到的开发者名称)
developer= "xiaomi";
#请输入插件版本号(格式:xx.xx.xx)(即在2.1里面填写的插件版本号) 。
version= "1.0.0";
#请输入插件控制页面url。(即在2.2帐号接入服务里面填写的回调地址,该地址必须host在公网上,浏览器或者手机app端就是调用这个control_url来控制插件)
control_url= "";
#请输入打包目录(如果插件没有可执行文件,可不用填写)。
zip_path= "";
#请输入开发者证书文件路径。(即在2.4里面获取到的证书文件,.pem格式)
pem_path= "/home/ltj/build/.pem";
#请输入私钥文件路径。(即在2.4里面获取到的私钥文件,.key格式)
key_path= "/home/ltj/build/.key";
2.7本地安装插件
mpk文件在路由器内的安装方法
将mpk文件放到手机里,然后用小米路由器手机客户端上传该mpk文件到路由器里面。(具体的UI入口在“扩展插件”里面,右上角有个menu,点击后会提示上传插件并安装,安装完毕后在已安装插件里面就能看到自己的插件。这里需要注意上文说的control_url一定要在公网上,否则手机app的webview控件会无法访问该control_url)
这里举一个插件的例子,插件的功能是下载一个url到路由器里面。 开发平台是Ubuntu 64bit。
先写一个server.js,具体内容如下
var http = require("http"),
url = require("url"),
path = require("path"),
fs = require("fs"),
rootDir = "/home/test/www/"; // 这里 rootDir 修改成自己的目录
http.createServer(function (req, res) {
var pathname=rootDir+url.parse(req.url).
if (path.extname(pathname)=="") {
pathname+="/";
if (pathname.charAt(pathname.length-1)=="/"){
pathname+="index.html";
console.log(fs);
path.exists(pathname,function(exists){
if(exists){
switch(path.extname(pathname)){
case ".html":
res.writeHead(200, {"Content-Type": "text/charset=utf-8"});
case ".js":
res.writeHead(200, {"Content-Type": "text/javascript"});
case ".css":
res.writeHead(200, {"Content-Type": "text/css"});
case ".gif":
res.writeHead(200, {"Content-Type": "image/gif"});
case ".jpg":
res.writeHead(200, {"Content-Type": "image/jpeg"});
case ".png":
res.writeHead(200, {"Content-Type": "image/png"});
res.writeHead(200, {"Content-Type": "application/octet-stream"});
fs.readFile(pathname,function (err,data){
res.end(data);
res.writeHead(404, {"Content-Type": "text/html"});
res.end("&h1&404 Not Found&/h1&");
}).listen(80, "127.0.0.1");
console.log("Server running at http://127.0.0.1:80/");
执行sudo node server.js
Server running at http://127.0.0.1:80/
如果出现错误请看2.3 去小米开发者中心执行2.1和2.2,获取到appID,接入小米帐号服务 Oauth的说明: 用户在第一次使用插件时, 插件会跳转到授权页面,引导用户授权插件使用自己的设备; 授权成功之后,插件拿到 access token, 进而调用服务器的 API 去执行一些操作, 完成插件的功能。其中的具体流程有些复杂的,遵循 OAuth2.0 标准,详情参见 的开发文档。为了简化开发, 我们将上述流程简单封装成一个 javascript 的 API。下面的开发说明就是基于这个 API 进行的。
绑定host(方便本地调试用):
还记得我们在2.2步骤里面在小米开发者中心填写的回调地址吗,假设为/,那么开发者需要将 127.0.0.1 绑定到。
Linux环境下执行:
sudo vim /etc/hosts
保存后退出
Windows环境下以管理员权限在C:\Windows\System32\Drivers\etc\hosts 文件 添加
完成基本UI代码:
在/home/test/www 目录下,我们新建一个文件夹 firstapp。在文件夹内,新建 index.html文件。输入下面内容代码。
在 head 标签中,我们引用了 router_request.js, 里面包含了我们封装的 API 使用方法。因为是依赖 jquery 的,所以必须也要引用 jquery.js,版本使用 1.9.0 以上即可。
&meta http-equiv="content-type" content="text/ charset=UTF-8"&
&script src="/ajax/libs/jquery/1.9.0/jquery.js"&&/script&
&script src="/js/router_request.js"&&/script&
&title&一个小强插件&/title&
&h1&下载一个指定的Url到路由器&/h1&
&input type="button" value="获取设备列表" id="list_button"&
&table id="device_table"&&/table&
&p&输入url&/p&&input type="text" id="router_name_text"&
&input type="button" value="提交" id="change_name_button"&
这里 /js/router_request.js,文件我们可以在外网上访问,我们已经把它封装成一个api。 打开将会得到下面的页面。(如果看不到内容,请按ctrl+F5,强制刷新,注意ctrl+F5和直接F5的区别)
向服务器发起 API 请求
当用户点击“获取列表”的时候,应该出现用户的路由器信息列表。当用户选择 某一个设备之后,填入了新名字,点击“提交更改”,那么就应该发起更改名称的请求; 如果请求成功了,再点击“获取列表”,将得到新的名称。我们将使用 routerRequest.request 方法完成这个任务。 这里我先直接给出如何使用这个方法获得设备列表,然后再逐一解释这个方法的参数。
path:是传入的 API 请求的路径, 不同 API 的请求路径是不同的。这里使用的是
/api-third-party/deviceList 来获取设备列表。
data:是请求的参数。appId 是必须要传入的,用来验证开发者的插件的身份。
success:如果请求成功,会回调 success 对应的函数。 注意,这里的请求成功不代表操
作成功。参数 data 是一个 json 结构,判断 data.code 是不是 0 可以知道请求的结果。
error: 如果出现授权失败,网络故障等问题会回调 error 对应的函数。
type: 请求的方法可以是“POST”或者是“GET”, 默认是 GET。下面代码中使用的是 默认的。
插件授权:
如果尚未得到用户授权,那么就请求用户授权。
通过routerRequest.hasAccessToken()判断插件是否已经拿到用户的授权,如果没有就使用 routerRequest.authorize(directUrl, appId)方法, 跳转到小米用户授权页面,显式的让用户授权给 appId 对应插件。授权完毕之后,会自动跳转到 directUrl 指定的 url 。注这个 directUrl 必须与小米开发者中心接入账号服务中填写的回调地址的域名一致。
if (!routerRequest.hasAccessToken()) {
routerRequest.authorize(window.location.href, appId);
以下是完整的index.html的代码
&meta http-equiv="content-type" content="text/ charset=UTF-8"&
&script src="/ajax/libs/jquery/1.9.0/jquery.js"&&/script&
&script src="/js/router_request.js"&&/script&
&title&一个小强插件&/title&
&h1&下载一个指定的Url到路由器&/h1&
&input type="button" value="获取设备列表" id="list_button"&
&table id="device_table"&&/table&
&p&输入url&/p&&input type="text" id="url_text"&
&input type="button" value="提交" id="download_button"&
&script type="text/javascript"&
var appId = "7167149"; //这里的appId一定要换成自己的appId,详见步骤2.1
var select_deviceId;
$(document).ready(function() {
if (!routerRequest.hasAccessToken()) {
routerRequest.authorize(window.location.href, appId);
$("#list_button").click(function() {
routerRequest.request({
path: "/api-third-party/deviceList",
appId: appId
success: function(data) {
var response = jQuery.parseJSON(data);
if (response.code != 0) {
alert("错误:" + response.msg);
var devices = response.deviceL
$("#device_table").empty();
devices.forEach(function(device) {
$("#device_table").append(
"&tr&&td&设备名称&/td&&td&设备ID&/td&&td&&/td&&/tr&"
+ "&tr&&td&" + device.name
+ "&/td&&td&"
+ device.id
+ "&/td&&td&&input type='radio' id='deviceId' onclick='select_deviceId=\""
+ device.id
+ "\";'&&/td&&/tr&"
error: function(data) {
console.log("error:", data);
alert("获取设备列表失败");
$("#download_button").click(function() {
var url = $("#url_text").val();
if (!select_deviceId) {
alert("请选择一个设备");
if (!url) {
alert("请输入url");
routerRequest.request({
path: "/api-third-party/service/datacenter/download_file",
appId: appId,
deviceId: select_deviceId, //deviceId必须要带上,否则不知道让哪个路由器下载
success: function(data) {
var response = jQuery.parseJSON(data);
if (response.code != 0) {
alert("错误:" + response.msg);
alert("新建下载成功");
error: function(data) {
console.log("error:", data);
alert("新建下载失败");
index.html中,请求下载的时候调用的是
path: "/api-third-party/service/datacenter/download_file"
对应的HTTP Core Api是3号:下载一个指定的Url到路由器, /api-third-party/service/datacenter/download_file。
打包插件: 打包插件的流程,先填写xiaomi.project文件,再执行plugin_packager。打包完成后即可看到app.mpk这个文件。 在路由器上本地安装插件: 然后按照步骤2.7就可以在本地安装插件啦。 使用插件: 在浏览器里面输入,选好一个设备ID,输入下载的链接,下载成功就会出现下面的情景。下载成功后通过手机app就能在路由器文件管理的下载目录里看到啦。在手机的应用中心里也会有对应的插件信息。
卸载插件: 在手机app里面,扩展插件里面找到自己安装的插件,右上角有menu按钮,点击弹出卸载选项。
上传插件到插件商店: 在里面对应的路由器插件里面即可上传刚才打包后的app.mpk。
四、可供开发者调用的HTTP Core Api
1号:获取设备信息
URL GET /api-third-party/device
appId: app id
{“code”:+, “device”:{“id”:””,”idForVendor”:””, “name”:””}}
2号:获取设备列表信息
URL GET /api-third-party/deviceList
appId: app id
{“code”:+, “deviceList”:[{"id":"","name":"}]“}}
3号:下载一个指定的Url到路由器
POST /api-third-party/service/datacenter/download_file
appId: app id url: the url to be downloaded path(optional):下载路径,根据每个app创建的目录为根目录。如果传空或者不传则下载到/userdisk/data/下载/文件夹下。 hidden(optional):true,false,表示是否是用户不可见的下载项目,默认为false。 downloadName:下载文件的存储名字
{“code”: 0, “msg”: “”, “downloadId”: +, “deviceId”: &#b1-037f-4d89-bb38-4d12*******”} 1、返回值中的downloadId是该下载项目的id,在一个路由器上是唯一的; 2、deviceId是路由器的唯一标识,通过deviceId和downloadId可以唯一确定一个文件 {“code”:1, “msg”:”parameter missing”} {“code”:3, “msg”:”Parameter format error” } {“code”:5, “msg”:”invalid app id” } { “code”: 2010, “msg”: “duplicate url”, “dupId”: + }
4号:根据id查询下载项目的信息
URL GET /api-third-party/service/datacenter/download_info
appId: app id deviceId: device id of router downloadId: download id hidden(optional):true,false,表示是否是用户不可见的下载项目,默认为false。
{“code”:0, “msg”:””, “url”: “/api-third-party/data/12345/image/1.jpg”} 通过url可以下载downloadId对应的文件 {“code”:1, “msg”:”parameter missing” } {“code”:3, “msg”:”Parameter format error” } {“code”:5, “msg”:”invalid app id” } {“code&#, “msg”:”invalid device id” } {“code&#, “msg”:”resource is not ready” } {“code&#, “msg”:”datacenter error” }
5号:获得app的自定义配置信息
URL GET /api-third-party/service/datacenter/config_info
appId: app id key:配置选项的key
{“code”:0, “msg”:””,”value”:”test_value”} {“code”:1, “msg”:”parameter missing” } {“code”:3, “msg”:”Parameter format error” } {“code”:5, “msg”:”invalid app id” }
6号:设置app的自定义配置信息
URL GET /api-third-party/service/datacenter/set_config
appId: app id key:配置选项的key value:配置选项的value
{“code”:0, “msg”:””,”value”:”test_value”} {“code”:1, “msg”:”parameter missing” } {“code”:3, “msg”:”Parameter format error” } {“code”:5, “msg”:”invalid app id” }
7号:批量获取下载任务信息
URL GET /api-third-party/service/datacenter/batch_download_info
appId: app id ids:需要获取信息的id,以逗号分割,例如&#″ hidden:true,false,表示是否是用户不可见的下载项目,默认为false。
{“code”:0, “msg”:””,”value”:”test_value”} {“code”:1, “msg”:”parameter missing” } {“code”:3, “msg”:”Parameter format error” } {“code”:5, “msg”:”invalid app id” } { “code”: 0, “msg”: “”, “list”: [ { "id": "1", "address": "http:\/\/\/bmiddle\/5823207fjw1e7bzefeaa0j20t62lhqre.jpg", "localFileName": "download1.jpg", "type": 1, "datacenterErrorCode": 0, "downloadSpeed": 0, "downloadStatus": 1, "fileDownloadedSize": 0, "fileTotalSize": 195735 } { "id": "3", "address": "http:\/\/\/bmiddle\/5823207fjw1e7bzefeaa0j20t62lhqre.jpg", "localFileName": "download1.jpg", "type": 1, "downloadStatus": 4, "fileTotalSize": 195735, "finishedTime":
} ] } id: 下载任务的Id address:url localFileName:文件本地位置 type:下载类型(详见下方列表) downloadSpeed:下载速度 downloadStatus:下载状态(详见下方列表) percent:下载进度 fileDownloadedSize:已下载文件大小(byte) fileTotalSize:文件总大小
8号:获取插件下载任务信息
URL GET /api-third-party/service/datacenter/plugin_download_info
appId: app id hidden:true,false,表示是否是用户不可见的下载项目,默认为false。
{“code”:0, “msg”:””,”value”:”test_value”} {“code”:1, “msg”:”parameter missing” } {“code”:3, “msg”:”Parameter format error” } {“code”:5, “msg”:”invalid app id” } { “code”: 0, “msg”: “”, “list”: [ { "id": "1", "address": "http:\/\/\/bmiddle\/5823207fjw1e7bzefeaa0j20t62lhqre.jpg", "localFileName": "download1.jpg", "type": 1, "datacenterErrorCode": 0, "downloadSpeed": 0, "downloadStatus": 1, "fileDownloadedSize": 0, "fileTotalSize": 195735 } { "id": "3", "address": "http:\/\/\/bmiddle\/5823207fjw1e7bzefeaa0j20t62lhqre.jpg", "localFileName": "download1.jpg", "type": 1, "downloadStatus": 4, "fileTotalSize": 195735, "finishedTime":
} ] } id: 下载任务的Id address:url localFileName:文件本地位置 type:下载类型(详见下方列表) downloadSpeed:下载速度 downloadStatus:下载状态(详见下方列表) percent:下载进度 fileDownloadedSize:已下载文件大小(byte) fileTotalSize:文件总大小 pluginId:插件Id tag:用户自定义标签
9号:开启插件
URL GET /api-third-party/service/datacenter/plugin_enable
appId: app id
{“code”:0, “msg”:””,”value”:”test_value”} {“code”:1, “msg”:”parameter missing” } {“code”:3, “msg”:”Parameter format error” } {“code”:5, “msg”:”invalid app id” }
10号:关闭插件
URL GET /api-third-party/service/datacenter/plugin_disable
appId: app id
{“code”:0, “msg”:””} {“code”:1, “msg”:”parameter missing” } {“code”:3, “msg”:”Parameter format error” } {“code”:5, “msg”:”invalid app id” }
11号:删除下载任务
URL GET /api-third-party/service/datacenter/download_delete
idList:用分号分隔开的下载任务ID deletefile 是否同时删除文件 appid 插件id
{“code”:0, “msg”:””} {“code”:1, “msg”:”parameter missing” } {“code”:3, “msg”:”Parameter format error” }
五、联系我们
技术支持:
公共邮箱:
路由器支持邮箱}

我要回帖

更多关于 远程上传到小米路由器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信