AWS IoT+樹莓派 打造動態(tài)監(jiān)控(1)

副標題:AWS IoT設(shè)定手順和樹莓派mosquitto安裝

看到AWS登錄信用卡后可以免費使用1年的消息宽堆,正好手頭有個樹莓派3码荔,看看能不能連動做點好玩的東西谓松。

下面內(nèi)容就是我初次使用AWS的云服務(wù)IoT拴事,做了一個動態(tài)監(jiān)控并郵件報警的小系統(tǒng)。

場景

樹莓派作為一個消耗電力極少的微型計算機弓摘,可以作為很好的長時運行服務(wù)器焚鹊。當然也包括監(jiān)控用途。我想定的場景是韧献,利用樹莓派和USB攝像頭末患,做成一個監(jiān)控攝像頭。如果監(jiān)控的范圍內(nèi)有變動的話锤窑,截圖上傳到GoogleDrive璧针,將截圖地址發(fā)送給指定的Gmail郵箱。

需要有的硬件

  • 樹莓派 3B
  • 作業(yè)用Macbook/PC
  • USB攝像頭
    • 我使用的羅技 C370 USB攝像頭渊啰。免安裝驅(qū)動探橱。最好買官方驗證過的攝像頭申屹,可以繞過很多坑。
    • 下面的手順到今天還沒有用到USB攝像頭隧膏,可以先提前準備和測試哗讥。

1 整體概念

這篇文章里實現(xiàn)的是 mosquitto→AWS→Gmail(紅框中內(nèi)容)的流程。

AWS IoT流程概念圖:下面按照這個流程圖設(shè)定AWS胞枕。

2 AWS IoT配置

準備工作

注冊AWS帳號

  • 這個帳號跟amazon購物用的帳號不通用杆煞,請另外申請。注意腐泻,需要綁定信用卡决乎。

正式作業(yè)

2-0 選擇對應(yīng)的服務(wù)。圖標和名稱如下
2-1 進入IoT設(shè)置頁面派桩。



※ 類型(type)暫時無視瑞驱,不需要創(chuàng)建。

2-2 創(chuàng)建規(guī)則


點擊 Add action創(chuàng)建規(guī)則對應(yīng)的反應(yīng)事件

2-3 創(chuàng)建規(guī)則對應(yīng)的反應(yīng)事件

這里做成發(fā)送通知郵件窄坦。




在下面頁面登記MQTT需要的主題(Topic)和訂閱者列表(Subscriptions)。



創(chuàng)建主題

創(chuàng)建完成的頁面

點擊 Public to topic 和 Create Subscription按鈕凳寺,開始登記收聽端列表(只創(chuàng)建一個測試用)


在彈出窗口中輸入信息


郵箱會收到驗證用郵件鸭津,點擊鏈接通過驗證


驗證后,就變成下面的狀態(tài)


此時進入之前規(guī)則制定窗口(主題創(chuàng)建的網(wǎng)頁可以關(guān)掉)肠缨,選擇對應(yīng)選項后逆趋,點擊 Add action按鈕


在下面頁面,點擊Create rule晒奕,完成創(chuàng)建


創(chuàng)建完成如下圖


2-4 創(chuàng)建策略
  • 可以簡單理解成闻书,把事務(wù),規(guī)則脑慧,主題什么的配置在同一個文件中用于管理的一個方式魄眉。
  • 需要注意的是,創(chuàng)建完成后闷袒,需要跟保證安全的CA證書坑律,事務(wù),主題綁定囊骤。
    點擊 Policies和Create a policy



創(chuàng)建后的策略

2-5 安全對策

AWS平臺發(fā)行CA證書以及密鑰晃择,保證通信的安全性。
按照下圖選擇1 Certificates和點擊2 Create a certificate 按鈕



點擊Create certificate 按鈕



生成后的密鑰下載頁面也物。先下載保存在本地宫屠,最終會上傳到Raspberry pi上。

證書情報查看頁面滑蚯,但是已經(jīng)生成的密鑰不能再檢索浪蹂。

證書生成完成后抵栈,就需要綁定事務(wù)和策略
首先選擇 Attach policy




CA證書用同樣的方式進行綁定。
接下來就是激活證書乌逐,使其可用竭讳。
點擊下面頁面中 Activate



提示已被激活

3 Raspberry Pi配置

Raspberry Pi 和AWS IoT之間的通信采用MQTT協(xié)議,請google自行學習浙踢【盥或者參照我的另一篇MQTT協(xié)議理解

準備工作

Raspberry Pi 3 提前安裝好raspbain系統(tǒng)洛波。
開通SSH或者VNC胰舆,以便通過自己的macboook/PC操控

Raspberry Pi 設(shè)置

3-1 執(zhí)行下面命令,按照MQTT客戶端蹬挤。

$ sudo apt-get install -y mosquitto-clients

3-2 做成作業(yè)目錄缚窿。用來保存CA證書。

$ mkdir aws-iot && cd $_

3-3將本地保存的下面三個CA證書焰扳,上傳到2中生成的文件夾中倦零。

XXXX-certificate.pem.crt
XXXX-private.pem.key
rootCA.pem
※不包含XXXX-public.pem.key證書
※rootCA.pem如果丟失,可以從下面url下載
rootCA.pem下載
執(zhí)行下面命令吨悍,分別把3個證書上傳到aws-iot中

scp 本地文件路徑 pi@192.168.0.X:/home/pi/aws-iot

3-4 執(zhí)行pub命令扫茅,測試

mosquitto_pub --cafile rootCA.pem
--cert 發(fā)行證書前半部分-certificate.pem.crt
--key 發(fā)行key前半部分-private.pem.key
-h 服務(wù)地址前半部分.iot.ap-northeast-1.amazonaws.com
-p 8883 -q 1 -d
-t topic/sns
-m '{"message":"Raspberry Pi "}'

※ -m '{"message":"Raspberry Pi "}',最后"Raspberry Pi "部分會換成GoogleDrive的地址育瓜,此時內(nèi)容可以隨意葫隙。
★★★★★★★★★★★★

mosquitto_pub執(zhí)行是坑最多最多的地方。以下幾點需要注意躏仇!

  • 要保證命令執(zhí)行位置在aws-iot

  • 確保mosquitto是最新恋脚。

    • 現(xiàn)在最新版本是1.4.12
    • 檢查mosquitto_pub版本命令

    mosquitto_pub --help | grep version
    - 升級mosquitto_pub版本命令方法1
    >$ sudo apt-get update
    >$ sudo apt-get install mosquitto-clients

    • 升級mosquitto_pub版本命令方法2
      GPG key安裝

$ sudo wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key
$ sudo apt-key add mosquitto-repo.gpg.key

安裝mosquitto-jessie.list

$ sudo wget http://repo.mosquitto.org/debian/mosquitto-jessie.list -O /etc/apt/sources.list.d/mosquitto-jessie.list

安裝mosquitto

$ sudo apt-get update
$ sudo apt-get install mosquitto mosquitto-clients

  • Error: The connection was lost....發(fā)生的時候

    • 確保AWS上的 事務(wù),CA焰手,策略 是綁定OK的糟描,且CA是激活狀態(tài)。
    • 確保-h參數(shù)的主題名稱和策略中的Resource匹配书妻。最簡單辦法是Resource設(shè)置成* 蚓挤。
  • 降級mosquitto(估計用不著,網(wǎng)上找的解決方案記錄一下)

查詢已經(jīng)安裝的程序驻子,順便記住程序全名
apt list mosquitto*

刪除對應(yīng)程序
apt-get –purge remove XXXX(第一步里面的名稱)

重啟系統(tǒng)

安裝舊版本程序
然后下載代碼灿意,自己編譯

1.安裝和使用注意點

1.1 安裝

版本為mosquitto-1.4.5

下載源代碼包

wget http://mosquitto.org/files/source/mosquitto-1.4.5.tar.gz

解壓

tar zxfv mosquitto-1.4.5.tar.gz

進入目錄

cd mosquitto-1.4.5

編譯

make

安裝

sudo make install

1.2 安裝注意點

【1】編譯找不到openssl/ssl.h
【解決方法】——安裝openssl
sudo apt-get install libssl-dev
【2】編譯過程找不到ares.h
sudo apt-get install libc-ares-dev
【3】編譯過程找不到uuid/uuid.h
sudo apt-get install uuid-dev
【4】使用過程中找不到libmosquitto.so.1
error while loading shared libraries: libmosquitto.so.1: cannot open >shared object file: No such file or directory
【解決方法】——修改libmosquitto.so位置

創(chuàng)建鏈接

sudo ln -s /usr/local/lib/libmosquitto.so.1 /usr/lib/libmosquitto.so.1

更新動態(tài)鏈接庫

sudo ldconfig
【5】make: g++:命令未找到
【解決方法】
安裝g++編譯器
sudo apt-get install g++

★★★★★★★★★★★★

3-5 測試結(jié)果(gmail郵件)

到這一步為止,Raspberry Pi→ AWS IoT → SNS 已經(jīng)疏通崇呵。

下一步

使用motion程序缤剧,進行動態(tài)監(jiān)控和觸發(fā)警報郵件

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市域慷,隨后出現(xiàn)的幾起案子荒辕,更是在濱河造成了極大的恐慌汗销,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,029評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件抵窒,死亡現(xiàn)場離奇詭異弛针,居然都是意外死亡,警方通過查閱死者的電腦和手機李皇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評論 3 385
  • 文/潘曉璐 我一進店門削茁,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人掉房,你說我怎么就攤上這事茧跋。” “怎么了卓囚?”我有些...
    開封第一講書人閱讀 157,570評論 0 348
  • 文/不壞的土叔 我叫張陵瘾杭,是天一觀的道長。 經(jīng)常有香客問我哪亿,道長粥烁,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,535評論 1 284
  • 正文 為了忘掉前任蝇棉,我火速辦了婚禮讨阻,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘银萍。我一直安慰自己,他們只是感情好恤左,可當我...
    茶點故事閱讀 65,650評論 6 386
  • 文/花漫 我一把揭開白布贴唇。 她就那樣靜靜地躺著,像睡著了一般飞袋。 火紅的嫁衣襯著肌膚如雪戳气。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,850評論 1 290
  • 那天巧鸭,我揣著相機與錄音瓶您,去河邊找鬼。 笑死纲仍,一個胖子當著我的面吹牛呀袱,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播郑叠,決...
    沈念sama閱讀 39,006評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼夜赵,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了乡革?” 一聲冷哼從身側(cè)響起寇僧,我...
    開封第一講書人閱讀 37,747評論 0 268
  • 序言:老撾萬榮一對情侶失蹤摊腋,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后嘁傀,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體兴蒸,經(jīng)...
    沈念sama閱讀 44,207評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,536評論 2 327
  • 正文 我和宋清朗相戀三年细办,在試婚紗的時候發(fā)現(xiàn)自己被綠了橙凳。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,683評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡蟹腾,死狀恐怖痕惋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情娃殖,我是刑警寧澤值戳,帶...
    沈念sama閱讀 34,342評論 4 330
  • 正文 年R本政府宣布,位于F島的核電站炉爆,受9級特大地震影響堕虹,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜芬首,卻給世界環(huán)境...
    茶點故事閱讀 39,964評論 3 315
  • 文/蒙蒙 一赴捞、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧郁稍,春花似錦赦政、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,772評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至财破,卻和暖如春掰派,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背左痢。 一陣腳步聲響...
    開封第一講書人閱讀 32,004評論 1 266
  • 我被黑心中介騙來泰國打工靡羡, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人俊性。 一個月前我還...
    沈念sama閱讀 46,401評論 2 360
  • 正文 我出身青樓略步,卻偏偏與公主長得像,于是被迫代替她去往敵國和親定页。 傳聞我的和親對象是個殘疾皇子纳像,可洞房花燭夜當晚...
    茶點故事閱讀 43,566評論 2 349

推薦閱讀更多精彩內(nèi)容