查看: 39690|回复: 87
收起左侧

[硬件与DIY] AEP-网页控制树莓派软件.在世界任何角落吃树莓派.

2013-4-16 03:51:07 | 显示全部楼层 |阅读模式
本帖最后由 qinth 于 2013-4-16 03:52 编辑

AEP—Anywhere eat Raspberry Pi, 是我的毕业设计,原设计理念只在于用安卓手机控制树莓派(Android Eat Raspberry Pi)。
现在基本完成了命令行段设计和初步的图形端设计(由于运行速度原因只可以当成监控桌面使用)。在此发布测试,希望大家多多支持,由于服务器本身是树莓派,会存在一定延迟,建议大家采用安装在自己树莓派方式运行。
项目地址:http://www.aepwiki.tk/
备用地址:http://www.aepwiki.cz.cc/
感谢shamiao  ukonline2000 还有打望两江的支持!

命令行模式使用方法:
首先在树莓派上安装OpenSSH, Raspbian上已经安装了,只需要用户打开就可以运行.安装命令行为
  1. sudo apt-get install openssh-server ssh
复制代码
打开网站然后登陆:
http://www.aep.cz.cc/
如果你将自己建立服务器在树莓派上(安装过程在后面),那么登陆网址是你的Ip地址加上端口号以及文件夹名字,例如你的树莓派内网Ip地址是 192.168.1.100.那么登陆网页地址就是:
http://192.168.1.100:8080/AEPweb
当你进入网站成功你会看到安全登陆界面:

在这里的用户名和密码为
游客,如果您要查看本帖隐藏内容请回复
.
在这里使用安全登陆界面是为了防止服务器被攻击……手段略低端,请忽略……
成功登陆以后你会见到使用界面,就和正常使用Ssh登陆方法一样即可。


在这个页面中选项为:

  • Host - IP or DDNS Address of your Raspberry Pi
  • Port - SSH Port which default setting is 22.
  • Username - The Root user name for your Raspberry Pi.In Raspbian default setting is pi.
  • Authentication Type - Choose User use password or key file to Login.
  • Password - If user choose password login, user need enter password.
  • Key file & Key Passphrase -If user choose key file to Login,user need upload.
  • Channel Type - User can choose Shell(Command Line) or File to Control Raspberry Pi.
这里基本大家可以了解 我就不写成中文了……
这个软件可以选择命令行模式和文件夹模式,

命令行模式可以和Ssh一样输入命令控制树莓派,请注意Sudo的使用。

文件夹模式可以上传和删除你的树莓派文件夹内的文件。
本身有一段视频是演示用此界面控制U大写的GPIO 控制Led跑马灯效果的,我发在油土鳖上,晚些时候传到国内网上吧。

上面就是一些基本的使用教程,如果你想安装此软件在你的树莓派上和使用动态域名,下面我会简单的介绍一下。
  • 安装AEP在树莓派上
  1.1 配置服务器运行环境
  1. sudo apt-get install openjdk-7-jdk
复制代码
此时你的JDK会被安装在此目录下
  1. /usr/lib/jvm/java-7-openjdk-armhf
复制代码
用命令行检查一下你的JDK安装信息
  1. java -version
复制代码
你会得到如此反馈
  1. java version “1.7.0_07″
  2. OpenJDK Runtime Environment (IcedTea7 2.3.2) (7u7-2.3.2a-1+rpi1)
  3. OpenJDK Zero VM (build 22.0-b10, mixed mode)
复制代码
1.2 安装Apache Tomcat服务器
官方软件库本身自带,但是我更推荐自己下载后安装,因为功能上更适合,跟着步骤做就可以了……
First Download Tomcat 7 from the Homepage. There are command to download tomcat 7.0.37 in /download Directory.
  1. cd downloadwget <a href="http://mirror.ox.ac.uk/sites/rsync.apache.org/tomcat/tomcat-7/v7.0.37/bin/apache-tomcat-7.0.37.tar.gz" target="_blank">http://mirror.ox.ac.uk/sites/rsy ... omcat-7.0.37.tar.gz</a>
复制代码
Move And Unzip
Move package to location and unzip it.
  1. sudo mv apache-tomcat-7.0.37/ /usr/local/tomcatsudo tar -zxvf apache-tomcat-7.0.37.tar.gz
复制代码
Set Up Tomcat User And Group
In this part, user need set up tomcat as web server in Raspberry Pi.
  1. sudo groupadd tomcatsudo useradd -g tomcat -d /usr/local/tomcat tomcatsudo usermod -G www-data tomcat
复制代码
INIT File
This is INIT File for start, stop and restart for Tomcat, it would need use the Java Development Kit path, there user can use nano or vim to edit it.
  1. sudo nano /etc/init.d/tomcat
复制代码
when user open finished create init file, in put follow information in it:
  1. #Tomcat auto-start
  2. #description: Auto-starts tomcat
  3. #processname: tomcat
  4. #pidfile: /var/run/tomcat.pid
  5. #this path should point to your JAVA_HOME Directory
  6. export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-armhf
  7. case $1 in
  8. start)
  9. sh /usr/local/tomcat/bin/startup.sh
  10. ;;
  11. stop)
  12. sh /usr/local/tomcat/bin/shutdown.sh
  13. ;;
  14. restart)
  15. sh /usr/local/tomcat/bin/shutdown.sh
  16. sh /usr/local/tomcat/bin/startup.sh
  17. ;;
  18. esac
  19. exit 0
复制代码
Adjust Permissions the INIT file use follow line:
  1. chmod 755 /etc/init.d/tomcat
复制代码
Auto-start on boot
There is an optional for user, if you want always use AEP when you Raspberry Pi boot, please write this line:
  1. sudo update-rc.d tomcat defaults
复制代码
Now, you can start your tomcat 7 server.
  1. sudo /etc/init.d/tomcat start
复制代码
Administrator Privileges
When you want to use your tomcat server you should get Administrator privileges from, hence there you should edit tomcat-users.xml.
  1. sudo nano /usr/local/tomcat/conf/tomcat-users.xml
复制代码
Now,you should add a manager in this field.Red font is user should add.
  1. <tomcat-users>
  2. <!--
  3. NOTE:  By default, no user is included in the "manager-gui" role required
  4. to operate the "/manager/html" web application.  If you wish to use this app,y
  5. ou must define such a user - the username and password are arbitrary.
  6. -->
  7. <!--
  8. NOTE:  The sample user and role entries below are wrapped in a comment
  9. and thus are ignored when reading this file. Do not forget to remove
  10. <!.. ..> that surrounds them.
  11. -->
  12. <!--
  13. <role rolename="tomcat"/>
  14. <role rolename="role1"/>
  15. <user username="tomcat" password="tomcat" roles="tomcat"/>
  16. <user username="both" password="tomcat" roles="tomcat,role1"/>
  17. <user username="role1" password="tomcat" roles="role1"/>
  18. -->
  19. <role rolename="manager"/>
  20. <role rolename="manager-gui"/>
  21. <role rolename="admin"/>
  22. <user username="tomcat" password="tomcat" roles="admin,manager,manager-gui"/>
  23. </tomcat-users>
复制代码


<role rolename="manager"/>
<role rolename="manager-gui"/>
<role rolename="admin"/>
<user username="tomcat" password="tomcat" roles="admin,manager,manager-gui"/>
In there the username"tomcat" and password"tomcat" which you should use in the future. Now restart the tomcat web server.
  1. /etc/init.d/tomcat restart
复制代码
Manager Interface Test
When user finished install, user can test the tomcat had already install. In the Raspberry Pi browser user can enter:
  1. http://localhost:8080/
复制代码
In user's computer, user can replace the “localhost” part to user's Raspberry Pi IP address.For example 192.168.1.100 is Raspberry Pi IP address.
  1. http://192.168.1.100:8080/
复制代码
In user browser should be show the Tomcat.


成功安装后的界面.
1.3 下载AEPweb并且上传到服务器
游客,如果您要查看本帖隐藏内容请回复

然后使用Tomcat的自带界面上传,上传后会自动解压

这时候访问以下地址就可以进入AEPweb界面了
  1. http://localhost:8080/AEPweb
复制代码
例如你的树莓派内网地址是192.168.1.100
  1. http://192.168.1.100:8080/AEPweb
复制代码
2.动态地址和路由器设置
这里已经有非常多的大大详细的的教程了,花生壳之类的都是国内很好的选择,有些路由器自带了转发和动态地址设置,教程中我略微提到了No-Ip等动态解析的使用方法,端口转发也是让你树莓派在世界都能访问的关键。

http://aepwiki.x10.mx/index.php/Support

最后也提到了一些其他软件适应不同的平台操作树莓派,这些软件的界面和链接速度都远远好于AEPweb,但是AEPweb的特点就是能让你无时无刻的食用你的树莓派无论你在任何地方。


现在先写这么多吧,如果以后有改进再继续更新。


Tihua Qin
2013年4月16日


Content is available under GNU Free Documentation License 1.3 or later.

  • 倡导分享。允许任意转载、修改。
  • 转载必须署名!
  • 转载必须链接到项目地址:http://www.aepwiki.tk/





评分

参与人数 1 +9 收起 理由
lynfr8 + 9 很给力!

查看全部评分

回复

使用道具 举报

2013-4-16 13:51:26 | 显示全部楼层
看上去不错,有空试试看
回复 支持 反对

使用道具 举报

2013-4-16 15:32:11 | 显示全部楼层
支持原创,造福大家!
回复 支持 反对

使用道具 举报

2013-4-16 21:02:19 | 显示全部楼层
本帖最后由 turnip_gray 于 2013-4-16 21:15 编辑

看了下,GUI的依赖包的名第一个包名是hk,难道LZ在HK?
在Win下尝试运行了一下那个GUI……然后出来了一大串的log(每秒少说数十条- -!)
但是并没有出现Swing或者SWT之类的界面(因为叫GUI,我以为会出现本地的界面)……@_@
于是就看了下那个类名,感觉上应该是一个轻量级的http server……
也就是说应该用一个ip访问才对。但是默认的80端口访问无效(官网的WIKI页面貌似没写,或者我没仔细看没找到- -!)……

只好用JD GUI看了下(还好没混淆)。发现貌似主要文件没打包……打包的那个是个nio的轻量级httpserver
默认端口仿佛写在配置文件里,是8087,如果不设置的话,程序里默认8080。

访问过去,FF返回了个源码页面,没渲染。
猜测是因为轻量级的那个server。响应头没设置ContentType,或者设置不是txt/H.TM`L(最有可能设置成了text/plain)

所以,这个轻量级的Server,也许还得整整……
至少log别那么不要命的不断刷新了;
启动之后,控制台输出个提示,引导用户去访问对应端口,或者直接用AWT的Desktop类去开一个浏览器窗口(这个需要JDK6以上,貌似看那个war文件,编译用的是JDK7 u7应该不会存在兼容问题);
最重要的让那个Server相应的时候,设置一下响应头。不然有些较真的浏览器(比如Firefox 20.0.1)不渲染页面……


那个war,也在win下的tomcat里运行了一下。粗略的看了下,貌似是个http2ssh的工具(SSH链接貌似是用了j2ssh-core这个库实现的。也许不一定非得是树莓派,我猜大概只要开了SSH服务的机器。用这个都能登录)。
您官网的Wiki里那个视频(竟然是youtube的,可见LZ应该是在HK……- -!)貌似也是把这个war架在了别的机器上,然后远程访问pi。

话说,如果是把tomcat或者glassfish这类web容器架到树莓上,然后再让树莓自己登录自己的ssh。然后再返回页面的话。可能对树莓来说会比较吃力(响应会比较慢)。
因为不了解这个j2ssh-core库,不知道他是怎么运作的。所以不知道把现在的jsp方式改成jaxws会不会方便。
如果方便的话,其实jaxws用endpoint方式启动会比web容器省不少资源。不过缺点是需要client。

另,wiki上貌似没说运行这个对os有没有要求?据说甲骨文的jdk只能装在软浮点的OS上(raspbian8月那版),硬浮点的os
的话,貌似需要装jdk8 for arm的预览版或者openjdk……
回复 支持 反对

使用道具 举报

2013-4-16 21:19:09 | 显示全部楼层
无语了,这个论坛坛主快改改吧……辛辛苦苦写了半天,结果提交告诉我有不~良信息,不能提交- -!
分段提交(先提交一段,然后每次点编辑都多粘一段进去,号确定哪段被不……良了),结果中间丢了两段- -!只好从新写……

最后,还得等待审核……
回复 支持 反对

使用道具 举报

 楼主| 2013-4-16 21:27:14 | 显示全部楼层
turnip_gray 发表于 2013-4-16 21:02
看了下,GUI的依赖包的名第一个包名是hk,难道LZ在HK?
在Win下尝试运行了一下那个GUI……然后出来了一大串 ...

你那个GUI版本只是一个测试 因为时间关系没啥时间写了……
主要是Ssh的确支持很多系统
其重点在于服务器可以不架设在树莓派上
树莓派只需要开启Ssh 用楼主自己的网站就可以访问啦
在自己树莓派上假设只是为了更好地服务
最近比较忙毕业
等忙完了在回复哈
视频楼主也说了 在国外
HK是一个朋友写的包
回复 支持 反对

使用道具 举报

2013-4-16 21:56:48 | 显示全部楼层
qinth 发表于 2013-4-16 21:27
你那个GUI版本只是一个测试 因为时间关系没啥时间写了……
主要是Ssh的确支持很多系统
其重点在于服务器 ...

好吧,LZ加油~

回复 支持 反对

使用道具 举报

2013-4-16 23:08:15 | 显示全部楼层
在PI上跑jdk和tomcat真吃力啊!换其他轻量级点的,开发效率也不见得会低。
回复 支持 反对

使用道具 举报

 楼主| 2013-4-17 00:17:04 | 显示全部楼层
geekr 发表于 2013-4-16 23:08
在PI上跑jdk和tomcat真吃力啊!换其他轻量级点的,开发效率也不见得会低。

如果楼主自己有服务器 大家完全不需要再树莓派上安装客户端
回复 支持 反对

使用道具 举报

2013-4-17 10:46:30 | 显示全部楼层

看上去不错,有空试试看
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注我们,了解更多

官方微信

服务时间:10:00-16:00

13714503811

公司地址:深圳市龙岗区南湾街道东门头路8号

Copyright © 2012-2020 Powered by 树莓派论坛 2019.4  粤ICP备15075382号-1
快速回复 返回列表 返回顶部