Diff
checker
テキスト
テキスト
画像
ドキュメント
Excel
フォルダ
Legal
Enterprise
デスクトップ
料金
ログイン
Diffchecker デスクトップのダウンロード
テキスト比較
2 つのテキスト ファイルの違いを見つける
ツール
履歴
ライブエディター
未変更行を折りたたむ
折り返しなし
レイアウト
分割
統合
比較精度
スマート
単語
文字
シンタックスハイライト
構文を選択
無視
テキスト変換
最初の差分へ移動
入力を編集
Diffchecker Desktop
Diffcheckerを実行する最も安全な方法。Diffchecker Desktopアプリを入手:あなたの差分はコンピューターから出ることはありません!
Desktopを入手
cam6_11_diff
作成日
2 年前
差分は期限切れになりません
クリア
エクスポート
共有
説明
2 削除
行
合計
削除
文字
合計
削除
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
24 行
すべてコピー
87 追加
行
合計
追加
文字
合計
追加
この機能を引き続き使用するには、アップグレードしてください
Diff
checker
Pro
価格を見る
107 行
すべてコピー
import RPi.GPIO as GPIO
import RPi.GPIO as GPIO
コピー
コピー済み
コピー
コピー済み
import time
import time
, cv2
from picamera2 import Picamera2, MappedArray
from libcamera import Transform
import os
PIR_PIN = 4
PIR_PIN = 4
コピー
コピー済み
コピー
コピー済み
LED_PIN = 17
resolution = (800, 600)
def apply_text(request):
# Text options
colour = (255, 255, 255)
origin = (0, 60)
font = cv2.FONT_HERSHEY_SIMPLEX
scale = 1
thickness = 1
# text = "17082024 09:07"
# Get the current time in the format "DDMMYYYY HH:MM"
text = time.strftime("%d%m%Y %H:%M")
# Calculate the text size
text_size, _ = cv2.getTextSize(text, font, scale, thickness)
# Calculate the bottom-right origin
x = resolution[0] - text_size[0] - 10 # 10 pixels padding from the right
y = resolution[1] - 10 # 10 pixels padding from the bottom
origin = (x, y)
with MappedArray(request, "main") as m:
cv2.putText(m.array, text, origin, font, scale, colour, thickness)
def take_photo(picam2):
# Ensure the directory exists
if not os.path.exists("/home/pi/Camera"):
os.makedirs("/home/pi/Camera")
file_name = "/home/pi/Camera/img_" + str(time.time()) + ".jpg"
# picam2.capture_file(file_name)
picam2.switch_mode_and_capture_file(capture_config, file_name)
print(f"Photo saved: {file_name}")
return file_name
# Setup camera
picam2 = Picamera2()
# picam2.configure(picam2.create_still_configuration(transform=Transform(rotation=180)))
# Create two separate configs - one for preview and one for capture.
# Make sure the preview is the same resolution as the capture, to make
# sure the overlay stays the same size
capture_config = picam2.create_still_configuration({"size": resolution}, transform=Transform(hflip=True, vflip=True))
preview_config = picam2.create_preview_configuration({"size": resolution}, transform=Transform(hflip=True, vflip=True))
# Set the current config as the preview config
picam2.configure(preview_config)
# Add the timestamp
picam2.pre_callback = apply_text
# Start the camera
picam2.start(show_preview=True)
picam2.start() # Start the camera
# Pause for 2 seconds to allow the camera to stabilize
time.sleep(2)
print("Camera setup ok.")
コピー
コピー済み
コピー
コピー済み
# Setup GPIOs
GPIO.setmode(GPIO.BCM)
GPIO.setmode(GPIO.BCM)
GPIO.setup(PIR_PIN, GPIO.IN)
GPIO.setup(PIR_PIN, GPIO.IN)
コピー
コピー済み
コピー
コピー済み
GPIO.setup(LED_PIN, GPIO.OUT)
GPIO.output(LED_PIN, GPIO.LOW)
print("GPIOs setup ok.")
コピー
コピー済み
コピー
コピー済み
MOV_DETECT_THRE
A
SHOLD = 3.0
MOV_DETECT_THRE
SHOLD = 3.0
# Time threshold for sustained motion
MIN_DURATION_BETWEEN_PHOTOS = 60.0 # Minimum time between two photos (in seconds)
last_pir_state = GPIO.input(PIR_PIN)
last_pir_state = GPIO.input(PIR_PIN)
movement_timer = time.time()
movement_timer = time.time()
コピー
コピー済み
コピー
コピー済み
last_time_photo_taken = 0 # Initialize last photo time to 0
print("Everything has been set up.")
try:
try:
while True:
while True:
time.sleep(0.01)
time.sleep(0.01)
pir_state = GPIO.input(PIR_PIN)
pir_state = GPIO.input(PIR_PIN)
コピー
コピー済み
コピー
コピー済み
# Activate LED when movement is detected.
GPIO.output(LED_PIN, GPIO.HIGH if pir_state == GPIO.HIGH else GPIO.LOW)
# Detecting the start of motion
if last_pir_state == GPIO.LOW and pir_state == GPIO.HIGH:
if last_pir_state == GPIO.LOW and pir_state == GPIO.HIGH:
movement_timer = time.time()
movement_timer = time.time()
コピー
コピー済み
コピー
コピー済み
# Sustained motion detection
if last_pir_state == GPIO.HIGH and pir_state == GPIO.HIGH:
if last_pir_state == GPIO.HIGH and pir_state == GPIO.HIGH:
コピー
コピー済み
コピー
コピー済み
if time.time() - movement_timer > MOV_DETECT_THRE
A
SHOLD:
if time.time() - movement_timer > MOV_DETECT_THRE
SHOLD:
print("Take Photo and Send it by Email")
# Check if enough time has passed since the last photo
if time.time() - last_time_photo_taken > MIN_DURATION_BETWEEN_PHOTOS:
print("Take Photo and Send it by Email")
take_photo(picam2)
last_time_photo_taken = time.time() # Update the last photo taken time
last_pir_state = pir_state
last_pir_state = pir_state
コピー
コピー済み
コピー
コピー済み
except KeyboardInterrupt:
except KeyboardInterrupt:
GPIO.cleanup()
GPIO.cleanup()
コピー
コピー済み
コピー
コピー済み
picam2.stop()
保存された差分
原文
ファイルを開く
import RPi.GPIO as GPIO import time PIR_PIN = 4 GPIO.setmode(GPIO.BCM) GPIO.setup(PIR_PIN, GPIO.IN) MOV_DETECT_THREASHOLD = 3.0 last_pir_state = GPIO.input(PIR_PIN) movement_timer = time.time() try: while True: time.sleep(0.01) pir_state = GPIO.input(PIR_PIN) if last_pir_state == GPIO.LOW and pir_state == GPIO.HIGH: movement_timer = time.time() if last_pir_state == GPIO.HIGH and pir_state == GPIO.HIGH: if time.time() - movement_timer > MOV_DETECT_THREASHOLD: print("Take Photo and Send it by Email") last_pir_state = pir_state except KeyboardInterrupt: GPIO.cleanup()
変更されたテキスト
ファイルを開く
import RPi.GPIO as GPIO import time, cv2 from picamera2 import Picamera2, MappedArray from libcamera import Transform import os PIR_PIN = 4 LED_PIN = 17 resolution = (800, 600) def apply_text(request): # Text options colour = (255, 255, 255) origin = (0, 60) font = cv2.FONT_HERSHEY_SIMPLEX scale = 1 thickness = 1 # text = "17082024 09:07" # Get the current time in the format "DDMMYYYY HH:MM" text = time.strftime("%d%m%Y %H:%M") # Calculate the text size text_size, _ = cv2.getTextSize(text, font, scale, thickness) # Calculate the bottom-right origin x = resolution[0] - text_size[0] - 10 # 10 pixels padding from the right y = resolution[1] - 10 # 10 pixels padding from the bottom origin = (x, y) with MappedArray(request, "main") as m: cv2.putText(m.array, text, origin, font, scale, colour, thickness) def take_photo(picam2): # Ensure the directory exists if not os.path.exists("/home/pi/Camera"): os.makedirs("/home/pi/Camera") file_name = "/home/pi/Camera/img_" + str(time.time()) + ".jpg" # picam2.capture_file(file_name) picam2.switch_mode_and_capture_file(capture_config, file_name) print(f"Photo saved: {file_name}") return file_name # Setup camera picam2 = Picamera2() # picam2.configure(picam2.create_still_configuration(transform=Transform(rotation=180))) # Create two separate configs - one for preview and one for capture. # Make sure the preview is the same resolution as the capture, to make # sure the overlay stays the same size capture_config = picam2.create_still_configuration({"size": resolution}, transform=Transform(hflip=True, vflip=True)) preview_config = picam2.create_preview_configuration({"size": resolution}, transform=Transform(hflip=True, vflip=True)) # Set the current config as the preview config picam2.configure(preview_config) # Add the timestamp picam2.pre_callback = apply_text # Start the camera picam2.start(show_preview=True) picam2.start() # Start the camera # Pause for 2 seconds to allow the camera to stabilize time.sleep(2) print("Camera setup ok.") # Setup GPIOs GPIO.setmode(GPIO.BCM) GPIO.setup(PIR_PIN, GPIO.IN) GPIO.setup(LED_PIN, GPIO.OUT) GPIO.output(LED_PIN, GPIO.LOW) print("GPIOs setup ok.") MOV_DETECT_THRESHOLD = 3.0 # Time threshold for sustained motion MIN_DURATION_BETWEEN_PHOTOS = 60.0 # Minimum time between two photos (in seconds) last_pir_state = GPIO.input(PIR_PIN) movement_timer = time.time() last_time_photo_taken = 0 # Initialize last photo time to 0 print("Everything has been set up.") try: while True: time.sleep(0.01) pir_state = GPIO.input(PIR_PIN) # Activate LED when movement is detected. GPIO.output(LED_PIN, GPIO.HIGH if pir_state == GPIO.HIGH else GPIO.LOW) # Detecting the start of motion if last_pir_state == GPIO.LOW and pir_state == GPIO.HIGH: movement_timer = time.time() # Sustained motion detection if last_pir_state == GPIO.HIGH and pir_state == GPIO.HIGH: if time.time() - movement_timer > MOV_DETECT_THRESHOLD: # Check if enough time has passed since the last photo if time.time() - last_time_photo_taken > MIN_DURATION_BETWEEN_PHOTOS: print("Take Photo and Send it by Email") take_photo(picam2) last_time_photo_taken = time.time() # Update the last photo taken time last_pir_state = pir_state except KeyboardInterrupt: GPIO.cleanup() picam2.stop()
違いを見つける