重要
本文中提供的腳本並不是推薦的配置實例,因爲他們真的沒有安全。世界上任何人都可以在技術上要求咖啡或者更糟。我們離開了安全配置/ API密鑰等,儘可能的保持教程簡單。
我們需要一種方法讓客戶告訴TurtleBot他們想要咖啡,並且如果多個同時人們想要咖啡需要咖啡隊列管理。有多種方法,但考慮到本系列是針對web開發人員,我們將使用一個LAMP堆棧。
什麼是LAMP?
LAMP是Linux、Apache、MySQL和PHP的縮寫。換句話說,它包括你需要運行一個web服務器和一個數據庫的所有東西。
創建一個Web服務器
你可以創建一個本地web服務器和客戶連接。但是,而不是將現有的計算機轉換爲一個web服務器,現在讓我們在雲產生一個實例。
Amazon web services亞馬遜網頁服務(又名:“AWS”)提供免費1年的微尺度Ubuntu web服務器。你需要輸入你的信用卡號碼,但只要你在第一年取消,不使用提供的更多資源在免費的計劃中,你的信用卡不會被控制。
如果你還沒有一個AWS賬戶,在這個網頁上點擊“Create Free Account”,一旦你登陸成功,點擊“Launch Management Console”。
創建你的CoffeeBot的AWS實例
- 登錄到AWS管理控制檯。
-
點擊“EC2”。
-
單擊“Launch Instance”按鈕。
-
選擇“Ubuntu 服務器 14.04”。(提示:這是和你的電腦相同的分佈式版本,所以它應該類似)。
-
選擇“t2 micro”。(提示:確保它說“free tier eligible”所以你不會收取費用)。
-
下一個:“Configure Instance Details”。
-
“Review and Launch”。
-
HTTP是默認了。如果沒有這個沒有人可以通過web瀏覽器訪問你的服務器。
-
“Security Groups”下單擊“Edit Security Groups”並選擇“Add Rule”。
-
從下拉菜單中選擇“HTTP”。
-
點擊“Review and launch”。
-
-
選擇“Launch”。
-
一個密鑰對會給你所需要的證書文件到SSH在你的服務器。
-
創建一個新的密鑰對。
-
密鑰對的名字“turtlebot_new”
-
“下載密鑰對”
-
將它保存在你的下載文件夾中。
-
-
點擊“Launch Instances”。
-
選擇“View Instances”。
確定你的公共DNS
你實例的公共DNS是你的客戶(和TurtleBot)如何連接到服務器。讓我們繼續並將其複製,供以後使用。
- 登錄到AWS管理控制檯
- 點擊“EC2”。
- 點擊“Running Instances”。
- 選擇複選框左邊的實例。
- “Public DNS”值在右下角。
提示:我們還沒有在你的服務器上安裝LAMP堆棧,所以如果你調用IP,什麼都不會發生。
SSH到AWS Instance
重要:改變[PUBLIC_DNS]爲之前複製的值。
在一個終端窗口運行:
cd ~/Downloads
chmod 400 turtlebot_new.pem
ssh -i turtlebot_new.pem ubuntu@[PUBLIC_DNS]
當提示:
Are you sure you want to continue connecting (yes/no)?
輸入yes。
安裝LAMP堆棧
Shell(ssh)到你的服務器,然後運行以下命令:
sudo apt-get update
安裝Apache
sudo apt-get install apache2
安裝MySQL
sudo apt-get install mysql-server php5-mysql
當出現提示,設置MySQL的root密碼爲"turtlebot".
提示:這是一個糟糕的密碼,所以隨意設置到另一個值——但你需要修改config.php文件從github克隆後一步。
安裝PHP
sudo apt-get install php5 libapache2-mod-php5 php5-mcrypt
給Ubuntu用戶正確到/var/www/
sudo adduser ubuntu www-data
sudo chown -R www-data:www-data /var/www
sudo chmod -R g+rw /var/www
重啓Apache
service apache2 stop
service apache2 start
注意:在這個視頻中我們嘗試service apache2 restart但是失敗了,stop並且start成功。
克隆PHP文件
cd /var/www/html
sudo apt-get install git
sudo git clone https://github.com/markwsilliman/turtlebot-server/
注意:在這個視頻我首先嚐試”git clone“沒有加上”sudo“;因此要求”sudo“。
克隆Web App
web應用程序非常類似於瀏覽器擴展,但是會允許你的客戶從他們的智能手機直接請求咖啡。我們稍後會詳細討論這個,但是爲了方便我們繼續和克隆。
cd /var/www/html
sudo git clone https://github.com/markwsilliman/turtlebot-web-app/
(可選)設置MySQL root密碼
如果你不將MySQL root密碼設置爲“turtlebot”,你需要編輯配置文件。如果你將MySQL root密碼設置爲“turtlebot”,跳過這一節。
cd /var/www/html/turtlebot-server/
nano config.php
滾輪向下到:
$a["password"] = "turtlebot"; //mysql password
並且更新值。
然後ctrl + x退出,y保存。
繼續閱讀
安裝Chrome瀏覽器拓展
翻譯網址:http://learn.turtlebot.com/2015/02/01/20/