在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發燒友App

硬聲App

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

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>綜合家庭自動化系統

綜合家庭自動化系統

2022-12-15 | zip | 0.32 MB | 次下載 | 免費

資料介紹

描述

一、簡介:

曾經夢想住在一個全自動的家中嗎?無論您身在世界的哪個地方,都可以通過指尖或聲音控制的房子。如果有人闖入,可以直接向您的手機發送安全警報的住宅。無論您是否關燈,都能讓您無憂無慮。

今天,我將向您展示一個原型,您可以通過它創建、設計和建造一個滿足您需求的夢想家園。那么,讓我們開始吧!

2、演示:

在此處查看集成家庭自動化的工作原型:

?

程序和警報:

?
?
?
poYBAGOYJn-AMDOIAAHUiyJK0WU580.png
?
1 / 7 ?在 Ubuntu 發行版上運行的automated_led.py
?

3.配置設備控制設置:

?

poYBAGOYJo2ANN0XAAE5RcK32Ow421.png
?

?

硬件設置:

  • 將 LED 的陽極(較長的引腳)連接到 Bolt WiFi 模塊的引腳 1。
  • 將直流電機的正極連接到模塊的引腳 2。
  • 將蜂鳴器的正極連接到模塊的引腳 3。
  • 如圖所示,將每個設備的負極連接到公共地。

軟件設置:

在開始創建界面的第一步之前,我們必須在 Bolt Cloud 上配置一些設置。所以讓我們開始吧!

  • 登錄到您的Bolt 云帳戶。單擊“產品”選項卡,然后單擊“+ 添加產品”。
pYYBAGOYJpCAUMPzAADRpMWZsmw262.png
?
  • 選擇連接作為輸出設備和數據收集方法作為 GPIO
poYBAGOYJpOAJKHWAAFA-Y5CN4U997.png
?
  • 單擊“配置此產品”并如上所示配置硬件設置并保存。
poYBAGOYJpuAYxCwAADw_iX3F8I196.png
?
  • 現在單擊代碼選項。將文件名指定為“home_automation”并選擇文件擴展名作為 html。輸入代碼(在下一節中給出)并點擊保存按鈕。

我們將在下一節中學習對接口進行編碼。

4. 創建界面

在本節中,我將幫助您使用 HTML、Javascript 和 CSS 設計一個界面網站,它也可以用于您的手機上的應用程序。

單擊“開燈”按鈕將打開您房間的燈。同樣,“關燈”關閉燈。“風扇開啟”和“風扇關閉”按鈕將分別打開和關閉電機。“Alarm On”按鈕打開蜂鳴器以發出求救信號。可以使用“警報關閉”按鈕將其關閉。“自動燈”關閉所有其他燈并根據周圍的亮度改變其強度。

最終外觀如下所示:

?
應用界面
?
?
網站界面
?

相同的代碼如下所示:

html>
<html>
    <head>
        <title>Smart Home Interfacetitle>
		<script type="text/javascript" src="https://cloud.boltiot.com/static/js/boltCommands.js">script>
        <script>
        setKey('{{ApiKey}}','{{Name}}');
        script>
		<style>
		body
		{
		background:url("https://images.unsplash.com/photo-1522444195799-478538b28823?ixlib=rb-1.2.1&ixid=eyJhcHBfaWQiOjEyMDd9&auto=format&fit=crop&w=334&q=80");
		background-size: cover;
		background-repeat:no-repeat;
		background-position:center;
                margin: 0px;
                padding: 0px;
        }
		.space { margin-top: 120px; }
		div 
		{ 
		background-color:#ffffff;
		width: 420px;
		display: flex;
		justify-content: center;
		align-items: center;
		opacity: .8;
		} 
		h3
		{
		font-size:22px;
		font-family: "Times New Roman", cursive, sans-serif;
		style>
    head>
<body>
<center>
<div class="space">div>

<div><br> 
 <center>
<h3>Experience Automation <br> at your fingertips!h3>center>
div>

<br><br><br>
<input type="button" value="Light On" onClick="digitalWrite(1, 'HIGH');" /> 
<input type="button" value="Light Off" onClick="digitalWrite(1, 'LOW');" /> <br> <br>
<input type="button" value="Fan On" onClick="digitalWrite(2, 'HIGH');" />
<input type="button" value="Fan Off" onClick="digitalWrite(2, 'LOW');" /> <br> <br>
<input type="button" value="Alarm On" onClick="digitalWrite(3, 'HIGH');" />
<input type="button" value="Alarm off" onClick="digitalWrite(3, 'LOW');" /> <br> <br>
<input type="button" value="Automated Light" onClick="digitalWrite(1, 'LOW');" /><br><br>
<br/><br/>center>

body> 
html>

代碼說明:

用于表示代碼是以 HTML 格式編寫的。

HTML 標記標記 HTML 文件的開始和結束。

標題標簽定義了我們網頁的標題,它顯示在瀏覽器的選項卡上。

將預定義的 JavaScript 導入到我們的 HTML 代碼中,該代碼配置和設置我們 WiFi 模塊的 API 密鑰和設備名稱。它還提供了讀取和寫入我們設備的開和關值的功能。

樣式標簽幫助我們通過 CSS 個性化網頁的外觀和感覺。它設置背景圖像、間距、字體和所有相關設置。

body 標簽包含我們界面的實際內容。它包含我們按鈕的設計及其號召性用語命令。

5. 設置語音模塊:

對于這個項目,我在我們的智能手機中使用了 Google 助手,并搭配 IFTTT 服務來管理觸發命令并按照它們進行操作。

從Google Playstore下載 IFTTT 應用程序,從此處訪問 IFTTT 網站。按照如圖所示的說明進行注冊。現在;

對于應用程序:

點擊右上角的“+”按鈕。

對于網站:

前往ifttt.com/create并按照如下所示的常見步驟操作。

?
?
?
poYBAGOYygKAFMreAAC_2Y8gvyw853.jpg
?
1 / 10 ?單擊“+”按鈕
?

對所有其他命令也遵循相同的過程。將 URL 的 pin 替換為 2(風扇)和 3(蜂鳴器)和狀態分別為 HIGH 或 LOW。要查找您設備的 API,請登錄您的Bolt Cloud 帳戶并前往 API 選項卡。選擇啟用并復制 API。對于設備 ID,您可以從設備選項卡復制 ID。

pYYBAGOYygWAJvQPAAC0aoFBb6s811.png
?

設置說明:

'IFTTT' 代表 If This then That 和聽起來完全一樣。它是一種創建簡單條件語句鏈的服務,稱為小程序。它由其他網絡服務(例如 Gmail、Google 助手、按鈕按下等)中發生的更改觸發。如果檢測到觸發器,它將按照您上面的編程進行操作。

在這里,我們的語音命令 - 'Lights On' 被我們手機的麥克風檢測到,然后被 Google Assistant 拾取和分析。當檢測到觸發動作時,Webhooks 會發出 Web 請求,以從用戶輸入的 URL 中獲取所請求的網頁。然后,它以 JSON 格式發送響應。云解碼數字引腳電壓必須設置為高或低的響應,從而打開或關閉設備。

6.設置警報:

在著手解開更多功能之前,我建議為項目設置警報系統。為了便于訪問,我使用了最流行的警報媒介——SMS、Whatsapp 和電子郵件。

對于 SMS 和 Whatsapp,我們需要第三方應用程序的幫助。Twilio巧妙地幫助我們集成觸發器以通過其任何渠道發送自動消息。注冊并分別獲取 SMS 和 Whatsapp 的 SID、AUTH_TOKEN 和手機號碼。

對于電子郵件,我們使用簡單郵件傳輸協議 (SMTP) 模塊。不需要第三方應用程序,但您需要打開不太安全的應用程序訪問,這可以從這里完成。

7.自動燈

一種根據周圍環境的亮度改變其強度的光。多么酷???燈光將在黑暗中以最大強度發光,并隨著早晨的升起而逐漸變暗,它的光芒照耀著我們的大廳。另外,如果周圍的光線突然增加或減少,它也會向我們發送消息,從而表明房間里有人。所以,讓我們開始建造吧!

這是如何運作的?

為了制造自動燈,我們需要一個可以檢測光強度變化的傳感器光敏電阻 (LDR) 就是為此目的而設計的。它根據光的強度改變其電阻 - 光越多,其電阻值越大,反之亦然。

螺栓模塊可以借助其 A0(模擬引腳)監控電壓變化。現在,為了將這種電阻變化轉換為電壓變化,我們使用了分壓器電路。因此,LDR 上拉一個與電阻變化成比例的電壓。

LDR 的取值范圍為 0-255,而 LED 的取值范圍為 0 到 1024。為了同步這些變化,我們遵循 4:1 映射。我們將 LED 的值設置為 255 - (intensity_value_of_LDR/4),遵循逆映射。因此,環境較暗時,LED 會比以往更亮!

異常檢測:

該項目實施 Z 分數分析方法來檢測周圍環境中光強度行為的任何異常。

poYBAGN6xyiAHzcvAAAiM086aww357.png
Z 分數計算
?

Z-score 的計算如上所示:

  • 平均值是最后一個幀大小 (r) 值的平均值。
  • Z 分數等于乘法因子 (c) * 最后幀大小值變化的均值的平方根。
  • 閾值設置為當前值加上或減去的 Z 分數

通過這個數學公式,我們計算出閾值,即哪些光強值落入標準區域,哪些值導致異常。如果在該區域之外檢測到一個點,則會通過 SMS 發送警報,指示光強度值突然增加或減少。

我們通過hit and trial方法獲得乘法因子和幀大小。更多的 c 意味著更大的邊界范圍,更多的 r 意味著檢測模式的變化。

硬件設置:

poYBAGOYygmAGb5qAACq8Pxi68g931.png
?
  • 將 LDR 的一個引腳連接到引腳 3V3,另一端連接到 Bolt WiFi 模塊的引腳 A0。
  • 在 LDR 的腿和 LED 的陰極(較短)腿之間連接一個 10k 歐姆電阻器(棕色、黑色、橙色、金色)。
  • 如圖所示,在 LED 的陽極(較長)引腳和模塊的引腳 0 之間連接 300 歐姆(橙色、橙色、棕色、金色)。
  • 將陰極(較短)引腳連接到模塊的 GND。

軟件設置:

在本節中,我們將使用 Python 進行一些操作。我們必須創建 2 個 Python 文件。首先,我們將為我們的主程序創建一個名為conf.py的配置文件,并對其進行編碼,如下所示:

SSID = 'You can find SSID 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 account API key'
DEVICE_ID = 'This is the ID of your Bolt device'
FROM_WHATSAPP= 'whatsapp: followed by the whatsapp no. generated by Twilio. You can find this in the Programmable SMS's Whatasapp Beta tab'
TO_WHATSAPP= 'whatsapp: followed by your whatsapp number. Make sure you are adding +91 in beginning'
FRAME_SIZE = 10
MUL_FACTOR = 6

創建單獨文件的好處是用戶可以在此處編輯這些憑據,它將應用于我們與警報系統集成的所有文件。

主程序名為automated_led.py,編碼如下:

#importing_the_necessary_packages
import conf, json, time, math, requests, statistics 
from boltiot import Sms, Bolt 

#defining function to calculate the upper and lower bounds by Z score analysis
def compute_bounds(history_data,frame_size,factor): 
    if len(history_data)        return None

    if len(history_data)>frame_size :
        del history_data[0:len(history_data)-frame_size]
    Mn=statistics.mean(history_data)
    Variance=0
    for data in history_data :
        Variance += math.pow((data-Mn),2)
    Zn = factor * math.sqrt(Variance / frame_size)
    High_bound = history_data[frame_size-1]+Zn
    Low_bound = history_data[frame_size-1]-Zn
    return [High_bound,Low_bound] #returns the upper and lower bound

#importing configurations from the conf.py file
mybolt = Bolt(conf.API_KEY, conf.DEVICE_ID) 
sms = Sms(conf.SSID, conf.AUTH_TOKEN, conf.TO_NUMBER, conf.FROM_NUMBER)
history_data=[] #list to store the data sensed by LDR


while True:
    response_ldr = mybolt.analogRead('A0') #reading response from analog pin connected to LDR
    ldr_data = json.loads(response_ldr) #response is decoded from the JSON format
    if ldr_data['success'] != 1: #for errors
        print("There was an error while retrieving the data.")
        print("This is the error:"+ldr_data['value'])
        time.sleep(10)
        continue

    try:
        sensor_value = int(ldr_data['value'])
    except Exception as e:
        print("There was an error while parsing the response: ",e)
        continue

    print("LDR sensor value is:" + str(sensor_value)) #prints LDR value on screen
    print(response_ldr)

    led_value_1 = int(sensor_value/4) 
    if led_value_1 > 255:
        led_value_1 = 255
    led_value = 255 - led_value_1 #calculating intensity of LED in accordance with LDR
    response_led = mybolt.analogWrite('0', led_value) #setting instensity as calculated from above"""
    print("Automated LED value is: "+str(led_value)) #printing value of LED on screen
    print(response_led)

#invoking function to calculated and return the bounds
    bound = compute_bounds(history_data,conf.FRAME_SIZE,conf.MUL_FACTOR) 
    if not bound:
        required_data_count=conf.FRAME_SIZE-len(history_data)
        if(required_data_count!=0 and required_data_count!=1):
            print("Not enough data to compute Z-score. Need ",required_data_count," more data points")
        history_data.append(int(ldr_data['value'])) #appends to list of input data
        time.sleep(10)
        continue

    try:
        if sensor_value > bound[0] : #if sensor value is greater than Higher bound
            print ("The light level increased suddenly. Sending an SMS.")
            #sends SMS as programmed
            response = sms.send_sms("Someone turned on the lights") 
            print("This is the response ",response)
        elif sensor_value < bound[1]: #if sensor value is lesser than Lesser Bound
            print ("The light level decreased suddenly. Sending an SMS.")                             
            #sends SMS as programmed
            response = sms.send_sms("Someone turned off the lights")
            print("This is the response ",response)
        history_data.append(sensor_value) #appends to list of input data
    except Exception as e:
        print ("Error",e)
    time.sleep(10)

8.安全系統

安全不是所有人都關心的問題嗎?你所有的貴重物品、漫畫書和電子游戲都在你的公寓里。如果有人篡改您的門鎖并進入您的家怎么辦。你可以有一個閉路電視攝像機,但它不能給你實時通知,并且會造成損害。為了克服這個困境,我向您介紹了這個簡單的入侵警報安全系統。

這是如何運作的?

每當有人打開門時,它都會穿過 PIR 傳感器的視野。它檢測到它發出的紅外輻射,并在它的兩半之間產生一個正的差異變化。Bolt WiFi 模塊會接收此更改,然后將警報直接發送到我們的手機中。

硬件設置:

pYYBAGOYygyAX9zbAABr6pPlAe8002.png
?
  • 將 IR 傳感器的 VCC 連接到螺栓模塊的 5V。
  • 將 IR 傳感器的 GND 連接到螺栓模塊的 GND。
  • 將 IR 傳感器的 OUT/DATA 連接到螺栓模塊的引腳 4。

注意:您可以使用具有與所示相同連接的 PIR 傳感器。

軟件設置:

創建一個名為 intruder_alert_system.py 的 python 文件并將其編碼如下所示:

import conf, json, time, requests #importing the required packages
from boltiot import Sms, Bolt
import smtplib
from email.mime.text import MIMEText
from email.mime.multipart import MIMEMultipart

#configuring the email settings
email = 'Your_email_id'
password = 'Your_email_password'
send_to_email = 'Recipient's_Email '
subject = 'Intrusion'
message = 'Someone Entered!'

msg = MIMEMultipart()
msg['From'] = email
msg['To'] = send_to_email
msg['Subject'] = subject

msg.attach(MIMEText(message, 'plain'))

#SMS configuration
sms = Sms(conf.SSID, conf.AUTH_TOKEN, conf.TO_NUMBER, conf.FROM_NUMBER)
#Whatsapp configuration
sms_whatsapp= Sms(conf.SSID, conf.AUTH_TOKEN, conf.TO_WHATSAPP, conf.FROM_WHATSAPP)

while True:
    response = requests.get('http://cloud.boltiot.com/remote/your_api_key/digitalRead?pin=4&deviceName=your_device_id') #getting response from PIR sensor
    data=json.loads(response.text) #decoding the response obtained in JSON format
    print(data)
    sensor_value = int(data['value'])
    if sensor_value == 1: #Sensor picked up reading
        print("Motion Detected!")
        print("Sending SMS...")
        server = smtplib.SMTP('smtp.gmail.com', 587)
        server.starttls()
        server.login(email, password)
        text = msg.as_string()
        server.sendmail(email, send_to_email, text) #Email Delivered
        sms.send_sms("Intruder Alert!") #SMS sent
        sms_whatsapp.send_sms("Intruder Alert!") #Whatsapp Successful
        server.quit()
    elif sensor_value ==0:
        print("SENSOR IS READY")
    time.sleep(5)

9. 整合一切:

在舒適的休息室休息時,您可以通過指尖和語音命令體驗自動化的力量。您可以通過運行automated_led.py 來享受您的個人自動燈的樂趣

當您因日常事務而離開家時,您可以運行 intruder_alert_system.py,在野外無憂無慮地游蕩,知道您的個人系統會提醒您任何闖入事件。

最終的集成電路和所有代碼如下所示。


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

評論

查看更多

下載排行

本周

  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次下載  |  免費
主站蜘蛛池模板: 亚洲第一免费网站| 欧美女同在线观看| 男人的天堂色偷偷之色偷偷| 欧美有码视频| 国产在线a不卡免费视频| 色片免费网站| 四虎永久免费地ww4hu57| 天天躁狠狠躁夜夜躁2021| 中日韩欧美在线观看| 欧美大片xxxxbbbb| 天天操天天插天天射| 亚洲高清中文字幕一区二区三区| 中国农村一级片| 久久观看视频| 国产综合在线播放| 亚洲视频五区| 日本xxxx色视频在线观看| 国产单男| 欧美成人影院免费观| 国产精品女丝袜白丝袜| 色婷婷在线视频观看| 美女视频一区| 又大又粗进出白浆直流动态图| 69国产成人精品午夜福中文| 网站在线你懂的| 久久久久88色偷偷| 天天躁夜夜躁狠狠躁| 午夜网站视频| 亚洲国产精品综合久久2007| 国产怡红院| 日本人xxxxxxxxxⅹ68| 色噜噜狠狠色综合久| 天天夜夜久久| www.午夜| a毛片网站| 欧美zo| 亚洲欧洲一区| 一级一级一片免费高清| 男人的亚洲天堂| 国产精品国产主播在线观看| 国产黄色在线观看|