开源项目——寝室助手

开源项目——寝室助手

身为计算机专业的大学生,我们会自然而然地想办法用自己已有的资源和技术去让生活自动化、智能化。寝室助手这个项目不算创新项目,但是会是一个整理得比较完备的项目。它易于搭建,成本不算高,并且功能可以大大扩展。

1. 寝室助手的功能

寝室助手目前可以实现寝室私有服务器、下载机、私有云盘、Samba文件共享、DLNA流媒体、内网开门、远程开门等功能。(语音助手或者监控功能预计以后会添加)

我来简单演示一下它的功能。

我的寝室的服务器主页(80端口 /var/www/html/index.html)域名解析为http://pi.code4world.cn (懒得写html+css+js/php,美观请谅解)

主页的Aria2和Transmission都是下载工具,可以实现外网访问和内网访问,也就是说可以进行远程下载和在寝室里下载文件到服务器。

云盘则是私有云,由后台管理员添加用户,可以进行文件的上传下载分享,通过安装插件,也可以实现代码的在线编辑、视频的在线播放、文档的在线预览以及压缩文件的在线解压等等。

Jack's Blog则是我的个人博客。

搭建好的Aria2是这样的:

FadqaT.png

使用的是Aria-Ng的Web-UI,可以下载文件到指定位置。

搭建好的Transsmission是这样的:

FawSMR.png

默认开放端口为9091,可以进行BT磁力链接和BT Torrent(种子)文件的下载。

搭建好的私有云是这样的:

FaBUaV.png
FaBDxJ.png

具有云盘的常用功能。

搭建好的Samba文件共享如下:

FaBRIK.png

可以访问服务器开放的共享文件夹,若服务器开启读写权限,则访问的电脑可以对其进行任意读写操作。

关于DLNA,我在此不阐述,因为我觉得它比较占用CPU,我把它关了。hhh。

接下来是内网开门、远程开门:

我放一些照片和视频来进行演示:

门外结构:

FarWge.jpg

门内结构:

Farc4K.jpg

门外细节:

Far29O.jpg

iOS APP实现内网开门:

http://player.youku.com/embed/XMzk2NjA1ODMzNg==
http://player.youku.com/embed/XMzk2NjA1OTc4NA==

校园卡RFID开门:

http://player.youku.com/embed/XMzk2NjA1ODk3Ng==

其实还有电脑端可执行程序开门和安卓端APP开门,这里不演示。

功能到这里就基本介绍完了。

2.寝室助手的准备工作

知识储备:

  1. Linux基础
  2. 电路基础
  3. Python基础
  4. Android开发(Java)
  5. iOS开发(Swift Xcode)
  6. 前端基础(HTML CSS JavaScript PHP)
  7. 计算机网络基础(TCP Socket)

硬件准备:

  1. 树莓派3B * 1(3B 中国 不含配件 205元)
  2. 闪迪16G TF卡 * 1(25元)
  3. 读卡器 * 1(usb2.0 3.9元,见第5条,若购买All In One硬盘盒,则此步跳过)
  4. 树莓派配件套餐 * 1(标配 任意颜色 35.8元)
  5. All In One硬盘盒 * 1(深蓝色 70元,或者易驱线 usb 2.0全套34元 + 有源USB HUB 17元,共51元)
  6. 二手320G 台式SATA串口机械硬盘 * 1(38元 若有老台式或笔记本的任意硬盘,可以使用,无需购买)
  7. Arduino Uno R3 * 1(意大利正版150元,国产版17元,推荐正版,国产版不太稳定需要自己装驱动,都送串口线)
  8. UPS不间断电源 * 1(12V 9V 5V 三输出,带电源11200mah 80元,经测试,一整夜都有电)
  9. USB延长线 * 1(玫瑰金 3m 3元)
  10. DC延长线 * 1(3m 16.8元)
  11. 杜邦线若干(大约5元)
  12. 蜂鸣器 * 1(0.39元包邮)
  13. MG996R金属舵机 * 1(360度,25元)
  14. MacBook任意款或者Mac * 1(开个玩笑,但如果执意要iOS端开门APP,并且资金充裕,则可以购买)
  15. 电脑 * 1(CSer必备,无需购买)
  16. 寝室具备宽带和路由器支撑,架设有UPS(若没有,则影响断点熄灯后的服务,需要额外UPS则再+40-115元,本人觉得40元的足矣,光猫和路由器的功耗比较低)

经过计算,最低成本为387.89元,不带UPS,仅在寝室没断电的环境时工作。

软件准备:

1. 树莓派的初步启动

拿到淘宝来的树莓派,是一件振奋人心的事情。你一定会迫不及待想去使用它。

目前需要准备好的是树莓派、树莓派电源、TF卡、读卡器和一台电脑,仅仅只需要这些。当然你必须保证你寝室有WIFI环境,保证你记得寝室WIFI名和密码(开个玩笑但也是实话)。

先将TF卡插入读卡器,注意插入的方向必须正确。再将读卡器插入电脑的USB口,若电脑能识别,则成功。

树莓派官网下载官方镜像:

https://www.raspberrypi.org/downloads/raspbian/

FagMeH.png

为了避免以后下载一些包和一些常用软件,推荐下载第一个镜像

接下来怎么将镜像烧录到树莓派呢

推荐使用Win32DiskImager ,点击Download下载

运行,按照以下顺序来操作:

FagWm4.png

提示,如果是想备份系统镜像,则:

Fag7p6.png

当进度达到100时,写入系统完成,电脑中有一个叫boot的设备。

接下来让树莓派开机前配置好需要连接的WIFI(有网线并且长度够的,可以直接插网线hhh)。

由于此时不具备显示器、鼠标键盘,我们如何让树莓派首次开机就连上WIFI呢?

进入boot设备,新建wpa_supplicant.conf文件:

country=CN
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
 
network={
ssid="你的WiFi名"
psk="你的WiFi密码" #如果没有密码,此行不要
key_mgmt=WPA-PSK  #如果没有密码或者密码为WEP,则为 key_mgmt=NONE
priority=1
}

根据要求更改上面文件的参数,并将注释删掉以免bug。

重点:在boot上新建一个名为ssh的空文件,无后缀,才可默认开启ssh,此步不要跳过!

然后推出读卡器设备,拔出TF卡,按正确的方向插入树莓派。

树莓派接上电源,打开开关,当有指示灯时,说明已经开机。

到这里初步启动完成

2. 使用SSH连接树莓派终端

首先,需要得到树莓派的内网ip:

最简单的方法当然是进入路由器管理页面:

通常是192.168.1.1或者192.168.0.1,具体是多少,宽带师傅肯定知道。

浏览器输入并进入路由器管理界面,例如我的管理网页是192.168.1.1,我的路由器是TP-link的

FafABD.png

匿名主机或者叫pi的主机就是我们寻找的对象

这样我的树莓派的ip就暂时是192.168.1.107,以下所有191.168.1.107都应该代替为你自己树莓派的内网ip。为什么是暂时,因为还没有设置静态ip,一会儿我们再设置。

MacOS或linux直接打开Terminal,输入ssh pi@192.168.1.107

输入初始密码raspberry并回车,即可访问到树莓派的终端。

Windows可以用putty连接树莓派的终端:

选择SSH,

FafyE4.png

Host Name(or IP address)栏输入树莓派的内网ip,端口默认22。点击Open,进入ssh页面:

Faf4KK.png

login as:输入pi,因为pi是默认用户名

接下来输入密码raspberry并回车,进入树莓派终端:

Faf7UH.png

此时ssh连接树莓派的工作就绪。

3. 进行必要的设置

①更换国内镜像源
sudo nano /etc/apt/sources.list

#注释掉原本的所有内容,并添加以下两行:

deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main contrib non-free rpi

Ctrl-O保存Ctrl-X退出,下同,(Windows中使用Putty鼠标右键既是复制也是粘贴)

这样就更换为了清华的镜像源,接下来需要更新源列表:

sudo apt-get update

然后

sudo nano /etc/apt/sources.list.d/raspi.list

#注释掉原本的所有内容,并添加以下两行:

deb http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
deb-src http://mirror.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui

再次更新源列表:

sudo apt-get update

再比较索引清单更新依赖关系:

sudo apt-get upgrade -y
②设置中文

安装中文字体:

sudo apt-get -y install ttf-wqy-zenhei

设置中文字体:

sudo raspi-config

此时进入了树莓派的系统设置界面:

Fa46pR.png

上下选择到4 Localisation Options并回车,选择I1 Change Locale

去掉en_GB.UTF-8 UTF-8,勾上:en_US.UTF-8 UTF-8zh_CN.UTF-8 UTF-8zh_CN.GBK GBK,下一屏幕默认语言选zh_CN.UTF-8

还有其他相关的设置,后面提到。Tab或左右键移动到Finish,并回车,提示立即重启,重启当即生效。

③修改密码,开启VNC,修改默认分辨率
Fa46pR.png

选择第一项,进行密码的修改。

选择第五项,进入接口设置:

Fa5BKP.png

选择VNC,调整为Enabled,提VNCenabled以后,就开启了VNC

同理,其他接口也可以按需打开。

选择第七项,选择A5 Resolution

选择你想要的合适的分辨率,我推荐1920x1080高清分辨率。

4. 使用VNC Viewer连接树莓派

VNC Viewer可以在官网获得,它有各个版本。

当树莓派开启了VNC以后,可以通过VNC Viewer连接它,进行控制,发送消息以及文件。

树莓派VNC端口默认为5900,连接的时候不用输入5900,输入内网ip即可访问。

例如我的树莓派的内网ip为192.168.1.107

FaIpVO.png

回车,输入用户名密码,即可进入树莓派图形界面,进行操作。

FaIaoF.png

此时用电脑端的SSH以及VNC就可以完整控制树莓派了。免去了显示屏、鼠标、键盘的成本。当然有资金的话,配置树莓派就简单多了。

对于手机端,iOS推荐树莓派助手(pi helper),可以连接树莓派,对树莓派进行监控,也可以进行终端的访问以及SFTP文件访问、自定义命令,免费。

安卓端下载任意可以ssh的终端即可。

VNC Viewer同样有iOSAndroid端,用手机也可以对树莓派进行图形化控制。

5. 安装Arduino IDE

下载页面在https://www.arduino.cc/en/Main/Software

由于树莓派是Linux ARM架构,所以选择Linux ARM版本,通过wget命令行下载:

sudo wget https://www.arduino.cc/download_handler.php?f=/arduino-1.8.8-linuxarm.tar.xz
sudo tar xvJf arduino-1.8.8-linuxarm.tar.xz
cd arduino-1.8.8
./install.sh

安装完毕后,将Arduino Uno R3插入串口线,USB端插入树莓派的USB接口(推荐使用usb hub外接电源,usb hub接树莓派,再将串口线USB端插入usb hub中,以避免Uno供电不足导致的程序错误)

ls /dev/tty*

如果有/dev/ttyACM0或者类似,则说明串口连接成功。

打开Arduino IDE,选择开发板类型及端口:

FaoVfJ.png
FaoEY4.png

打开实例程序Blink

FaoPmV.png
Faopyq.png

点击向右的箭头就是上传代码,上传成功后,Arduino的led开始闪烁,则说明正常工作。

到这里,一切准备工作都就绪,接下来就是寝室助手的各个模块的搭建。待续...精力有限,我要睡了...

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,826评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,968评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,234评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,562评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,611评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,482评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,271评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,166评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,608评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,814评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,926评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,644评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,249评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,866评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,991评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,063评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,871评论 2 354

推荐阅读更多精彩内容