Kindle PaperWhite作为树莓派的命令终端
[复制链接]
其实网上已经有人做过类似的事情了,不过国外的好像用的而是老旧的Kindle3,国内的好像一般都是Kindle PaperWhite吧!参考了网上的一片教程,不过原作者是在Mac系统下完成的,我就写写在Win下实现的教程吧!大体上是一样的,不过有些小细节不太一样!
准备工作:
1,Raspberry Pi一台
2,已越狱的Kindle PaperWhite一台(越狱教程我不写了,网上大把,越狱文件在这里 )
3, USB转microUSB数据线2根,一根给Raspberry Pi供电,一根作为Kindle和Raspberry Pi的连接线
安装USBNetwork
USBNetwork 工具可以通过usb数据线连接kindle和另一台电脑,实现ssh登录。
安装步骤如下
下载Kindle-usbnet-0.1.5N.zip,解压以后仔细阅读README_FIRST.txt文件
将update_usbnet_0.15.N_install_touch_pw.bin拷贝到Kindle根目录 Kindle里工具栏菜单[设置]–> 工具栏菜单[更新您的Kindle],安装完成后会重启
安装完成以后Kindle更目录会多出一个usbnet目录和extensions\usbnet目录
编辑usbnet\etc\config文件,修改如下
[Shell] [color=rgb(51, 102, 153) !important]纯文本查看 [color=rgb(51, 102, 153) !important]复制代码
USE_WIFI="true"USE_OPENSSH="true"
开关USBNetwork模式
[AppleScript] [color=rgb(51, 102, 153) !important]纯文本查看 [color=rgb(51, 102, 153) !important]复制代码
在Kindle的搜索框内,输入;usbnetwork或者;un。再输入一个可以切换。
查看网络状态
[AppleScript] [color=rgb(51, 102, 153) !important]纯文本查看 [color=rgb(51, 102, 153) !important]复制代码
在Kindle的搜索框内,输入;711。可以查到当前无线网卡的IP地址
记下当前的IP地址!
如图,我的IP地址是192.168.1.104,后面需要用到!
接下来打开Kindle目录下的/usbnet/etc/config文件,找到KINDLE_IP=XXX.XXX.XXX.XXX这一行,并记下IP地址,后面也要用到
如图,我的IP是192.168.15.244
通过USB线登录Kindle
用USB线连接Mac和Kindle
默认Kindle会被挂载成存储设备,先弹出该设备
然后开启Kindle的USBNetwork模式
Win8.1j下的RNDIS/Ethernet Gadget驱动肯能会有些问题,其实Win7就已经自带驱动了,只是需要告诉系统这是一个网络设备,具体教程看这里
如果成功,网络连接那里会多出一个本地连接!
接下来配置这个以太网:
IP地址填写通过;711查到的那个,我的而是: 192.168.1.104
子网掩码:255.255.255.0
默认网关填写config文件里面查到的那个: 192.168.15.244
如图:
接下来我就可以用Putty通过SSH登陆Kindle了,IP地址填写192.168.15.244。但是问题来了,密码和用户名!!!用户名应该是root无疑,但是密码怎么破?!国外有大神用Python写了个脚本通过Kindle的序列号可以算出登陆密码,但是那个脚本是针对Kindle4和Kindle3的,我亲自试过已经不能用于Kindle PaperWhite了!怎么办?!没关系,Putty里面不是有个叫做PUTTYGEN.EXE的东西嘛~用它可以生产两个随机的密钥文件,一个放Kindle里吗,另一个放PC上,用这两个文件即可登陆!具体做法如下:
打开PUTTYGEN.EXE,点击 Generate,然后 根据提示随机移动鼠标来产生随机密钥(不依靠外借的话,电脑CPU无法产生真正的随机数~) 。
把生成后的 Public key for pasting into OpenSSH authorized_keys file 里面生成的文本复制下来,打开 /usbnet/etc 目录,将该目录下的config文件复制多一个,用记事本打开,把刚才复制的内容黏贴过去,并将文件重命名为 authorized_keys ( 不要有后缀,authorized_keys.txt是错误的 ),这个是公钥!
技巧:到etc的目录里,采用复制一个config文件的方式,重命名为authorized_keys,然后打开将公钥中生成的内容复制保存进去,不要用下面的按钮生成,也不要新建文本。( 那些存出来的不是LINUX格式的文本,否则login的时候总提示你连接超时不要说俺没提醒你 )。
然后点击软件的 save private key 按钮,取个名字(例如Private_keys),保存到本地硬盘,这个是私钥,运行Winscp程序时会使用这个文件。
打开WinSCP,主机名:192.168.15.244,用户名是root,密码空着,密钥文件用刚才保存在电脑上的那个PPK文件!
点击登录,应该就能登录到Kindle了!
安装KUAL和Kterm
KUAL是Kindle Unified Application Launcher的缩写,其作用是为越狱的Kindle启动第三方应用。简单的说通过一本特殊的书籍来统一实现启动触发器。
下载kindle-mkk-20140214
解压后将Update_mkk-20140214-k5-ALL_install.bin文件拷贝到Kindle根目录,Kindle安装.bin文件的方法都是一样的,Kindle里点击[更新您的Kindle],然后会显示安装进度,自动重启后完成。
下载KUAL V2.3
解压后将KindleLauncher-2.0.azw2文件拷贝到Kindle的/documents目录
断开连接后Kindle里多了一本《Kindle Launcher》的书,点开有一排可以启动的应用列表。
打开后是这样的
Extend
Extend是一组扩展的预编译好的linux命令行工具,让Kindle可以运行一些常用的linux命令,如:openssh,nano,screen,irssi,php,bash,rsync等。
下载optware_img_60m.zip 和kindle_extend-1.1.zip
解压kindle_extend-1.1.zip到kindle_extend-1.1目录
解压optware_img_60m.zip将optware.img文件替换kindle_extend-1.1/extend/optware.img文件
将kindle_extend-1.1目录下的extend和extensions子目录拷贝到Kindle更目录
然后打开WinSCP通过SSH登录Kindl,命令——终端,执行如下命令:
[Shell] [color=rgb(51, 102, 153) !important]纯文本查看 [color=rgb(51, 102, 153) !important]复制代码
[color=white !important][backcolor=rgb(108, 226, 108) !important][color=white !important]?
mntroot rw
mkdir /mnt/us/circles
cp /mnt/us/extend/mountd /mnt/us/circles
mntroot ro
/mnt/us/extend/install.sh
/mnt/us/extend/mount.sh
Kterm
Kterm是一个内置虚拟键盘的GTK+的Kindle终端模拟器
下载Kterm
解压后将此文件 替换kterm/bin/kterm文件。
然后将kterm文件夹拷贝到Kindle的extensions目录下
断开Kindle与电脑的链接,通过KUAL打开Kterm,随便Ping台机器试试。
配置Raspberry Pi的USB网络连接
安装了USBNetwork,Kindle已经可以通过数据线和Mac电脑连网,接下来配置Raspberry Pi的USB网络链接,使Kindle插入Raspberry Pi以后可以自动建立网络连接。
[Shell] [color=rgb(51, 102, 153) !important]纯文本查看 [color=rgb(51, 102, 153) !important]复制代码
[color=white !important][backcolor=rgb(108, 226, 108) !important][color=white !important]?
sudo vim /etc/network/interfaces
添加如下内容
#USB tethering
allow-hotplug usb0
iface usb0 inet static
address 192.168.15.1
netmask 255.255.255.0
broadcast 192.168.15.255
up iptables -I INPUT 1 -s 192.168.15.1 -j ACCEPT
up eject /dev/sda1
allow-hotplug usb0表示插入USB后自动加载网络配置
up eject /dev/sda1表示弹出Kindle自动挂载的磁盘分区
重启网络
[Shell] [color=rgb(51, 102, 153) !important]纯文本查看 [color=rgb(51, 102, 153) !important]复制代码
[color=white !important][backcolor=rgb(108, 226, 108) !important][color=white !important]?
sudo service networking reload
见证奇迹的时刻 断开Raspberry Pi和路由器的连接
使用数据线连接Kindle和Raspberry Pi
开启USBNetwork模式,Kindle的搜索框内,输入;un然后回车
打开Kterm键入
[Shell] [color=rgb(51, 102, 153) !important]纯文本查看 [color=rgb(51, 102, 153) !important]复制代码
[color=white !important][backcolor=rgb(108, 226, 108) !important][color=white !important]?
如果你的Raspberry Pi仍然连接这路由器,那么就把后面的IP地址改成Raspberry Pi当前的IP地址即可
若提示输入密,说明大功告成。
最后奉上美图一组:
最后亚马逊说送我一台Kindle Fire HD平板让我继续折腾。。。。好吧,亚马逊竟然对工程师这么好,有点感动~
赞赏
1
查看全部赞赏