資料介紹
描述
一、簡(jiǎn)介
該項(xiàng)目專注于開發(fā)使用激光和實(shí)時(shí)警報(bào)服務(wù)的家庭安全解決方案。只能使用 Bolt IOT Android 應(yīng)用程序通過安全設(shè)置(不觸發(fā)警報(bào)),然后輸入正確的密碼。該項(xiàng)目結(jié)合使用 Bolt IOT 模塊和 Arduino 以及提供消息服務(wù)的 Twilio。在以下情況下會(huì)觸發(fā)警報(bào):
- 當(dāng)輸入正確的密碼并允許該人通過時(shí)。
- 當(dāng)輸入錯(cuò)誤的密碼并發(fā)出警告時(shí)。
- 當(dāng)有人試圖在沒有輸入正確密碼的情況下通過時(shí)。
這樣的設(shè)置可以部署在走廊和門后,以便在入侵者試圖進(jìn)入時(shí)觸發(fā)警報(bào)。
2. 示范
?
?
3.電路
- 3.1 組件
一世。光敏電阻 (LDR)
光敏電阻(Light Decreducing Resistance 的縮寫 LDR,或光敏電阻,或 photo-con
感性電池)是一種無(wú)源組件,可降低組件敏感表面上接收光度(光)的電阻。光敏電阻的電阻隨著入射光強(qiáng)度的增加而降低;換言之,它表現(xiàn)出光電導(dǎo)性。光敏電阻可應(yīng)用于光敏檢測(cè)器電路和光激活和暗激活開關(guān)電路中,作為電阻半導(dǎo)體。在黑暗中,光敏電阻可以具有高達(dá)幾兆歐 (MΩ) 的電阻,而在光照下,光敏電阻可以具有低至幾百歐姆的電阻。
壓電蜂鳴器在模制外殼內(nèi)包含一個(gè)壓電振動(dòng)板(也稱為壓電元件)。當(dāng)施加電壓并且外殼內(nèi)的壓電元件振動(dòng)時(shí)會(huì)發(fā)出聲音。
激光器是一種通過基于電磁輻射的受激發(fā)射的光學(xué)放大過程來(lái)發(fā)射光的設(shè)備。術(shù)語(yǔ)“激光”起源于“受激輻射的光放大”的首字母縮寫詞。
矩陣鍵盤是您在手機(jī)、計(jì)算器、微波爐、門鎖等上看到的那種鍵盤。它們幾乎無(wú)處不在。然而,在 DIY 電子產(chǎn)品中,它們是讓用戶與您的項(xiàng)目交互的好方法,并且經(jīng)常需要導(dǎo)航菜單、輸入密碼和控制機(jī)器人
- 3.2 與 Arduino 和 Bolt IOT 模塊的連接
>> 將 Bolt 模塊的 TX 引腳連接到 Arduino 的 Rx 引腳(引腳 0),將 Bolt 模塊的 RX 引腳連接到 Arduino 的 TX 引腳(引腳 1)。還將 Bolt 模塊的 5V 引腳和 GND 引腳連接到 Arduino 上的相應(yīng)引腳。
>>對(duì)于 4x4 矩陣鍵盤,將引腳 R1 到 C4 連接到 Arduino 上的引腳 2 到引腳 9,并將 VCC 引腳(如果存在)連接到 5V。
>>將壓電蜂鳴器的+引腳連接到Arduino上的引腳10。
>>將 LDR 與 1k 歐姆電阻串聯(lián)連接到 5V 電源,并將電阻的另一端連接到 GND。將 LDR 和電阻的連接點(diǎn)連接到 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 代碼很容易理解,因?yàn)槲以谄渲刑峁┝俗⑨尅?/font>
請(qǐng)記住,在將 Arduino 代碼上傳到開發(fā)板時(shí),請(qǐng)先移除 TX 和 RX 引腳,然后再上傳,否則會(huì)出現(xiàn)錯(cuò)誤。同樣在輸入密碼時(shí),最后按'*'結(jié)束密碼。
- 4.2 HTML代碼(用戶界面設(shè)計(jì))
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>
源鏈接向?yàn)g覽器提供了“serialBegin()”和“serialWrite()”的定義。
- 4.3 Python代碼
該項(xiàng)目的 python 編碼已在 Ubuntu (Linux) 中完成。在我們開始用 python 編寫主代碼文件之前,我們需要制作一個(gè)配置文件,其中包含每個(gè)用戶/設(shè)備的特定密鑰。我們將在我們的主代碼中導(dǎo)入這個(gè)文件并使用各種屬性。這樣做的好處是每個(gè)用戶只需更改配置文件的內(nèi)容即可使用該產(chǎn)品。
以下是配置文件(命名為 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 密鑰和設(shè)備 ID 可以如下確定:
>>按照https://cloud.boltiot.com/ 上的說明將您的 Bolt 設(shè)備連接到 Bolt Cloud。
>>之后將出現(xiàn)以下屏幕。螺栓設(shè)備 ID 以黃色突出顯示。
>>轉(zhuǎn)到API部分以了解API Key。
<>創(chuàng)建 Twilio 帳戶
第 1 步:在瀏覽器中打開https://www.twilio.com/ 。
第二步:點(diǎn)擊Get a Free API Key
按鈕注冊(cè)。
第 3 步:在注冊(cè)表格中填寫所有必要的詳細(xì)信息。下面是填寫好的注冊(cè)表單的截圖。
第 4 步:為了驗(yàn)證他們會(huì)詢問您的電話號(hào)碼。在下拉列表中選擇印度作為選項(xiàng),然后輸入您的電話號(hào)碼。
第 5 步:選擇“可編程短信”選項(xiàng)。
第 6 步:您可以在此頁(yè)面上查看 Account SID 和 Auth token。Auth 令牌默認(rèn)不可見,您可以單擊“查看”按鈕使 Auth 令牌可見,如下圖所示。復(fù)制兩者并將它們安全地保存在某個(gè)地方。
第七步:點(diǎn)擊Get a number
按鈕。
第8步:然后會(huì)出現(xiàn)一個(gè)彈出窗口。點(diǎn)擊Choose this number
按鈕。
第9步:然后會(huì)出現(xiàn)一個(gè)彈出窗口,其中將包含最終數(shù)字。復(fù)制此編號(hào)并保存到記事本以供將來(lái)參考。
**完整的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. 要記住的要點(diǎn)
一世。將 Arduino 代碼上傳到開發(fā)板時(shí),請(qǐng)先移除 TX 和 RX 引腳,然后再上傳,否則會(huì)出現(xiàn)錯(cuò)誤。
ii. 輸入密碼時(shí),最后按“*”結(jié)束密碼。
iii. 進(jìn)入后,請(qǐng)記住按 Bolt IOT Android 應(yīng)用程序上的“關(guān)門”按鈕。
- 基于Realtek的智能語(yǔ)音服務(wù)解決方案
- 工廠安全智能管理解決方案
- 便宜的DIY激光警報(bào)
- 家庭檢疫安全警報(bào)
- MiMaMori家庭安全警報(bào)開源分享
- 家庭安全警報(bào)系統(tǒng)
- 亮風(fēng)臺(tái)AR安全管控解決方案
- 基于諸智云的工業(yè)物聯(lián)網(wǎng)解決方案詳細(xì)資料免費(fèi)下載 24次下載
- 基于家庭照明與物聯(lián)網(wǎng)連接的解決方案 4次下載
- 家庭無(wú)線視頻監(jiān)控解決方案 0次下載
- 家庭網(wǎng)絡(luò)業(yè)務(wù)應(yīng)用解決方案
- 基于ARM的家庭網(wǎng)絡(luò)系統(tǒng)解決方案
- Java Web應(yīng)用服務(wù)安全性研究及解決方案
- 多角度構(gòu)筑web服務(wù)安全解決方案
- 基于屬性的Web服務(wù)安全訪問控制方案
- 啟明智顯儀表解決方案:HMI芯片Model系列+ONEOS實(shí)時(shí)操作系統(tǒng) 169次閱讀
- 松盛光電恒溫激光錫焊系統(tǒng)解決方案 164次閱讀
- 瑞薩基于IEC61508的功能安全解決方案介紹(1) 518次閱讀
- ECU的安全車輛網(wǎng)絡(luò)有效測(cè)試解決方案 351次閱讀
- 分布式實(shí)時(shí)日志分析解決方案ELK部署架構(gòu) 779次閱讀
- 支持安全物聯(lián)網(wǎng)設(shè)備開發(fā)和制造的解決方案 1059次閱讀
- ADI公司的出色過程自動(dòng)化通訊解決方案 1512次閱讀
- 基于IP網(wǎng)絡(luò)的實(shí)時(shí)媒體流傳送方案 2381次閱讀
- 激光測(cè)徑儀的工作原理以及技術(shù)解決方案 8871次閱讀
- 解析自動(dòng)駕駛解決方案優(yōu)劣和功能安全需求 4975次閱讀
- 激光和激光器的種類 2.5w次閱讀
- 升特公司推出易于使用的低功耗、高性價(jià)比的集成化射頻解決方案 696次閱讀
- 意法半導(dǎo)體:家庭自動(dòng)化完全解決方案 1046次閱讀
- RTX實(shí)時(shí)操作系統(tǒng)平臺(tái)拓展IntervalZero解決方案范圍 5164次閱讀
- MC68VZ328的智能家庭網(wǎng)關(guān)的解決方案 1326次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多