99精品伊人亚洲|最近国产中文炮友|九草在线视频支援|AV网站大全最新|美女黄片免费观看|国产精品资源视频|精彩无码视频一区|91大神在线后入|伊人终合在线播放|久草综合久久中文

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

怎樣制作樹莓派Gmail通知燈

454398 ? 來源:網(wǎng)絡(luò)整理 ? 作者:網(wǎng)絡(luò)整理 ? 2019-11-29 10:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在這個快速而簡單的Raspberry Pi項目中,您將學(xué)習(xí)如何使Gmail電子郵件通知指示燈亮起。如果您有未讀的電子郵件,則Python腳本會打開LED。該項目需要很少的零件,并且可以在一個小時內(nèi)完成!當(dāng)然,您可以按照自己喜歡的任何方式來裝飾LED,例如MineCraft紅石塊或其他以透明塑料3D打印的物體。最終結(jié)果如下:

您需要什么

1 x Raspberry Pi

1 x面包板

1 x 220 ohm電阻器

1 x 5mm LED

1 x Gmail帳戶

公對母連接線

任何Raspberry Pi將適用于該項目-甚至Pi Zero!只需要一個GPIO引腳即可,它對CPU的占用不是特別大。如果您擁有Pi入門套件,那么您將擁有足夠多的零件來完成此任務(wù)。

構(gòu)建計劃

這是一個非常簡單的項目。發(fā)光二極管(LED)連接到Pi上的GPIO(通用輸入輸出)引腳。一個非常簡單的Python腳本將定期運行,以檢查未讀的電子郵件并相應(yīng)地打開或關(guān)閉LED。

硬件

LED的陽極(長腳)連接到電阻,然后連接到GPIO引腳14。您可以使用任何GPIO引腳,但是請先看一下引腳排列,因為它們在型號之間略有不同。將負(fù)極(具有平坦邊緣的短腿)接地。

Pi設(shè)置

提供您的Pi已安裝操作系統(tǒng)(OS)不需要很多設(shè)置(不確定您需要什么嗎?了解如何在此處安裝)。在Pi上打開一個新終端(左上》 菜單》 附件》 終端)(簽出這些快捷方式可以讓您成為編碼忍者)。您需要創(chuàng)建一個新文件夾來存儲Python腳本。輸入以下命令:

pwd

這代表“打印工作目錄”,并將顯示您所在的文件夾(默認(rèn)情況下為“/home/pi” )。導(dǎo)航到documents文件夾并創(chuàng)建一個名為“ gmail_python”的新目錄(文件夾):

cd Documents/

sudo mkdir gmail_python

“ mkdir”命令代表“ Make Directory”。此后的所有內(nèi)容都將用作目錄名?,F(xiàn)在,您應(yīng)該可以看到目錄:

ls

如果輸入有誤,則可以輕松刪除此目錄:

sudo rm -r gmail_python

現(xiàn)在導(dǎo)航到新目錄:

cd gmail_python/

創(chuàng)建新的Python腳本:

sudo nano check_messages.py

這將創(chuàng)建腳本并將其打開以準(zhǔn)備在Nano中進行編輯。您當(dāng)然可以使用其他程序,例如Vim,盡管此推文總結(jié)了我對此的看法:

我已經(jīng)使用Vim大約2多年以來,主要是因為我不知道如何退出。

—我是Devloper(@iamdevloper),2014年2月17日

開玩笑,檢查一下

按 CTRL + X 退出Nano并返回到終端。

Python設(shè)置strong》

現(xiàn)在已經(jīng)設(shè)置好Pi,是時候編寫代碼了。此項目需要由Charlie Guo制作的出色的Gmail Python庫。從Github下載庫并提取內(nèi)容。里面應(yīng)該有一個名為“ gmail”的文件夾。將整個文件夾復(fù)制到“/home/pi/Documents/gmail_python”中。

切換回命令行并再次打開腳本(如果按向上鍵,則可以滾動瀏覽先前輸入的命令) :

sudo nano check_messages.py

請注意,該命令與您用來創(chuàng)建文件的命令相同,如果已存在該文件,則將其打開,否則將創(chuàng)建該文件。這是Python:

import gmail, RPi.GPIO as GPIO, time # import modules

GPIO.setwarnings(False)

GPIO.setmode(GPIO.BCM) # tell the Pi what headers to use

GPIO.setup(14, GPIO.OUT) # tell the Pi this pin is an output

g = gmail.login(‘YOUREMAIL@gmail.com’, ‘YOUR PASSWORD’)

unread_messages = g.inbox().mail(unread=True)

total_messages = 0

for message in unread_messages:

total_messages += 1

if total_messages 》 0:

# there are unread emails, turn light on

GPIO.output(14, True)

else:

# there are no unread emails, turn light off

GPIO.output(14, False)

您需要輸入用戶名和密碼才能使用此功能。您可以根據(jù)需要查看gmail插件的完整源代碼。如果您不滿意這樣做(或者您使用的是雙重身份驗證),則需要使用OAuth2連接到Gmail。本教程涉及到一些內(nèi)容,但是Google提供了出色的入門指南。

讓我們分解一下代碼。首先,導(dǎo)入一些模塊。 Python中的模塊是為特定目的而編寫的一小段代碼(類似于Arduino IDE中的庫)。 RPi.GPIO是Pi專用的模塊,用于訪問GPIO,gmail是您先前下載的模塊,time是Python內(nèi)置的模塊,用于提供計時功能?,F(xiàn)在,“ GPIO.setmode”和“ GPIO.setup”用于告訴Pi引腳14是輸出,并且您要使用“ Broadcom引腳編號”(有關(guān)BCM的更多信息)。

這條線連接到您的Gmail帳戶。它創(chuàng)建一個名為“ g”的對象,并調(diào)用先前導(dǎo)入的gmail模塊的login方法。不要忘記輸入您的Gmail電子郵件和密碼。

g = gmail.login(‘YOUREMAIL@gmail.com’, ‘YOUR PASSWORD’)

現(xiàn)在,檢索所有未讀郵件并將其存儲在名為“未讀郵件”的變量中:

unread_messages = g.inbox().mail(unread=True)

注意如何將“ unread = True”作為參數(shù)傳遞-您可以更改此參數(shù)以根據(jù)不同的參數(shù)(例如發(fā)件人或主題)檢索郵件。查看應(yīng)用程序編程接口(API)文檔以獲取更多信息。

接下來,使用for循環(huán)遍歷每條消息:

for message in unread_messages:

total_messages += 1

for循環(huán)非常有用。他們重復(fù)執(zhí)行幾次代碼塊,每次值通常略有不同。此for循環(huán)遍歷unread_messages中的每條消息,并增加“ total_messages”變量。

最后,使用一些簡單的“ if”語句。如果有未讀消息,請打開LED指示燈,否則請關(guān)閉LED指示燈。

請記住,Python區(qū)分大小寫,并使用白色間距。如果您在運行代碼時遇到問題,請嘗試訪問該網(wǎng)站。將您的Python粘貼并點擊“在python代碼上方驗證”按鈕。然后應(yīng)該可以告訴您Python中存在什么錯誤(如果有)。

切換到終端并運行腳本:

python check_messages.py

此命令將運行您的腳本。嘗試手動將收件箱中的某些電子郵件更改為未讀狀態(tài)并再次運行腳本-您應(yīng)該看到LED亮起或熄滅以反映您的收件箱。

Cron設(shè)置

現(xiàn)在,該腳本有效,是時候?qū)⑵渥詣踊?。最簡單的方法是通過cron工作。 Cron作業(yè)用于安排任務(wù)和腳本,例如自動備份。打開Crontab(計劃任務(wù)的列表):

crontab -e

如果尚未設(shè)置任何計劃任務(wù),則此文件為空(可能包含文檔或注釋,前面帶有一種 ”?!保H绻呀?jīng)在此處輸入了條目,只需在新行上輸入新命令即可:

* * * * * python ~/pi/Documents/gmail_python/check_messages.py

五個“星號”(“ * * * * *”)指定了通常會執(zhí)行任務(wù)(您可以在這里獲得真正的贊譽,例如,每第二個星期三2.00)。這五顆星表示該任務(wù)應(yīng)每分鐘運行一次。這是允許的最小間隔(了解有關(guān)cronjob調(diào)度的更多信息)。接下來,“ python”告訴調(diào)度程序?qū)⒛_本作為python文件執(zhí)行。最后,“?/pi/Documents/gmail_python/check_messages.py”是腳本的絕對文件路徑-相對路徑將不起作用。

您現(xiàn)在應(yīng)該擁有自己的Gmail通知燈!修改此代碼以根據(jù)不同的要求或過濾器查找消息(在這里學(xué)習(xí)如何使用過濾器),或者執(zhí)行不同的代碼段,將非常簡單—也許您可以創(chuàng)建一個基于電子郵件推特的Twitter機器人(學(xué)習(xí)

責(zé)任編輯:wv

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • led
    led
    +關(guān)注

    關(guān)注

    242

    文章

    23847

    瀏覽量

    674126
  • 樹莓派
    +關(guān)注

    關(guān)注

    121

    文章

    2009

    瀏覽量

    107472
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    樹莓6 傳聞:發(fā)布日期與規(guī)格!

    每當(dāng)我想再為我的收藏增添一款樹莓時,總會在是立即購買還是等待硬件更強大的下一代之間猶豫不決。但新樹莓型號的發(fā)布往往容易被錯過,尤其是在你的信息流被病毒式傳播的貓咪視頻占據(jù)時。因此,
    的頭像 發(fā)表于 07-11 16:21 ?203次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>6 傳聞:發(fā)布日期與規(guī)格!

    樹莓小技巧:無需鍵盤或顯示器,如何通過WiFi設(shè)置樹莓?

    樹莓是一款小巧便攜的USB供電計算機,可以隱藏起來用于小型項目,如網(wǎng)絡(luò)服務(wù)器或家庭自動化。通常,設(shè)置樹莓需要鍵盤和顯示器來編輯和查看樹莓
    的頭像 發(fā)表于 06-26 15:41 ?312次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>小技巧:無需鍵盤或顯示器,如何通過WiFi設(shè)置<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>?

    樹莓分類器:用樹莓識別不同型號的樹莓

    在本教程系列的第一部分中,您將學(xué)習(xí)如何使用樹莓AI攝像頭來檢測不同的樹莓型號。本系列由DavidPlowman創(chuàng)建,他是樹莓
    的頭像 發(fā)表于 06-13 16:39 ?419次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>分類器:用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>識別不同型號的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>!

    樹莓“揪出”家里的耗電怪獸!

    在本應(yīng)用中,我們將使用樹莓設(shè)置一個CE電流監(jiān)測器,并通過網(wǎng)頁界面顯示電路的電流讀數(shù)。本項目使用的組件硬件組件樹莓2ModelBx112通道20安培電流監(jiān)測控制器x1項目背景介紹在本
    的頭像 發(fā)表于 06-04 15:33 ?718次閱讀
    用<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>“揪出”家里的耗電怪獸!

    樹莓“吉尼斯世界記錄”:將樹莓的性能發(fā)揮到極致的項目!

    樹莓是一款功能強大、體積小巧且高度可定制的設(shè)備,多年來,我們見證了它被應(yīng)用于眾多領(lǐng)域。無論是將其裝入3D打印的經(jīng)典游戲機外殼,還是簡單地將它隱藏起來作為家庭文件服務(wù)器,我們都報道過在社區(qū)里用樹莓
    的頭像 發(fā)表于 05-22 16:53 ?644次閱讀
    <b class='flag-5'>樹莓</b><b class='flag-5'>派</b>“吉尼斯世界記錄”:將<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>的性能發(fā)揮到極致的項目!

    樹莓 Zero 打造的智能漫游車!

    使用PXFMini和樹莓Zero打造您自己的自主漫游車。本項目所用組件硬件組件ErleRoboticsPXFmini×1樹莓Zero×1樹莓
    的頭像 發(fā)表于 05-13 16:39 ?442次閱讀
    用 <b class='flag-5'>樹莓</b><b class='flag-5'>派</b> Zero 打造的智能漫游車!

    超酷的樹莓智能鏡項目,快來了解!

    ,這些樹莓智能鏡項目都非常值得一看。制作一個能夠顯示實時天氣、新聞、旅行信息等內(nèi)容的魔鏡是一個熱門項目。學(xué)習(xí)如何使用RaspberryPi單板計算機以極低的成本制作
    的頭像 發(fā)表于 03-25 09:33 ?588次閱讀
    超酷的<b class='flag-5'>樹莓</b><b class='flag-5'>派</b>智能鏡項目,快來了解!

    樹莓傳感器使用方法 樹莓 Raspberry Pi 4優(yōu)缺點

    樹莓傳感器使用方法 樹莓(Raspberry Pi)是一款由英國樹莓基金會開發(fā)的小型單板計
    的頭像 發(fā)表于 12-06 10:35 ?2140次閱讀

    ARM開發(fā)板與樹莓的比較

    ARM開發(fā)板和樹莓都是基于ARM架構(gòu)的單板計算機,它們在教育、工業(yè)控制、物聯(lián)網(wǎng)等領(lǐng)域有著廣泛的應(yīng)用。 硬件配置 ARM開發(fā)板和樹莓的硬件配置各有特點,具體取決于不同的型號和制造商。
    的頭像 發(fā)表于 11-05 11:11 ?1394次閱讀

    樹莓gpio有什么用,樹莓gpio接口及編程方法

    一、樹莓GPIO的用途 樹莓(Raspberry Pi)是一款小巧、功能強大的單板計算機,廣泛應(yīng)用于編程教育、物聯(lián)網(wǎng)項目、家庭媒體中心等領(lǐng)域。GPIO(General Purpos
    的頭像 發(fā)表于 10-22 18:09 ?2683次閱讀

    什么是樹莓?樹莓是什么架構(gòu)的

    什么是樹莓 樹莓(Raspberry Pi,簡寫為RPi,別名為RasPi/RPI)是由英國“Raspberry Pi 慈善基金會”開發(fā)的一款為學(xué)習(xí)計算機編程教育而設(shè)計的微型電腦。
    的頭像 發(fā)表于 10-22 17:33 ?5848次閱讀

    樹莓和單片機的優(yōu)缺點是什么

    樹莓(Raspberry Pi)和單片機(Microcontroller)是兩種廣泛應(yīng)用于電子項目和嵌入式系統(tǒng)的硬件平臺。它們各自具有獨特的優(yōu)缺點,適用于不同的應(yīng)用場景。 樹莓
    的頭像 發(fā)表于 08-30 18:21 ?2901次閱讀

    樹莓的功能用途是什么

    樹莓(Raspberry Pi)是一款由英國樹莓基金會研發(fā)的信用卡大小的單板計算機,自2012年推出以來,已經(jīng)發(fā)展出多個型號和版本。樹莓
    的頭像 發(fā)表于 08-30 18:01 ?4619次閱讀

    樹莓是x86還是arm

    樹莓(Raspberry Pi)是一款由英國樹莓基金會(Raspberry Pi Foundation)開發(fā)的微型計算機。它基于ARM架構(gòu),而非x86架構(gòu)。 一、
    的頭像 發(fā)表于 08-30 15:42 ?2508次閱讀

    樹莓裝ubuntu和raspbian哪個更好

    樹莓(Raspberry Pi)是一款由英國樹莓基金會開發(fā)的單板計算機,廣泛應(yīng)用于教育、科研、物聯(lián)網(wǎng)等領(lǐng)域。樹莓
    的頭像 發(fā)表于 08-30 15:41 ?2848次閱讀