開源項目——寢室助手
身為計算機專業(yè)的大學(xué)生齿兔,我們會自然而然地想辦法用自己已有的資源和技術(shù)去讓生活自動化橱脸、智能化。寢室助手這個項目不算創(chuàng)新項目分苇,但是會是一個整理得比較完備的項目添诉。它易于搭建,成本不算高医寿,并且功能可以大大擴展栏赴。
1. 寢室助手的功能
寢室助手目前可以實現(xiàn)寢室私有服務(wù)器须眷、下載機、私有云盤沟突、Samba文件共享柒爸、DLNA流媒體、內(nèi)網(wǎng)開門事扭、遠程開門等功能捎稚。(語音助手或者監(jiān)控功能預(yù)計以后會添加)
我來簡單演示一下它的功能。
我的寢室的服務(wù)器主頁(80端口 /var/www/html/index.html)域名解析為http://pi.code4world.cn (懶得寫html+css+js/php求橄,美觀請諒解)
主頁的Aria2和Transmission都是下載工具今野,可以實現(xiàn)外網(wǎng)訪問和內(nèi)網(wǎng)訪問,也就是說可以進行遠程下載和在寢室里下載文件到服務(wù)器罐农。
云盤則是私有云条霜,由后臺管理員添加用戶,可以進行文件的上傳下載分享涵亏,通過安裝插件宰睡,也可以實現(xiàn)代碼的在線編輯、視頻的在線播放气筋、文檔的在線預(yù)覽以及壓縮文件的在線解壓等等拆内。
Jack's Blog則是我的個人博客。
搭建好的Aria2是這樣的:
使用的是Aria-Ng的Web-UI宠默,可以下載文件到指定位置麸恍。
搭建好的Transsmission是這樣的:
默認開放端口為9091,可以進行BT磁力鏈接和BT Torrent(種子)文件的下載。
搭建好的私有云是這樣的:
具有云盤的常用功能抹沪。
搭建好的Samba文件共享如下:
可以訪問服務(wù)器開放的共享文件夾刻肄,若服務(wù)器開啟讀寫權(quán)限,則訪問的電腦可以對其進行任意讀寫操作融欧。
關(guān)于DLNA敏弃,我在此不闡述,因為我覺得它比較占用CPU噪馏,我把它關(guān)了权她。hhh。
接下來是內(nèi)網(wǎng)開門逝薪、遠程開門:
我放一些照片和視頻來進行演示:
門外結(jié)構(gòu):
門內(nèi)結(jié)構(gòu):
門外細節(jié):
iOS APP實現(xiàn)內(nèi)網(wǎng)開門:
http://player.youku.com/embed/XMzk2NjA1ODMzNg==
http://player.youku.com/embed/XMzk2NjA1OTc4NA==
校園卡RFID開門:
http://player.youku.com/embed/XMzk2NjA1ODk3Ng==
其實還有電腦端可執(zhí)行程序開門和安卓端APP開門隅要,這里不演示。
功能到這里就基本介紹完了董济。
2.寢室助手的準備工作
知識儲備:
- Linux基礎(chǔ)
- 電路基礎(chǔ)
- Python基礎(chǔ)
- Android開發(fā)(Java)
- iOS開發(fā)(Swift Xcode)
- 前端基礎(chǔ)(HTML CSS JavaScript PHP)
- 計算機網(wǎng)絡(luò)基礎(chǔ)(TCP Socket)
硬件準備:
- 樹莓派3B * 1(3B 中國 不含配件 205元)
- 閃迪16G TF卡 * 1(25元)
- 讀卡器 * 1(usb2.0 3.9元步清,見第5條,若購買All In One硬盤盒虏肾,則此步跳過)
- 樹莓派配件套餐 * 1(標配 任意顏色 35.8元)
- All In One硬盤盒 * 1(深藍色 70元廓啊,或者易驅(qū)線 usb 2.0全套34元 + 有源USB HUB 17元,共51元)
- 二手320G 臺式SATA串口機械硬盤 * 1(38元 若有老臺式或筆記本的任意硬盤封豪,可以使用谴轮,無需購買)
- Arduino Uno R3 * 1(意大利正版150元,國產(chǎn)版17元吹埠,推薦正版第步,國產(chǎn)版不太穩(wěn)定需要自己裝驅(qū)動,都送串口線)
- UPS不間斷電源 * 1(12V 9V 5V 三輸出缘琅,帶電源11200mah 80元粘都,經(jīng)測試,一整夜都有電)
- USB延長線 * 1(玫瑰金 3m 3元)
- DC延長線 * 1(3m 16.8元)
- 杜邦線若干(大約5元)
- 蜂鳴器 * 1(0.39元包郵)
- MG996R金屬舵機 * 1(360度刷袍,25元)
- MacBook任意款或者Mac * 1(開個玩笑翩隧,但如果執(zhí)意要iOS端開門APP,并且資金充裕呻纹,則可以購買)
- 電腦 * 1(CSer必備堆生,無需購買)
- 寢室具備寬帶和路由器支撐,架設(shè)有UPS(若沒有雷酪,則影響斷點熄燈后的服務(wù)淑仆,需要額外UPS則再+40-115元,本人覺得40元的足矣太闺,光貓和路由器的功耗比較低)
經(jīng)過計算糯景,最低成本為387.89元,不帶UPS省骂,僅在寢室沒斷電的環(huán)境時工作蟀淮。
軟件準備:
1. 樹莓派的初步啟動
拿到淘寶來的樹莓派,是一件振奮人心的事情钞澳。你一定會迫不及待想去使用它怠惶。
目前需要準備好的是樹莓派、樹莓派電源轧粟、TF卡策治、讀卡器和一臺電腦,僅僅只需要這些兰吟。當然你必須保證你寢室有WIFI環(huán)境通惫,保證你記得寢室WIFI名和密碼(開個玩笑但也是實話)。
先將TF卡插入讀卡器混蔼,注意插入的方向必須正確履腋。再將讀卡器插入電腦的USB口,若電腦能識別惭嚣,則成功遵湖。
去樹莓派官網(wǎng)下載官方鏡像:
https://www.raspberrypi.org/downloads/raspbian/
為了避免以后下載一些包和一些常用軟件,推薦下載第一個鏡像
接下來怎么將鏡像燒錄到樹莓派呢
推薦使用Win32DiskImager 晚吞,點擊Download
下載
運行延旧,按照以下順序來操作:
提示,如果是想備份系統(tǒng)鏡像槽地,則:
當進度達到100時迁沫,寫入系統(tǒng)完成,電腦中有一個叫boot的設(shè)備捌蚊。
接下來讓樹莓派開機前配置好需要連接的WIFI(有網(wǎng)線并且長度夠的弯洗,可以直接插網(wǎng)線hhh)。
由于此時不具備顯示器逢勾、鼠標鍵盤牡整,我們?nèi)绾巫寴漭墒状伍_機就連上WIFI呢?
進入boot設(shè)備溺拱,新建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
}
根據(jù)要求更改上面文件的參數(shù)迫摔,并將注釋刪掉以免bug沐扳。
重點:在boot上新建一個名為ssh的空文件,無后綴句占,才可默認開啟ssh沪摄,此步不要跳過!
然后推出讀卡器設(shè)備,拔出TF卡,按正確的方向插入樹莓派杨拐。
樹莓派接上電源祈餐,打開開關(guān),當有指示燈時哄陶,說明已經(jīng)開機帆阳。
到這里初步啟動完成
2. 使用SSH連接樹莓派終端
首先,需要得到樹莓派的內(nèi)網(wǎng)ip:
最簡單的方法當然是進入路由器管理頁面:
通常是192.168.1.1
或者192.168.0.1
屋吨,具體是多少蜒谤,寬帶師傅肯定知道。
瀏覽器輸入并進入路由器管理界面至扰,例如我的管理網(wǎng)頁是192.168.1.1
鳍徽,我的路由器是TP-link的
匿名主機或者叫pi的主機就是我們尋找的對象
這樣我的樹莓派的ip就暫時是192.168.1.107
,以下所有191.168.1.107
都應(yīng)該代替為你自己樹莓派的內(nèi)網(wǎng)ip敢课。為什么是暫時阶祭,因為還沒有設(shè)置靜態(tài)ip,一會兒我們再設(shè)置翎猛。
MacOS或linux直接打開Terminal
胖翰,輸入ssh pi@192.168.1.107
輸入初始密碼raspberry
并回車,即可訪問到樹莓派的終端切厘。
Windows可以用putty連接樹莓派的終端:
選擇SSH萨咳,
Host Name(or IP address)
欄輸入樹莓派的內(nèi)網(wǎng)ip,端口默認22疫稿。點擊Open
培他,進入ssh頁面:
login as:
輸入pi
,因為pi
是默認用戶名
接下來輸入密碼raspberry
并回車遗座,進入樹莓派終端:
此時ssh連接樹莓派的工作就緒舀凛。
3. 進行必要的設(shè)置
①更換國內(nèi)鏡像源
sudo nano /etc/apt/sources.list
用#
注釋掉原本的所有內(nèi)容,并添加以下兩行:
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鼠標右鍵既是復(fù)制也是粘貼)
這樣就更換為了清華的鏡像源,接下來需要更新源列表:
sudo apt-get update
然后
sudo nano /etc/apt/sources.list.d/raspi.list
用#
注釋掉原本的所有內(nèi)容号坡,并添加以下兩行:
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
再比較索引清單更新依賴關(guān)系:
sudo apt-get upgrade -y
②設(shè)置中文
安裝中文字體:
sudo apt-get -y install ttf-wqy-zenhei
設(shè)置中文字體:
sudo raspi-config
此時進入了樹莓派的系統(tǒng)設(shè)置界面:
上下選擇到4 Localisation Options
并回車懊烤,選擇I1 Change Locale
,
去掉en_GB.UTF-8 UTF-8
宽堆,勾上:en_US.UTF-8 UTF-8
腌紧、zh_CN.UTF-8 UTF-8
、zh_CN.GBK GBK
畜隶,下一屏幕默認語言選zh_CN.UTF-8
壁肋。
還有其他相關(guān)的設(shè)置号胚,后面提到。Tab
或左右鍵移動到Finish
浸遗,并回車猫胁,提示立即重啟,重啟當即生效乙帮。
③修改密碼杜漠,開啟VNC极景,修改默認分辨率
選擇第一項察净,進行密碼的修改。
選擇第五項盼樟,進入接口設(shè)置:
選擇VNC
氢卡,調(diào)整為Enabled
,提VNC
是enabled
以后晨缴,就開啟了VNC
译秦。
同理,其他接口也可以按需打開击碗。
選擇第七項筑悴,選擇A5 Resolution
:
選擇你想要的合適的分辨率,我推薦1920x1080高清分辨率稍途。
4. 使用VNC Viewer連接樹莓派
VNC Viewer
可以在官網(wǎng)獲得阁吝,它有各個版本。
當樹莓派開啟了VNC
以后械拍,可以通過VNC Viewer
連接它突勇,進行控制,發(fā)送消息以及文件坷虑。
樹莓派VNC端口默認為5900
甲馋,連接的時候不用輸入5900
,輸入內(nèi)網(wǎng)ip
即可訪問迄损。
例如我的樹莓派的內(nèi)網(wǎng)ip為192.168.1.107
:
回車定躏,輸入用戶名密碼,即可進入樹莓派圖形界面芹敌,進行操作痊远。
此時用電腦端的SSH
以及VNC
就可以完整控制樹莓派了。免去了顯示屏党窜、鼠標拗引、鍵盤的成本。當然有資金的話幌衣,配置樹莓派就簡單多了矾削。
對于手機端壤玫,iOS
推薦樹莓派助手(pi helper)
,可以連接樹莓派哼凯,對樹莓派進行監(jiān)控欲间,也可以進行終端的訪問以及SFTP
文件訪問、自定義命令断部,免費猎贴。
安卓端下載任意可以ssh的終端即可。
VNC Viewer
同樣有iOS
和Android
端蝴光,用手機也可以對樹莓派進行圖形化控制她渴。
5. 安裝Arduino IDE
下載頁面在https://www.arduino.cc/en/Main/Software
由于樹莓派是Linux ARM架構(gòu),所以選擇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供電不足導(dǎo)致的程序錯誤)
ls /dev/tty*
如果有/dev/ttyACM0
或者類似径簿,則說明串口連接成功罢屈。
打開Arduino IDE
,選擇開發(fā)板類型及端口:
打開實例程序Blink
點擊向右的箭頭就是上傳代碼篇亭,上傳成功后缠捌,Arduino的led開始閃爍,則說明正常工作暗赶。
到這里鄙币,一切準備工作都就緒,接下來就是寢室助手的各個模塊的搭建蹂随。待續(xù)...精力有限十嘿,我要睡了...