※商品画像貼るの面倒なので、アフィリエイト使用
結局、Amazonで調達したチルト機能付きカメラはこんな感じに設置した。
証拠というよりは、車に乗り込まれたかどうかを判定する程度。
結局の所、カメラケーブル50cmでは、自由な位置に取り付けができなかったのだ。
で、RX-7搭載のRaspberry Pi zero 2 Wは、わしの携帯電話のbluetoothに接続を試み、接続できた場合は、カメラの動体検知OFFで、運転中のノイズをカット。
駐車場に停めて、車から離れて、bluetooth接続が切れたら、動態検知ONというようにした。
車から離れたら動体検知ONになって欲しいのだが、わしの部屋から車庫までの距離だと、ギリギリbluetooth接続できてしまうので、動体検知がOFFになってしまう。
まあ、家では他に監視カメラがあるので、特に問題は無いけど、ゆくゆくは信号強度見て判断できるようになったらいいなとは思っている。
【機能】
- 車載警報装置の発報で、GPIO26 が 0になるので、メールとSMSを送信。
- わしの携帯のbluetoothとの接続が切れたら、カメラの動体検知ON、接続したら、動体検知OFF
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 | #!/bin/bash GPIO=26 GPIO_DIR=/sys/class/gpio MOTION_PID=/dev/shm/motion.pid BTMAC=[わしの携帯電話のbluetoothのMACアドレス] initialize(){ 	# GPIO26を有効化。プルアップ抵抗ON 	echo $GPIO >${GPIO_DIR}/export 	sleep 0.1 	echo in >${GPIO_DIR}/gpio${GPIO}/direction 	sleep 0.1 	echo high >${GPIO_DIR}/gpio${GPIO}/direction } shutdown_handler(){ 	# GPIOクリーンアップ 	echo $GPIO >$GPIO_DIR/unexport 	motion_stop 	exit 0 } mail_send(){ 	cat << _EOD_|/usr/sbin/sendmail -t -f yuji@noizumi.org From: yuji@noizumi.org To: yuji@noizumi.org Subject: Car Security alert $1 Car Security alarm was $1 at `date +"%Y/%m/%d %H:%M:%S"` _EOD_ } sms_send(){ 	DATEMES=`date +"%Y/%m/%d %H:%M:%S"` 	curl -X POST https://api.twilio.com/2010-04-01/Accounts/[アカウント]/Messages.json \ 	--data-urlencode "Body=Car Security alarm was $1 at $DATEMES" \ 	--data-urlencode "From=[twilioの携帯電話番号]" \ 	--data-urlencode "To=[わしの携帯電話番号]" \ 	-u [アカウント]:[パスワード] -o /home/noizumi/logs/twilio.log } button_pushed(){ 	motion_start 	mail_send activated 	sms_send activated 	# 車載警報装置発報中はループ 	while [ "`cat ${GPIO_DIR}/gpio${GPIO}/value`" = "0" ]; do 		sleep 1 	done 	mail_send stopped 	sms_send stopped } motion_start(){ 	if [ ! -e ${MOTION_PID} ]; then 		motion -n & 		echo $! >${MOTION_PID} 	fi } motion_stop(){ 	if [ -e ${MOTION_PID} ]; then 		kill -TERM `cat ${MOTION_PID}` 		rm -f ${MOTION_PID} || true 	fi } bluetooth_connect(){ 	# bluetooth 接続状態確認 	if [ "`hcitool con|grep -v Connection|grep ${BTMAC}`" != "" ]; then 		# 接続してたら、動体検知止める 		motion_stop 		if [ "`ip a|grep bnep`" = "" ]; then 			# bluetoothテザリング 			bt-pan client ${BTMAC} 		fi 	else 		# 接続してなかったら、動体検知スタート 		motion_start 		cat << _EOD_|bluetoothctl >/dev/null 2>&1 power on connect ${BTMAC} quit _EOD_ 	fi } initialize trap shutdown_handler 1 2 3 15 # pulseaudo 起動確認(bluetooth 接続用) if [ "`ps ux|grep -e \"${USER}.*pulseaudio\"|grep -v grep`" = "" ]; then 	pulseaudio --start 	sudo systemctl restart bluetooth.service fi while :; do 	# 車載警報装置発報時 	if [ "`cat ${GPIO_DIR}/gpio${GPIO}/value`" = "0" ]; then 		button_pushed 	fi 	bluetooth_connect 	sleep 1 done  | 
車載Raspberry Pi zero 2 W の監視スクリプトも結構な長さになったなあ。
