欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python3開發(fā)監(jiān)控自動化觸發(fā)聲光報警

 更新時間:2023年07月15日 15:03:23   投稿:yin  
使用python制作一個自動監(jiān)控并觸發(fā)聲光報警是不是感覺很高端,很多人都會認為只是一件很難的事情,但實際很簡單就能實現(xiàn)。

使用python制作一個自動監(jiān)控并觸發(fā)聲光報警是不是感覺很高端,很多人都會認為只是一件很難的事情,但實際很簡單就能實現(xiàn)。

代碼如下:

#!/usr/bin/python
# -*- coding: utf-8 -*-
import serial
import time
import urllib3
import json
import tkinter as tk
import tkinter.messagebox
from tkinter import *
#發(fā)送
d11=bytes.fromhex('7E FF 06 3A 00 01 00 EF')   #開燈  播放 1 次第 1 首
d12=bytes.fromhex('7E FF 06 3A 00 01 01 EF')   #關燈  播放 1 次第 1 首
d21=bytes.fromhex('7E FF 06 3A 00 02 00 EF')   #開燈  播放 1 次第 2 首
d22=bytes.fromhex('7E FF 06 3A 00 02 01 EF')   #關燈  播放 1 次第 2 首
d31=bytes.fromhex('7E FF 06 3A 00 81 00 EF')   #開燈  循環(huán)播放第 1 首
d32=bytes.fromhex('7E FF 06 3A 00 81 01 EF')   #關燈  循環(huán)播放第 1 首
d41=bytes.fromhex('7E FF 06 3A 00 82 00 EF')   #開燈  循環(huán)播放第 2 首
d42=bytes.fromhex('7E FF 06 3A 00 82 01 EF')   #關燈  循環(huán)播放第 2 首
d51=bytes.fromhex('7E FF 06 06 00 00 1E EF')   #單量級別調節(jié)  30 級音量可調(當前指令為最大音量)
d52=bytes.fromhex('7E FF 06 04 00 00 00 EF')   #音量加  當前音量+1 級,共 30 級
d53=bytes.fromhex('7E FF 06 05 00 00 00 EF')   #音量減  當前音量-1 級,共 30 級
d54=bytes.fromhex('7E FF 06 3A 00 00 00 EF')   #閃燈開  單獨打開閃燈,不影響當前播放狀態(tài)
d55=bytes.fromhex('7E FF 06 3A 00 00 01 EF')   #閃燈關  單獨關閉閃燈,不影響當前播放狀態(tài)
d56=bytes.fromhex('7E FF 06 0C 00 00 00 EF')   #設備復位 恢復設備的初始狀態(tài)
d57=bytes.fromhex('7E FF 06 16 00 00 00 EF')   #全部停止 停止報警并關閉閃燈
# ser = serial.Serial('COM3', 9600, timeout=0.1)
# ser.write(d54)
# # ser.write(d52)
# time.sleep(1)
# ser.write(d57)
# ser.close()
# 延時自動關閉提示彈框
def countdown(time):
    if time == -1:
     root.destroy()
     ser.write(d57)
     ser.close()
    else:
     label.configure(text=content+"報警")
     root.after(1000, countdown, time-1)
# 手動關閉
def handstop():
    countdown(-1)
    # 在這執(zhí)行關閉操作
    http = urllib3.PoolManager()
    url = 'http://flxt.xxx.com/api/alarm/scanning_stop?school=' + schoolid
    http.request('GET', url)
    scanning()
# 觸發(fā)報警
def shout():
    global ser
    global root
    global label
    ser = serial.Serial(com, 9600, timeout=0.1)
    ser.write(d31)   #循環(huán)播放第一首
    # ser.write(d54)  # 循環(huán)播放閃光
    root = tk.Tk()
    label = tk.Label(root, width=20)
    label.pack(padx=20, pady=20)
    countdown(continued_time)  #10秒關閉
    btn = Button(root, text="關閉報警", command=handstop)
    btn.pack()
    btn.mainloop()
# 定時請求腳本
def pushdata():
    http = urllib3.PoolManager()
    url = 'http://flxt.xxx.com/api/alarm/scanning?school='+schoolid
    retdata=http.request('GET', url)
    if retdata.status==200 :
      print('響應成功')
      retjsondata = json.loads(retdata.data.decode())
      if retjsondata['code']==1:
        global content
        content = retjsondata['data'][0]['content']
        print('有動作,開干,觸發(fā)報警器')
        print(retjsondata['msg'])
        shout()  #執(zhí)行播放事件
        return 2
      else:
        print(retjsondata['msg'])
        return 1
    else:
      print('響應失敗')
#循環(huán)學校進行報警
def scanning(str='3'):
  print('開始循環(huán)搞事情')
  while 1 <= 2:
      if str==3:
          pushdata()
          time.sleep(3)
      else:
          type = pushdata()
          if type == 2:  # 延時播放
              time.sleep(delayed_time)
          else:
              time.sleep(3)
              print('監(jiān)控中...')
          scanning('2')
# 登錄執(zhí)行報警邏輯
def login():
    global com
    global schoolid
    global continued_time  #持續(xù)時間
    global delayed_time    #報警間隔時間
    continued_time=60
    delayed_time=1200
    schoolid = entryName.get()
    com = entryPwd.get()
    if schoolid=='':
        tk.messagebox.showinfo('提示', '學校ID不能為空')
        return
    if com=='':
        tk.messagebox.showinfo('提示', '串口不能為空')
        return
    root.destroy()
    scanning()   #執(zhí)行監(jiān)控
# 測試報警按鈕
def textalarm():
    com = entryPwd.get()
    if com=='':
        tk.messagebox.showinfo('提示', '串口不能為空,請打開設備管理器檢查端口,查看串口號。示例:COM3(字母大寫)')
        return
    testshout(com)
    print('測試完成')
# 測試報警執(zhí)行
def testshout(com):
    ser = serial.Serial(com, 9600, timeout=0.1)
    # ser = serial.Serial('COM3', 9600, timeout=0.1)
    ser.write(d31)   #循環(huán)播放第一首
    time.sleep(3)    #播放時長3秒
    ser.write(d57)   #全部停止
    ser.close()      #結束
    print('播放完成')
#
root = tk.Tk()
varName = tk.StringVar(value='')
varPwd = tk.StringVar(value='COM3')
labelName = tk.Label(root, text='學校ID:', justify=tk.RIGHT, width=80)
labelName.place(x=10, y=5, width=80, height=20)
entryName = tk.Entry(root, width=80, textvariable=varName)
entryName.place(x=100, y=5, width=80, height=20)
labelPwd = tk.Label(root, text='串口:', justify=tk.RIGHT, width=80)
labelPwd.place(x=10, y=30, width=80, height=20)
entryPwd = tk.Entry(root,  width=80, textvariable=varPwd)
entryPwd.place(x=100, y=30, width=80, height=20)
buttonOk = tk.Button(root, text='測試報警', command=textalarm)
buttonOk.place(x=30, y=70, width=70, height=20)
buttonOk = tk.Button(root, text='登錄', command=login)
buttonOk.place(x=120, y=70, width=50, height=20)
root.mainloop()

到此這篇關于Python3開發(fā)監(jiān)控自動化觸發(fā)聲光報警的文章就介紹到這了,更多相關Python監(jiān)控聲光報警器內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • wxpython實現(xiàn)圖書管理系統(tǒng)

    wxpython實現(xiàn)圖書管理系統(tǒng)

    這篇文章主要為大家詳細介紹了wxpython實現(xiàn)圖書管理系統(tǒng),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • pytorch中transform.Compose()用法詳解

    pytorch中transform.Compose()用法詳解

    PyTorch是一個開源的Python機器學習庫,基于Torch,用于自然語言處理等應用程序,這篇文章主要介紹了pytorch中transform.Compose()用法,需要的朋友可以參考下
    2023-10-10
  • Python隨機生成迷宮游戲的代碼示例

    Python隨機生成迷宮游戲的代碼示例

    本文主要介紹了Python隨機生成迷宮游戲的代碼示例,Python可以通過生成二維數(shù)組模擬迷宮的結構,使用深度優(yōu)先搜索和廣度優(yōu)先搜索等算法找到通路,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • django中賬號密碼驗證登陸功能的實現(xiàn)方法

    django中賬號密碼驗證登陸功能的實現(xiàn)方法

    這篇文章主要介紹了django中賬號密碼驗證登陸功能的實現(xiàn)方法,本文圖文并茂給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-07-07
  • 解決Python的requests中text中文亂碼的問題

    解決Python的requests中text中文亂碼的問題

    學習Python爬蟲時遇到中文亂碼問題,發(fā)現(xiàn)req.text返回的是unicode,無法再次decode,通過查看網(wǎng)站源碼,發(fā)現(xiàn)網(wǎng)站使用的是gbk編碼,Requests會自動解碼來自服務器的內容,但有時推測錯誤,通過設置r.encoding為gbk,然后對text進行編碼,可以正確打印出中文
    2025-01-01
  • Python求正態(tài)分布曲線下面積實例

    Python求正態(tài)分布曲線下面積實例

    今天小編就為大家分享一篇Python求正態(tài)分布曲線下面積實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • Python Selenium模塊安裝使用教程詳解

    Python Selenium模塊安裝使用教程詳解

    這篇文章主要介紹了Python Selenium模塊安裝使用教程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-07-07
  • python批量修改圖片后綴的方法(png到jpg)

    python批量修改圖片后綴的方法(png到jpg)

    今天小編就為大家分享一篇python批量修改圖片后綴(png到jpg),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python入門學習之類的相關知識總結

    Python入門學習之類的相關知識總結

    今天帶大家復習python的基礎知識,文中對類的相關知識作了非常詳細的介紹,對正在學習python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2021-05-05
  • 在python中實現(xiàn)將一張圖片剪切成四份的方法

    在python中實現(xiàn)將一張圖片剪切成四份的方法

    今天小編就為大家分享一篇在python中實現(xiàn)將一張圖片剪切成四份的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12

最新評論