在树莓派上部署InfoPi
如果仅仅想试用InfoPi,请参照此文在Windows上试用。在Windows上部署比在树莓派上部署简单得多。
先说明一下,我用的系统是Raspbian(2014-06-20发布的)。
用户pi,工作目录为/home/pi下。
这里的操作都是通过ssh完成的。不必手打每条命令,用复制粘贴的方式操作很方便。
一、把系统编码设为UTF-8、设置时区
目前来说,把系统编码设为UTF-8对InfoPi是必须的,否则无法运行
执行这个打开Raspbian的系统设置
sudo raspi-config
进入第4项,设置语言和区域
然后再进入Change Locale,在里面把zh_CN.UTF-8选上,如图:
再在Change Timezone里设置时区,选上:亚洲->上海
二、检查系统日期时间是否正确
InfoPi需要准确的时间,请按此方法检查、校正系统时间:
http://www.cnblogs.com/infopi/p/3947652.html
三、安装新版本的Python
InfoPi需要Python 3.4或以上版本,打这个命令可以看到当前系统的Python版本:
python3 --version
如果低于3.4,可以按此方法安装最新版的Python:
http://www.cnblogs.com/infopi/p/update_python_raspbian.html
四、安装InfoPi用到的第三方模块
如果上一步都做好了,执行这两条命令即可
sudo pip3.4 install flask
sudo pip3.4 install tornado
如果系统自带python 3.4或以上版本,可能提示没有pip3.4,换成pip-3.x(x为python的具体版本号)试试。
五、下载InfoPi源码
cd ~
wget -O "infopi.zip" "https://github.com/animalize/infopi/archive/master.zip"
unzip infopi.zip
第一行,切换到用户目录。
第二行,下载源码。
第三行,解压源码。
六、使用演示配置
执行这条命令,把演示用的配置解压到InfoPi的配置目录
unzip infopi-master/document/demo_cfg.zip -d infopi-master/
七、启动Infopi
执行这条即可启动
python3 infopi-master/src/starter.py
如果能正常登录,表示已经正确安装。(默认的web端口是5000,用户名、密码均为admin)
现在未启用tmpfs,长时间运行可能影响存储卡寿命。
提醒一下:控制面板下方有控制按钮。
八、把InfoPi设为开机自动启动、启用tmpfs的步骤:
执行
sudo nano /etc/rc.local
在exit 0那行之前,加上这3行内容:
mkdir /tmp/info_pi
mount tmpfs /tmp/info_pi -t tmpfs -o size=200m
su - pi -c '/usr/bin/python3 -OO /home/pi/infopi-master/src/starter.py --tmpfs /tmp/info_pi --port 5000 &'
第一行是建立临时文件夹。第二行是为临时文件夹挂载tmpfs文件系统,最大允许200m空间。
第三行是以用户pi的身份启动程序。
按Ctrl+X保存退出,再执行sudo reboot重启即可。
重启后,执行df -h应该能看到下面的结果,这表示操作系统已经启用了tmpfs。
同时,在InfoPi的控制面板里可以看到“tmpfs路径”,请确保它和这里的路径一致。
默认的web端口是5000,如果想使用1024以下的端口,须要以root身份启动程序。
非常不推荐以root身份启动程序,影响系统安全,而且在我这里会遇到开机无法启动的问题。
附1: 安装第三方Python模块,增加InfoPi的健壮性
这些第三方Python模块是可选的,不安装的话InfoPi也可以运行。
但是如果安装了,会增加InfoPi的健壮性。详见此文:
http://www.cnblogs.com/infopi/p/4007089.html
附2:在树莓派上使用动态域名,可以参考此教程:
http://www.cnblogs.com/infopi/p/3991437.html
在树莓派上部署InfoPi的更多相关文章
- 在树莓派上部署asp.net
今天成功的在树莓派上部署asp.net呢.之前在unbuntu上测试成功了,结果今天操作的时候又不会操作了,主要对Linux太不熟悉了,找资料,资料又不多,这次赶紧记录下来,以备下次查阅. 我用的mo ...
- IoT设备实践丨如果你也在树莓派上部署了k3s,你也许需要这篇文章
前 言 树莓派是一种广泛流行的开发板,随着物联网的深入发展,树莓派大有成为IoT终端设备标准之趋势.在支持客户在IoT场景中落地k3s时,k3s在树莓派上的部署问题也就出现了.本文记录了一些其中的关键 ...
- 树莓派3B上部署运行.net core 2程序
针对Linxu arm处理器如何部署.net core 2的资料很少,网上找到几篇但都写得不够详细,按照他们教程来撞墙了,折磨了几天终于部署成功了,先上一张运行成功的图 1.windows系统中,在项 ...
- fedora上部署ASP.NET——(卡带式电脑跑.NET WEB服务器)
andrew,20130601,guilin 本文记录在树莓派(fedora)上部署ASP.NET MVC2 的过程. 本文共分为六部分,分别是前置条件,Apache的安装,Mysql的安装,安装mo ...
- 树莓派上搭建NAS
首先可以参考看看 搭建家庭 NAS 服务器有什么好方案?下载做NAS的系统也比较多,如FreeNAS.Openfiler等免费系统,或购买其它收费NAS系统.根据自己的需要从硬件到软件的搭建过程.参 ...
- 树莓派上 Docker 的安装和使用
Docker 是一个开源的应用容器引擎,可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制,相互之间不 ...
- 用Ubuntu和树莓派系统部署kubernetes集群后的一些心得
方案 环境 操作系统:Ubuntu 16.04 & Raspbian GNU/Linux 9(Stretch Desktop) kubernetes :1.15.3 flannel:0.11. ...
- 用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈
用TVM在硬件平台上部署深度学习工作负载的端到端 IR 堆栈 深度学习已变得无处不在,不可或缺.这场革命的一部分是由可扩展的深度学习系统推动的,如滕索弗洛.MXNet.咖啡和皮托奇.大多数现有系统针对 ...
- CentOS 7 上部署Mono 4 和Jexus 5.6
概述 在这篇文章中我们将讨论如何在CentOS 7操作系统,安装 jexus. mono 和 配置 jexus,因此它将能够在这种环境中运行一个asp.net mvc 4 应用.这篇文章是描述如何在 ...
随机推荐
- 音频软件消除人声的一点体会(cood edit ,goldwav)
音频软件消除人声的一点体会(cood edit ,goldwav) 使用方法: 1.打开文件 2.命令处理(红色位置可以调整到你认为合适的数据或效果) 3.效果:两个软件均处理后的效果均可以接受.不 ...
- vs2013源码编译zlib 1.2.8
1.从 zlib 官网上下载 zlib最新版 1.28 的源码,解压到 zlib-1.2.8 2.使用vs2013打开vc11目录下的sln工程文件(进行单向升级) 3.修改zlibvc工程属性--& ...
- MySQL数据库9 - 日期与时间函数
一 日期和时间函数 函数的概念:按指定格式输入参数,返回正确结果的运算单元 1. 返回当前日期:curdate() current_date() current_date()+0可以将当前日期转换为数 ...
- entity framework 新手入门篇(4)-entity framework扩展之 entityframework.extended
对于EF的操作,我们已经有了大概的了解了,但对于实战来说,似乎还欠缺着一些常用的功能,那就是批量的删除,更新数据. 承接上面的部分,我们有一个叫做House的数据库,其中包含house表和seller ...
- LeetCode 21 -- Merge Two Sorted Lists
Merge two sorted linked lists and return it as a new list. The new list should be made by splicing t ...
- Java里面,反射父类里面数字类型字段,怎么set值
Java里面,反射父类里面数字类型字段,怎么set值,我的做法是这样: /** * TODO 直接设置对象属性值, 忽略private/protected 修饰符, 也不经过setter * @aut ...
- JAVAWEB学习总结 HTTPSERVLETRESPONSE对象(二)
一.HttpServletResponse常见应用--生成验证码 1.1.生成随机图片用作验证码 生成图片主要用到了一个BufferedImage类 步骤: 1. 在内存中创建一张图片 2.得到图片 ...
- 关于JAVA中对字符串与数组求长度的问题
我在学习中发现在求数组或者字符串的长度的时候,用到length的时候,有时候是length,有时候是length(),很是奇怪,于是上API查了一下,发现一些小细节. 首先看看这段代码 public ...
- 黑马程序员:Java编程_7K面试题之交通灯管理系统
=========== ASP.Net+Android+IOS开发..Net培训.期待与您交流!=========== 模拟实现十字路口的交通灯管理系统逻辑,具体需求如下: 异步随机生成按照各个路线行 ...
- IOS中延迟执行的几种方法
前几天去国美在线面试,就遇到了上面的问题,当时是笔试,只写出来了第一种方法,现在整理了一下. //1.performSelector方法:在当前线程中执行的方法,使用默认模式,并延迟执行@select ...