精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>使用激光和實時警報服務的家庭安全解決方案

使用激光和實時警報服務的家庭安全解決方案

2022-11-24 | zip | 0.30 MB | 次下載 | 免費

資料介紹

描述

一、簡介

該項目專注于開發使用激光和實時警報服務的家庭安全解決方案。只能使用 Bolt IOT Android 應用程序通過安全設置(不觸發警報),然后輸入正確的密碼。該項目結合使用 Bolt IOT 模塊和 Arduino 以及提供消息服務的 Twilio。在以下情況下會觸發警報:

  • 當輸入正確的密碼并允許該人通過時。
  • 當輸入錯誤的密碼并發出警告時。
  • 當有人試圖在沒有輸入正確密碼的情況下通過時。

這樣的設置可以部署在走廊和門后,以便在入侵者試圖進入時觸發警報。

pYYBAGN-1BKADPMqAAvhGrQJQWM320.jpg
項目設置
?
pYYBAGN-1C6AK3ZgAEeC-WbP5_s932.jpg
控制單元與 4x4 鍵盤一起輸入密碼
?
poYBAGN-1D2AG_9oACltzKgGHxk873.jpg
激光安全部分
?
poYBAGN-1EOAC__6AAB-IFLi2R0447.jpg
Bolt IOT 應用截圖
?

2. 示范

?
pYYBAGN-1EWAVOwtAAEjN1vRL4M306.png
Python代碼執行
?
poYBAGN-1EiACGX6AABEYpPzrqU902.jpg
違反警報短信
?
pYYBAGN-1EqAKH1QAABDcREBq7U618.jpg
密碼錯誤短信
?
poYBAGN-1EyATrtKAABkBRZ2DMQ774.png
輸入錯誤密碼時Arduino串口監視器輸出。(開頭的1是由于Arduino從Bolt IOT應用程序接收到的消息)。
?
pYYBAGN-1FKAeg3NAABDtYpEUbU239.jpg
正確密碼短信
?

?

poYBAGN-1FSAe8P9AAB1qXvFDHY603.png
輸入正確密碼時 Arduino 串行監視器輸出。
?

?

3.電路

  • 3.1 組件

一世。光敏電阻 (LDR)

光敏電阻(Light Decreducing Resistance 的縮寫 LDR,或光敏電阻,或 photo-con

感性電池)是一種無源組件,可降低組件敏感表面上接收光度(光)的電阻光敏電阻的電阻隨著入射光強度的增加而降低;換言之,它表現出光電導性。光敏電阻可應用于光敏檢測器電路和光激活和暗激活開關電路中,作為電阻半導體。在黑暗中,光敏電阻可以具有高達幾兆歐 (MΩ) 的電阻,而在光照下,光敏電阻可以具有低至幾百歐姆的電阻。

壓電蜂鳴器在模制外殼內包含一個壓電振動板(也稱為壓電元件)。當施加電壓并且外殼內的壓電元件振動時會發出聲音。

激光器是一種通過基于電磁輻射的受激發射的光學放大過程來發射光的設備。術語“激光”起源于“受激輻射的光放大”的首字母縮寫詞。

矩陣鍵盤是您在手機、計算器、微波爐、門鎖等上看到的那種鍵盤。它們幾乎無處不在。然而,在 DIY 電子產品中,它們是讓用戶與您的項目交互的好方法,并且經常需要導航菜單、輸入密碼和控制機器人

poYBAGN-1GCACShyAABL4D4e2o4026.png
4x4 矩陣鍵盤引出線
?
  • 3.2 與 Arduino 和 Bolt IOT 模塊的連接
pYYBAGN-1GOAe2guAAKJTMved04708.png
硬件連接
?

>> 將 Bolt 模塊的 TX 引腳連接到 Arduino 的 Rx 引腳(引腳 0),將 Bolt 模塊的 RX 引腳連接到 Arduino 的 TX 引腳(引腳 1)。還將 Bolt 模塊的 5V 引腳和 GND 引腳連接到 Arduino 上的相應引腳。

>>對于 4x4 矩陣鍵盤,將引腳 R1 到 C4 連接到 Arduino 上的引腳 2 到引腳 9,并將 VCC 引腳(如果存在)連接到 5V。

>>將壓電蜂鳴器的+引腳連接到Arduino上的引腳10。

>>將 LDR 與 1k 歐姆電阻串聯連接到 5V 電源,并將電阻的另一端連接到 GND。將 LDR 和電阻的連接點連接到 Arduino 上的模擬引腳 A0。

>>將 Arduino 上的 11、12 和 13 針連接到 Bolt IOT 模塊上的 1、2 和 3 針。

4.代碼組件

  • 4.1 Arduino代碼
#include 

String ch="",pwd="123ABCD4";                      //Password set as 1234ABCD4
const byte rows=4,cols=4;
char keys[rows][cols]={
                      {'1','2','3','A'},
                      {'4','5','6','B'},
                      {'7','8','9','C'},
                      {'*','0','#','D'},
};                                                //Setting up the key configuration
byte rpin[rows]={2,3,4,5};
byte cpin[cols]={6,7,8,9};
Keypad obj=Keypad(makeKeymap(keys),rpin,cpin,rows,cols);  //Creating object for keypad

int ldr=A0,buzz=10,d1=11,d2=12,d3=13,light,key=0,i,k;
String cmd="";

void setup() 
{
  Serial.begin(9600);
  pinMode(ldr,INPUT);
  pinMode(buzz,OUTPUT);
  pinMode(d1,OUTPUT);
  pinMode(d2,OUTPUT);
  pinMode(d3,OUTPUT);  
}

void loop() 
{
  digitalWrite(d1,0);
  digitalWrite(d2,0);
  digitalWrite(d3,0);
  
  if(Serial.available()>0)
  {
    cmd=Serial.readString();                 //Read data sent from the Bolt IOT app
    Serial.println(cmd);
  }
  if(cmd == "1")
  {
    char temp=obj.getKey();                 //Reads the password entered
    if(temp != NO_KEY)
    {
      if(temp != '*')
      {
        Serial.println(temp);
        ch +=temp; 
      }
      else 
      {
        if(ch == pwd)
        {
          digitalWrite(d1,HIGH);   //Sends signal to Bolt module for correct password
          Serial.println("Access granted");
          delay(10000);
        }
        else
        {
          digitalWrite(d2,HIGH);   //Sends signal to Bolt module for wrong password
          Serial.println("Access Denied");
          cmd="0";
          delay(10000);
        }
      }
    }
  }
  light=analogRead(ldr);
  if(light<300)
  {
    digitalWrite(d3,HIGH);        //Sends signal to Bolt module for breach
    for(i=0;i<10;i++)             //Loop for making the buzzer beep
    {
      digitalWrite(buzz,HIGH);    
      delay(500);
      digitalWrite(buzz,LOW);  
      delay(500);
    }
  }
}

上面的 Arduino 代碼很容易理解,因為我在其中提供了注釋。

請記住,在將 Arduino 代碼上傳到開發板時,請先移除 TX 和 RX 引腳,然后再上傳,否則會出現錯誤。同樣在輸入密碼時,最后按'*'結束密碼。

  • 4.2 HTML代碼(用戶界面設計)
html>
<html>
    <head>
        <title>
            Project
        title>
        <script type="text/javascript" src="https://cloud.boltiot.com/static/js/boltCommands.js">script>
        <script>
        setKey('{{ApiKey}}','{{Name}}');
        script>
    head>
    <body onload="serialBegin(9600)">
        <div style="background-color:red;height:350px;">
            <center>
                <br><br><br><br><br><br><br><br>
                <button onclick="serialWrite('1')">Door openedbutton>
            center>
        div>
        <div style="background-color:green;height:350px;">
            <center>
                <br><br><br><br><br><br><br><br>
                <button onclick="serialWrite('0')">Door closedbutton>
            center>
        div>
    body>
html>

源鏈接向瀏覽器提供了“serialBegin()”和“serialWrite()”的定義。

poYBAGN-1EOAC__6AAB-IFLi2R0447.jpg
Bolt IOT Android 應用上的用戶界面
?
  • 4.3 Python代碼

該項目的 python 編碼已在 Ubuntu (Linux) 中完成。在我們開始用 python 編寫主代碼文件之前,我們需要制作一個配置文件,其中包含每個用戶/設備的特定密鑰。我們將在我們的主代碼中導入這個文件并使用各種屬性。這樣做的好處是每個用戶只需更改配置文件的內容即可使用該產品

以下是配置文件(命名為 conf.py):

sid = 'You can find SID in your Twilio Dashboard'  
auth_token = 'You can find  on your Twilio Dashboard'  
from_number = 'This is the no. generated by Twilio. You can find this on your Twilio Dashboard' 
to_number = 'This is your number. Make sure you are adding +91 in beginning' 
api_key = 'This is your Bolt Cloud accout API key' 
device_id = 'This is the ID of your Bolt device'

Bolt 模塊的 API 密鑰和設備 ID 可以如下確定:

>>按照https://cloud.boltiot.com/ 上的說明將您的 Bolt 設備連接到 Bolt Cloud。

>>之后將出現以下屏幕。螺栓設備 ID 以黃色突出顯示。

pYYBAGN-1GeAM1ojAABuYbbHPVw097.png
?

>>轉到API部分以了解API Key。

poYBAGN-1GqAHxvXAABeqX2GULo295.png
?

<>創建 Twilio 帳戶

第 1 步:在瀏覽器中打開https://www.twilio.com/ 。

第二步:點擊Get a Free API Key按鈕注冊。

第 3 步:在注冊表格中填寫所有必要的詳細信息下面是填寫好的注冊表單的截圖。

第 4 步:為了驗證他們會詢問您的電話號碼。在下拉列表中選擇印度作為選項,然后輸入您的電話號碼。

第 5 步:選擇“可編程短信”選項。

第 6 步:您可以在此頁面上查看 Account SID 和 Auth token。Auth 令牌默認不可見,您可以單擊“查看”按鈕使 Auth 令牌可見,如下圖所示。復制兩者并將它們安全地保存在某個地方。

第七步:點擊Get a number按鈕。

第8步:然后會出現一個彈出窗口。點擊Choose this number按鈕。

第9步:然后會出現一個彈出窗口,其中將包含最終數字。復制此編號并保存到記事本以供將來參考。

**完整的Python代碼

import conf
from boltiot import Sms, Bolt
import json, time


mybolt = Bolt(conf.api_key, conf.device_id)
sms = Sms(conf.sid, conf.auth_token, conf.to_no, conf.from_no)


while True: 
    print ("Reading value from Arduino")
    resp1 = mybolt.digitalRead('1') 
    d1 = json.loads(resp1)
    resp2 = mybolt.digitalRead('2') 
    d2 = json.loads(resp2) 
    resp3 = mybolt.digitalRead('3') 
    d3 = json.loads(resp3)
    print("D1 value is: " + str(d1['value']))
    print("D2 value is: " + str(d2['value']))
    print("D3 value is: " + str(d3['value']))
    try: 
       sens1 = int(d1['value'])
       sens2 = int(d2['value']) 
       sens3 = int(d3['value'])  
       if sens3 == 1 :
             print("Making request to Twilio to send a SMS")
             response = sms.send_sms("Breach!!!! Someone has entered forcefully.")
             print("Response received from Twilio is: " + str(response))
             print("Status of SMS at Twilio is :" + str(response.status))
       elif sens2 == 1 :
             print("Making request to Twilio to send a SMS")
             response = sms.send_sms("Someone is trying to open the door.")
             print("Response received from Twilio is: " + str(response))
             print("Status of SMS at Twilio is :" + str(response.status))
       elif sens1 == 1 :
             print("Making request to Twilio to send a SMS")
             response = sms.send_sms("The door is opened. You can enter now.")
             print("Response received from Twilio is: " + str(response))
             print("Status of SMS at Twilio is :" + str(response.status))

    except Exception as e: 
       print ("Error occured: Below are the details")
       print (e) 
    time.sleep(10)

在上面的 python 代碼中,d1、d2 和 d3 是 Bolt IOT 模塊從 Arduino 接收到的輸入值。

5. 要記住的要點

一世。將 Arduino 代碼上傳到開發板時,請先移除 TX 和 RX 引腳,然后再上傳,否則會出現錯誤。

ii. 輸入密碼時,最后按“*”結束密碼。

iii. 進入后,請記住按 Bolt IOT Android 應用程序上的“關門”按鈕。


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

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數據手冊
  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開發指南
  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開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  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次下載  |  免費