chinese直男口爆体育生外卖, 99久久er热在这里只有精品99, 又色又爽又黄18禁美女裸身无遮挡, gogogo高清免费观看日本电视,私密按摩师高清版在线,人妻视频毛茸茸,91论坛 兴趣闲谈,欧美 亚洲 精品 8区,国产精品久久久久精品免费

電子發(fā)燒友App

硬聲App

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

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

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>基于物聯(lián)網(wǎng)的多重警報

基于物聯(lián)網(wǎng)的多重警報

2022-11-03 | zip | 0.09 MB | 次下載 | 2積分

資料介紹

描述

介紹

家里的安全非常重要。該項目展示了一個原型智能門鎖安全系統(tǒng),可用于增強門的安全性。除了使用鑰匙的傳統(tǒng)方法門外,未經(jīng)授權(quán)的人或竊賊只要擁有正確的鑰匙,就可以輕松打開門。這將使他們能夠偷走房子里所有有價值的東西。

該項目的核心理念是實現(xiàn)基于智能多警報智能物聯(lián)網(wǎng)的門鎖安全系統(tǒng),盡可能減少用戶交互。因此,在這個項目中,我們將構(gòu)建自己的安全系統(tǒng),該系統(tǒng)可以檢測門/窗是否打開。警報可以通過谷歌助手通過語音命令激活或取消激活,當檢測到入侵時,它還會在電報頻道上向您和您的親屬發(fā)送一封郵件,向他們發(fā)出警告。很酷的是,整個東西都在云上運行,因此可以從世界任何地方進行控制。

基于物聯(lián)網(wǎng)的項目可以引領(lǐng)我們對自動化鎖定安全系統(tǒng)進行另一場革命。安全可以通過普通保安來實現(xiàn),但數(shù)字化比其他所有方式都更有效。其非凡的特點是通過一點點使用物聯(lián)網(wǎng)和云計算,讓您的家庭、工業(yè)、學校、學院、服務器機房等變得智能和智能,從而節(jié)省時間、節(jié)省人力資源并獲得良好的效果。該安全系統(tǒng)將為所有關(guān)注安全的人提供幫助。

您可以使用您的項目或模型的區(qū)域。

在以下領(lǐng)域,您可以使用我們的項目提供智能門鎖安全。

  • 商業(yè)的

寫字樓、購物中心、銀行、服務器機房、酒店和公寓

  • 工業(yè)的

辦公室/倉庫、工業(yè)產(chǎn)權(quán)、存儲單元/車庫、數(shù)據(jù)

中心、發(fā)電廠

  • 運輸

機場航站樓、火車、地鐵和巴士站、停車場、配送中心

  • 教育

學校、大學、寄宿學校、圖書館、幼兒園

  • 休閑娛樂

餐廳、體育館、體育場

工作原則

基于物聯(lián)網(wǎng)門鎖的系統(tǒng)使用基于樂鑫半導體著名的 ESP8266 Wi-Fi 模塊的 Bolt 開發(fā)板。但是這里它內(nèi)部運行著自己的 Bolt 固件,這有助于我們通過 Bolt 提供的 API 訪問 GPIO 引腳(數(shù)字讀/寫、模擬讀、PWM 寫)等。

在我們的硬件中,我們將在門上安裝一個霍爾效應傳感器和磁鐵。當門打開時,磁鐵會遠離霍爾傳感器,傳感器會檢測到它,這可以通過 API 調(diào)用讀取,我們可以觸發(fā)蜂鳴器,并通過男性和電報向用戶發(fā)出警報。要激活警報,只需說在 IFTTT 中設置的 Google 助手的命令(激活安全警報)。一旦激活,橙色燈將開始發(fā)光,指示狀態(tài)。現(xiàn)在,只要門打開,警報就會響起,蜂鳴器響起,并且一封郵件將與 Telegram Channel 上的消息一起發(fā)送到您的 Gmail 收件箱,其中包含違規(guī)日期和時間。

pYYBAGNh2g-AexmxAAEyUQutipk06.jpeg
?
pYYBAGNh2hKAfrzSAAEcW-nbUNI25.jpeg
螺栓銷連接接口
?
poYBAGNh2haAOTHuAAExphhBLBU82.jpeg
面包板連接
?

創(chuàng)建我們的項目的步驟:-

設置 Bolt IoT 模塊

在我們從這里開始之前,我們必須設置 Bolt 硬件。這很容易做到,只需在您的手機上安裝 bolt 應用程序并輸入您的 Wi-Fi 憑據(jù),以便您的 bolt 可以連接到您的 Wi-Fi,從而連接到互聯(lián)網(wǎng)。然后您可以訪問云頁面以從那里獲取您的設備 ID 和 API 密鑰,一切順利。您可以訪問BoltIOT 文檔以了解更多信息。

poYBAGNh2hmARqjsAABw1pigCUM114.png
?

使用 Bolt IoT 硬件的 GPIO 引腳

正如我之前所說,Bolt 硬件的所有 GPIO 引腳都連接到云端,它們只能通過 API 進行控制(讀/寫)。API 詳細信息可以在我之前分享的文檔中找到。但是,讓我們以一個為例。讀取引腳狀態(tài)的 API 在文檔中進行了解釋,如下所示

pYYBAGNh2huAOiRlAAA9Pstsz3w158.png
?

這里,我們感興趣的是API URL

這里的 API 密鑰是 44b2de6b-7e68-40e7-a27f-814b58afe008,設備 ID 是 BOLT13819450。但這是一個示例密鑰和 ID,與您的設備不同。您必須訪問 cloud.boltiot.com 以獲取您設備的設備 ID 和 API 密鑰。下面的快照可以幫助您。

pYYBAGNh2h6AQoS_AAAtUVBfC9c565.jpg
?

獲得 API 密鑰和設備 ID 后,您只需將默認值替換為您的值并在瀏覽器中加載 URL。您的瀏覽器將使用 PIN 的狀態(tài)回復

{"success": "1", "value": "1"} or {"success": "1", "value": "0"}

如果值為 1,則為高,如果為 0,則為低。同樣,您可以嘗試所有命令的 API 鏈接,例如數(shù)字讀取、寫入、模擬寫入、PWM 甚至串行通信。一旦你玩完它,讓我們繼續(xù)這個項目的實際程序。

準備 Python 環(huán)境

正如我之前所說,bolt 可以使用 JavaScript、HTML 或 Python 進行編程。在這里,我們將只專注于如何使用 python 來完成。我們必須在已經(jīng)安裝了 python 的計算機上編寫 python 腳本。如果您對這一切不熟悉,我建議您閱讀本文以了解如何安裝 python 并開始使用它。除此之外,我們還需要安裝兩個庫包才能使我們的程序正常工作。您可以使用 pip install 選項將包添加到 python,在 python 目錄中的終端上運行以下命令來安裝包。打開 Windows 終端并導航到主要位于C://Python 3中的 python 目錄

第 1 步:-如果您之前沒有安裝過 pip,請安裝。使用以下命令安裝它

sudo easy_install pip

第 2 步:-在 C://Python/Scripts 目錄中安裝 requests 包

pip install requests

第 3 步:-使用以下命令安裝 boltiot 包

pip install boltiot

安裝成功完成后,您的 careen 應該如下所示

poYBAGNh2iCAMBB0AAE35bWikSQ396.png
?

就是這樣,現(xiàn)在我們打開了 Python IDLE 并開始為我們的安全系統(tǒng)編寫我們的實際程序。但在此之前,通過谷歌助手激活或關(guān)閉警報以及向我們的電報頻道發(fā)送電子郵件發(fā)送消息,我們使用谷歌助手服務和 IFTTT 提供的網(wǎng)絡掛鉤服務。所以讓我們繼續(xù)設置它們。如果您不熟悉使用 IFTTT 小程序,那么建議您在繼續(xù)之前閱讀本文。

使用 Google 助理激活和停用鬧鐘

我們必須為此創(chuàng)建兩個小程序(食譜),一個是激活警報,另一個是取消激活警報。當警報被激活時,連接到引腳 3 的電容器應該被充電,當警報被禁用時,連接到引腳 4 的電容器應該被充電。

pYYBAGNh2iWAItZqAABsLw8ZUF8391.png
激活安全警報
?
pYYBAGNh2ieAPV3EAACI0AP1XO8673.png
解除安全警報
?

小程序為此服務使用 Google 助手,并且網(wǎng)絡掛鉤獲取對該服務的請求。下面的屏幕截圖顯示了如何設置小程序以在激活警報時將引腳 3 設為高電平,并在通過 Google 助手停用警報時將引腳 4 設為高電平。

poYBAGNh2iqAeCIyAAHDaM1eURY790.png
?

?

poYBAGNh2iyAUpCuAACwPKVdacc27.jpeg
?

電容器的用途是什么?

電容器 1 和 2 用作存儲元件。當電路板收到來自 IFTTT 的命令時,引腳 3 和 4 將用作輸出引腳。根據(jù)命令,電路板將為電容器 1 或電容器 2 充電。

現(xiàn)在,當 IFTTT 操作完成時,Python 代碼將引腳 3 和 4 作為輸入引腳,通過讀取這些引腳的狀態(tài),Python 代碼將了解是否應該根據(jù)哪個電容器充電來激活或停用警報。簡而言之,將 IFTTT 與 Python 接口是一個小技巧。如果 Bolt 平臺提供了一個虛擬位,但這里說這不是一個選項,那會容易得多。

檢測到入侵者時發(fā)送電子郵件

第三個小程序是在檢測到入侵者時發(fā)送電子郵件。這可以通過使用 IFTTT 上的網(wǎng)絡掛鉤和 Gmail 服務來完成。Webhooks 服務將為我們提供一個 URL,該 URL 在加載時將觸發(fā)該預定義的電子郵件。小程序的快照如下所示。您可以根據(jù)需要自定義接收者 ID 和文本。如果檢測到入侵者,該 URL 將在 python 腳本中使用 requests 庫觸發(fā)。

pYYBAGNh2jGAbA88AADpotaWhLw994.png
?

當檢測到入侵者時向電報頻道發(fā)送警報。

1. 當檢測到任何入侵者時,我們將利用電報頻道廣播警報。

2. 首先,在電報中創(chuàng)建一個新頻道并提供合適的名稱和描述,如下所示。

3. 在下一個屏幕中,將頻道設置為公開,并根據(jù)您的意愿輸入頻道永久鏈接。將此頻道鏈接保存為“telegram_chat_id” ,其中下圖為“smart_door_lock_alarm”。

pYYBAGNh2jWAU30SAAB_1v1tShE05.jpeg
?

4. 現(xiàn)在讓我們?yōu)槲覀兊念l道創(chuàng)建一個機器人。機器人是在電報中運行的第三方應用程序,我們將使用此機器人向我們的頻道發(fā)送警報。

5. 在電報首頁,點擊右上角的搜索圖標,搜索botfather。

6. 在搜索結(jié)果中,選擇旁邊有藍色勾號的botfather。

7.聊天顯示幾個可能的命令,輸入“/newbot”來創(chuàng)建一個新的機器人。

8. 為您的機器人提供正確的名稱和用戶名。

9. 成功創(chuàng)建機器人后,它會生成一個令牌。此令牌用于通過 python 發(fā)送和接收消息。

10. 請將此便箋另存為“telegram_bot_id” ,其中保存為“bot”,后跟bot token。

poYBAGNh2jiAQQdmAAFSq5XOzPA62.jpeg
?
pYYBAGNh2juAAk9FAAFuNTXBDmw11.jpeg
?

11. 現(xiàn)在讓我們將機器人添加到我們的頻道,轉(zhuǎn)到頻道描述并從 3 點菜單中選擇添加管理員。從搜索字段中選擇機器人并賦予機器人適當?shù)臋?quán)限。

選擇添加管理員

12.恭喜!您已成功創(chuàng)建頻道和機器人。

poYBAGNh2j-AaoB1AADKIg6mt6M10.jpeg
?

Python程序說明

物聯(lián)網(wǎng)安全警報完整 Python 代碼可在本項目末尾找到。在本節(jié)中,讓我們將代碼分成小片段并嘗試理解它們。python腳本的總體目標是檢查警報是激活還是取消激活,如果激活,我們必須檢查門是否打開,如果打開,我們必須觸發(fā)電子郵件并打開蜂鳴器。

我們已經(jīng)知道,如果我們必須激活安全系統(tǒng),引腳 3 上的電容會很高,如果我們必須停用安全系統(tǒng),引腳 4 上的電容會很高。所以我們只需要在我們的 python 腳本中讀取它們來激活或取消激活警報。

我們通過導入時間、json、請求boliot庫來開始程序其中時間庫默認添加到 python 中,但是您必須手動安裝 requests 和 boltiot 包,正如我們之前討論的那樣,否則您將在這些行中收到錯誤。

import time #導入延遲操作的時間

import requests #use requests 通過 webhooks IFTTT 發(fā)送郵件

from boltiot import Bolt #導入boliot 通過 API 控制 GPIO 引腳

import json # 處理 JSON 數(shù)據(jù)的庫

接下來我們輸入設備的憑據(jù),例如 API 密鑰和設備 ID 。只有使用這兩個值,您才能訪問設備上的任何 GPIO 引腳。如果任何人都可以使用它們來控制您的 GPIO 引腳,請不要與公眾分享這些。

api_key = "4749fe75-6c61-45f1-bee5-f9a6a1bd9103" #Get your API key from Blot Cloud Web
                                                  site 
device_id  = "BOLT11691968" #Get your Bolt device ID form Bolt Cloud Website
mybolt = Bolt(api_key, device_id)

telegram_chat_id = "@XXXX" # This is the channel ID of the created Telegram channel.    
                             Paste after @ symbol.

telegram_bot_id = "botXXXX"  # This is the bot ID of the created Telegram Bot. Paste 
                             after bot text.

正如 API 部分所討論的,當我們以字符串的形式執(zhí)行數(shù)字讀取時,我們將得到響應,因此我將這些字符串值分配給了兩個變量,以便我們可以在程序中輕松使用它們。

HIGH = '{"value": "1", "success": "1"}' #This will be returned by bolt API if digital read is high
LOW = '{"value": "0", "success": "1"}'#This will be returned by bolt API if digital read is low

現(xiàn)在我們創(chuàng)建一個名為send_telegram_message()的函數(shù),它將消息作為參數(shù)

在第一行中,我們正在構(gòu)建 URL,以便 Telegram 知道它必須將消息發(fā)送到哪個機器人。telegram_bot_id 為此目的是必需的。數(shù)據(jù)變量是一個包含聊天 ID(頻道 ID)的字典,以便 Bot 知道它必須將消息發(fā)布到哪個頻道。它還包含要作為消息發(fā)送的文本消息。

在下一步中,我們需要使用我們之前構(gòu)建的 URL 向 Telegram 服務器發(fā)出 HTTP 請求。該請求是一個“POST”請求,其中包含所有相關(guān)數(shù)據(jù),如 URL 和要包含在請求中的數(shù)據(jù)。

` telegram_data = json.loads(response.text) ` 行將文本響應轉(zhuǎn)換為 JSON 對象并將其存儲在 telegram_data 中。請求的狀態(tài)存儲在 telegram_data 變量的“ok”字段中,我們將其返回. “ok”字段將始終包含一個布爾值,即 True/False,如果消息已發(fā)送,則為 True。

該函數(shù)被封裝在一個 try-except 塊中,以便捕獲任何錯誤,如果 try 塊中存在任何錯誤,它將返回 False。

def send_telegram_message(message):
    """Sends message via Telegram"""
    url = "https://api.telegram.org/" + telegram_bot_id + "/sendMessage"
    data = {
        "chat_id": telegram_chat_id,
        "text": message
    }
    try:
        response = requests.request("POST",url,params=data)
        telegram_data = json.loads(response.text)
        return telegram_data["ok"]
    except Exception as e:
        print("An error occurred in sending the alert message via Telegram")
        print(e)
        return False

在無限while循環(huán)中,我們還有另外兩個循環(huán)。如果從 Google 助手激活警報,則將執(zhí)行一個,如果取消激活警報,則將執(zhí)行另一個。默認情況下,如果沒有收到命令,將執(zhí)行去激活的循環(huán)。

在這里,必須通過讀取引腳 3 來檢查警報是否被激活,引腳 3 只不過是電容器。如果引腳為高電平,我們使橙色 LED 發(fā)光,然后退出此循環(huán)并進入激活的while循環(huán)。我們每 5 秒檢查一次,以確保我們不超過bolt 提供的 API 速率限制,即每分鐘 30 次調(diào)用。

while alarm == 0: #If alarm is off
        response = mybolt.digitalRead('3') #check if it is being activated
        if (response == HIGH):
            print("Security System is activated")
            mybolt.digitalWrite('2', 'HIGH')  #Turn on LED to indicate Alarm is  
                                               activated
            mybolt.digitalWrite('4','LOW') #Turn off the capacitor of the 4 pin
            alarm = 1
        elif (response == LOW):
           print ("Waiting for Security System to be activated....")
        else:
           print ("Problem in getting value form pin 3")
        time.sleep(2) #check once in every 2 seconds to avoid exceeding API rate limit

同樣,在激活的while循環(huán)中,我們必須檢查引腳 4 以了解警報是否被取消激活。如果停用,我們將關(guān)閉橙色循環(huán)并返回停用的while循環(huán)。否則,我們必須通過讀取引腳 0 來檢查磁鐵是否靠近霍爾傳感器。如果引腳為高電平,則意味著磁鐵遠離傳感器,表明門已打開。所以我們觸發(fā)了蜂鳴器,并使用 requests 包觸發(fā)了郵件和消息到 Telegram 頻道。否則,我們會每 5 秒監(jiān)測一次傳感器。執(zhí)行相同操作的代碼如下所示

while alarm == 1: #If alarm is on
        response = mybolt.digitalRead('4') #check is it is being de-activated
        if (response == HIGH):
            print("Security System is De-activated")
            mybolt.digitalWrite('2', 'LOW')#Turn off LED to indicate Alarm is
                                              De-activated
            mybolt.digitalWrite('3', 'LOW')#Turn off the 3 GPIO pin.
            alarm = 0
            break
        elif (response == LOW):
            print ("Security System is currently active can be deactivated from google 
                 assistant")
        else:
            print ("Problem in getting value form pin 4")

        response = mybolt.digitalRead('0') #check if hall sensor is triggered
        if (response == HIGH): #if magnet is not present     
            print ("Alert! Security breach Buzzer ON")
            mybolt.digitalWrite('1', 'HIGH')
            requests.get('https://maker.ifttt.com/trigger/Breach/with/key/i6nPcZ5ZlzaV
  dbYITw6VGcpMkrVO5GqAX049cHEBDt') # webhook link to trigger mail through IFTTT
            telegram_status=send_telegram_message("Alert!Someone opens your secret 
                                    door")
            print("This is the telegram status: ",telegram_status)
            time.sleep(5)
            mybolt.digitalWrite('1', 'LOW')
            print ("Buzzer OFF")
        elif (response == LOW):
            print ("No problem, all good!")
        else: 
            print ("Problem in reading the value of button")
        time.sleep(5)

是時候測試設備了

準備好代碼后,我們就可以開始測試我們的項目了。將板安裝在門框上,將磁鐵安裝在門本身上。確保磁鐵靠近霍爾傳感器。這個想法是傳感器應該在門關(guān)閉時檢測到磁鐵,而在門打開時不應該能夠檢測到磁鐵。

poYBAGNh2kKAPw-3AAFB3WCHUlk76.jpeg
激活門鎖安全系統(tǒng)
?
poYBAGNh2kWALXw1AAGnIzrP0yE25.jpeg
門打開時通過 Telegram 消息獲取警報
?
poYBAGNh2keANtdiAAEJ8_ModgI45.jpeg
停用門鎖系統(tǒng)
?
?

?


下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關(guān)電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎(chǔ)pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費