Агуулгын хүснэгт:
- Хангамж
- Алхам 1: Тоног төхөөрөмжийг угсрах
- Алхам 2: Таны Pi интернетэд холбогдсон эсэхийг шалгаарай
- Алхам 3: Камераа тохируулна уу
- Алхам 4: Колбыг суулгана уу
- Алхам 5: Маягтын анги үүсгэнэ үү
- Алхам 6: Колбоны загвар үүсгэх
- Алхам 7: Загварыг хөрвүүлэх
- Алхам 8: Камерын операторын анги үүсгэнэ үү
- Алхам 9: Бичлэгийн модулийг үүсгэнэ үү
- Алхам 10: Серверийг эхлүүлнэ үү
- Алхам 11: Үүнийг туршаад үзээрэй
Видео: Raspberry Pi аюулгүй байдлын камер: 11 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:01
Энэ бол Raspberry Pi ашиглан IoT, хөдөлгөөнт идэвхжүүлсэн хамгаалалтын камер хэрхэн бий болгох талаар алхам алхамаар зааварчилгаа юм. Та камерын мэдрэмж, бичлэг хийх хугацааг тохируулах, бичлэгийг гараар эхлүүлэх/зогсоох,/эсвэл орон нутагт хадгалагдах зургийг авах боломжийг олгодог колбоны вэб сервер, маягтыг хэрхэн бүтээх талаар сурах болно.
Хангамж
- Raspberry Pi 3
- Pi камер
- PIR хөдөлгөөн мэдрэгч
- SD карт
- Цахилгаан эх үүсвэр
Алхам 1: Тоног төхөөрөмжийг угсрах
Pi-г унтраасан байхад бичил SD картыг Pi-д оруулна уу. Камерын модулийн тууз кабелийг Pi дээрх камерын модулийн порт руу оруулна уу. Дараа нь PRI хөдөлгөөн мэдрэгчийн 3 зүүг (VCC, OUT, GND гэж тэмдэглэсэн) Pi -ийн GPIO зүү рүү холбоно уу. VCC -ийг 5.5V хүчдэлд, GND -ийг газардуулгад, OUT -ийг Pi дээрх 11 -р зүү рүү холбоно уу.
Алхам 2: Таны Pi интернетэд холбогдсон эсэхийг шалгаарай
Одоо Pi -г тэжээлийн эх үүсвэрт холбоод ping командыг ашиглан интернетэд холбогдсон эсэхээ шалгаарай. Хэрэв та Pi -гээ интернетэд хэрхэн холбохоо мэдэхгүй байгаа бол энд дарна уу.
sudo ping www.google.com
Хэрэв та амжилтанд хүрсэн бол өгөгдлийг google хүлээн авч байгааг харах ёстой.
Нэмж хэлэхэд та ifconfig ашиглан IP хаягаа харах боломжтой.
sudo ifconfig
Алхам 3: Камераа тохируулна уу
Дараах командыг ашиглан тохиргооны интерфэйсийг нээгээд камерыг "интерфэйсийн сонголтууд" хэсэгт идэвхжүүлнэ үү.
sudo raspi-config
Дахин ачаалсны дараа камераа зөв холбосон эсэхийг шалгахын тулд түүний статусыг харуулах боломжтой.
vcgencmd get_camera
Эцэст нь пикамера модулийг суулгана уу.
pip пикамера суулгах
Алхам 4: Колбыг суулгана уу
Python-ийн колбо ба колбонд амарч буй модулийг суулгана уу.
sudo apt-get python-dev python-pip суулгана уу
python -m pip колбыг колбонд суулгана
Дараа нь бид маягт үүсгэхэд ашигладаг питон колбоны модулийг суулгах болно.
pip суулгах колбо-wtf
Алхам 5: Маягтын анги үүсгэнэ үү
Бүх файлуудаа хадгалахын тулд iotProject нэртэй лавлах үүсгээрэй.
sudo mkdir iotProject
"CamControl.py" нэртэй питон файл үүсгэнэ үү.
sudo nano camControl.py
Энэ файлд бид хэрэглэгчийн камерын тохиргоог өөрчлөх, гараар бичлэг эхлүүлэх/зогсоох, видео бичих боломжтой болгохын тулд текст хайрцаг бүхий вэб маягт, доош унах цэс бүхий вэб маягт үүсгэх боломжийг олгодог маягтын ангилал үүсгэх болно.
flask_wtf импортоос FlaskFormfrom wtforms.validators импортлох өгөгдөл
ангийн camFrame (FlaskForm):
videoDuration = IntegerField ('Бичлэг хийх хугацаа (секундээр)')
мэдрэмж = IntegerField ('Хөдөлгөөн мэдрэмтгий байдал (2500-10000 муж) nТоо өндөр байх тусам камерын мэдрэмж багатай болно', баталгаажуулагч = [validators. NumberRange (min = 2500, max = 10000, message = 'Утга нь хүрээнээс гадуур')]))
options = SelectField ('Options', choices = [('none', 'No action'), ('rec', 'Start Recording'), ('stop', 'Recording Stop'), ('зураг', 'Зураг авах')])
оруулах = SubmitField ('Илгээх')
Алхам 6: Колбоны загвар үүсгэх
Хэрэглэгчийн интерфэйсийг бий болгохын тулд та саяхан үүсгэсэн маягтыг ашигладаг колбоны загвар зохион бүтээх ёстой. Энэ файлыг html дээр бичих бөгөөд таны маягттай ижил директорт байх ёстой templates нэртэй хавтсанд хадгалах болно.
Загвар хавтасныхаа дотор index.html нэртэй файл үүсгэнэ үү. Энэ файл дотор дээр үзүүлсэн кодыг хуулбарлана уу.
Алхам 7: Загварыг хөрвүүлэх
Одоо загварыг харуулдаг файл үүсгэх цаг болжээ. AppCam.py нэртэй файл үүсгэнэ үү (та загварын хавтсанд байхаа больсон эсэхээ шалгаарай). Загварт ашигласан аливаа динамик контентийг render_template () дуудлагад нэрлэсэн аргумент болгон ашиглах ёстой.
импортлох camControlfrom колбыг импортлох Колбо, render_template, хүсэлт, flask_restful импортын хариулт Resource, Api, reqparse
апп = Колбо (_ нэр_)
app.config ['SECRET_KEY'] = '13542' api = Api (апп)
задлагч = reqparse. RequestParser ()
parser.add_argument ('dur', type = int, help = 'Хөдөлгөөн илрэх үед видеоны үргэлжлэх хугацаа') parser.add_argument ('sens', type = int, help = 'Бичлэгийг эхлүүлэхэд шаардлагатай хөдөлгөөний түвшин') задлагч.add_argument ('opt', type = str, help = 'Гараар видео бичих эсвэл зураг авах')
ангийн шинэчлэлт (эх сурвалж):
Wtforms def post (өөрөө) -д зориулсан зүйл: args = parser.parse_args () #rc.input (args ['dur'], args ['sens'], args ['opt']) #текст файл руу бичих зэрэгцээ ажиллаж байгаа камертай ярьж байнаSettingsFile = нээлттэй ("cameraSettings.txt", 'w') cameraSettingsFile.write (args ['dur'] + '\ n') #wr dur dur cameraSettingsFile.write (args ['sens'] + '\ n') #бичих мэдрэх камерSettingsFile.write (args ['opt'] + '\ n') #write opt cameraSettingsFile.close () return {'dur': args ['dur'], 'sens': args ['мэдрэмж'], 'сонголт': args ['сонголт']}
@app.route ('/', арга = ['АВАХ', 'POST'])
def index (): "" "Хянагчийн нүүр хуудас" "" form = camControl.camFrame () #энэ бол request.method == 'POST': form (request.form) args = [i for i in request.form.items ()] #rc.input (int (args [0] [1]), int (args [1] [1]), args [2] [1]) cameraSettingsFile = нээлттэй ("cameraSettings.txt ", 'w') cameraSettingsFile.write (args [0] [1] + '\ n') #write dur cameraSettingsFile.write (args [1] [1] + '\ n') #бичих мэдрэх камерSettingsFile.write (args [2] [1] + '\ n') #write opt cameraSettingsFile.close () imageDictionary = {"файлын нэр": "image.jpg"} буцах render_template ('index.html', маягт = хэлбэр, зураг = imageDictionary)
api.add_resource (Шинэчлэх, '/update/')
хэрэв _name_ == '_main_':
app.run (host = '0.0.0.0', port = 80, debug = True, threaded = True)
Алхам 8: Камерын операторын анги үүсгэнэ үү
Одоо бид camOperator.py нэртэй файл үүсгэхийг хүсч байна. Үүнд бид одоо байгаа PiCamera функцуудыг ашиглан камер ажиллуулах аргуудыг агуулсан камерын анги хийх болно. Дараагийн алхамд бид энэ объектын жишээг ашиглах бөгөөд камер болон хөдөлгөөн мэдрэгчийн үйл ажиллагааг хослуулах болно.
Энэ ангид тодорхойлсон аргууд нь хэрэглэгчийн өгсөн мэдрэмтгий байдал, үргэлжлэх хугацааг ашиглан аюулгүй байдлын камер дээрх "бичлэг" тохиргоог өөрчилдөг бөгөөд хэрэв хэрэглэгчийн оролт байхгүй бол эдгээр хувьсагчдын анхдагч утгыг тогтоодог.
RPi. GPIO -ийг GPIO хэлбэрээр импортлох, datetime импортлох хугацаанаас пикамерыг импортлох
GPIO.setmode (GPIO. BOARD)
GPIO. тохиргоо (11, GPIO. IN)
илрүүлэх = 0
ангийн камер Оператор:
def _init _ (өөрөө):
#constructor self.cam = picamera. PiCamera () self.data = self.dur = 10 self.sens = 2500 self.opt = "none"
def рекорд (өөрөө, удаан):
#Хяналтын videoName = str (datetime.now ()) videoName = videoName.replace (':', ') videoName = videoName.replace ('. ',') Self.cam.start_recording ('/home/pi/iotProject/videos/' + videoName + '.h264') time.sleep (dur) self.cam.stop_recording ()
def ажиллагаа (өөрөө, удаан, мэдрэмж):
#Ойролцоогоор хүн ойрхон байгаа эсэхийг, хүн хэр удаан тойрч байгаа эсэхийг байнга хянадаг камерын үндсэн ажиллагаа нь бид бичлэг хийж эхэлдэг! дэлхийн илрүүлэлт i = GPIO.input (11) if i == 0: #Хөдөлгөөн мэдрэгчийн гаралт LOW байхад = 0 цаг унтдаг (унтах) (0.1) elif i == 1: #Хөдөлгөөн мэдрэгчийн гаралт нь өндөр хэвлэх үед хөдөлгөөн илэрсэн " +str (илрүүлэх)) if if> = sens*10: self.record (dur) хэвлэх (" RECORDED ") илрүүлэх = 0 цаг. унтах (0.1) илрүүлэх += 1
Алхам 9: Бичлэгийн модулийг үүсгэнэ үү
Энэ төсөлд шаардлагатай сүүлчийн програмыг rec.py нэртэй файлд бичих болно. Энэ файл нь камерыг хэзээ бичих, хэр удаан бичих, хэзээ/хэзээ зураг авахыг хэлж өгдөг. Үүнийг 5 -р алхамаас эхлэн текст файлд бичсэн хэрэглэгчийн өгөгдлийг байнга шалгаж унших замаар хийдэг. Хэрэв файлыг шинэчилсэн бол мэдрэмж, үргэлжлэх хугацааны утгыг тохируулж, дараа нь бичлэг эсвэл зураг авсан бол агуулгыг хадгалах болно. pi.h264 эсвэл-j.webp
'' 'Колбоны сервертэй зэрэгцэн ажилладаг бөгөөд серверийн маягтуудаас тохируулсан хяналтын хувьсагчдыг уншдаг. Маягтыг ирүүлсний дараа серверийн хяналтын хувьсагчдыг тусдаа файлд тохируулдаг. Rec модуль нь эдгээр хувьсагчдыг уншиж, түүнд үндэслэн камерыг шинэчилдэг. '' 'camOperator -ийг datetime -аас импортлох datetime импортын цаг
rc = camOperator.cameraOperator ()
cameraSettingsFile = нээлттэй ("cameraSettings.txt", 'w') cameraSettingsFile.close () #энд бид үндсэн горимыг ажиллуулахаас өмнө файл доторх агуулгыг устгахын тулд бичих горимд нээж, хаадаг.
#Хүмүүс ойролцоо байгаа эсэхийг харах тасралтгүй давталт. Хэрэв тэд байгаа бол
#камер бичлэг хийж эхэлнэ. Энэ функц нь энэ камерыг хянадаг колбо #сервертэй зэрэгцэн ажилладаг. recordInProcess = Үнэн байхад хуурамч: #шалгах/бүртгэх бол (recordInProcess == Худал): rc.operation (rc.dur, rc.sens) #камерын тохиргоог серверийн камер CamSettingsFile = open дээр үндэслэн өөрчлөх ("cameraSettings.txt", 'r') settingNum = 0 нь cameraSettingsFile.readlines () -д тохируулах (): if settingNum == 0: #Хугацаа өөрчлөгдөх rc.dur = int (тохиргоо) elif settingNum == 1: #Мэдрэмжийн өөрчлөлт rc.sens = int (тохиргоо) elif settingNum == 2: #Action change rc.opt = тохиргооны тохиргооNum += 1 камерSettingsFile.close ()
#үйлдэл хийх
# if rc.opt == "none": # үргэлжлүүлэх rc.opt == "rec / n" ба recordInProcess == False: print ("Controller -аас бичлэгийн командыг ажиллуулж байна") # Одоогийн видео нэр дээр үндэслэн видеоны нэрийг үүсгэ. = "snappedVid _"+str (datetime.now ()) videoName = videoName.replace (':', ') videoName = videoName.replace ('. ',') rc.cam.start_recording ('/home/pi/iotProject) /видео/' + видеоНэр +'.h264 ') recordInProcess = Үнэн elif rc.opt == "зогсоох / n" ба бичлэг хийх = Худал камерSettingsFile = нээлттэй ("cameraSettings.txt", 'w') cameraSettingsFile.write (str (rc.dur)+'\ n') cameraSettingsFile.write (str (rc.sens)+'\ n') cameraSettingsFile. бичих ("байхгүй / n") rc.opt = "байхгүй / n" elif rc.opt == "зураг / n" ба бичлэг хийх "+str (datetime.now ()) pictureName = pictureName.replace (':', ') pictureName = pictureName.replace ('. ',') rc.cam.st art_preview () time.sleep (5) rc.cam.capture ('pictures/' + pictureName + '.jpg') rc.cam.stop_preview () cameraSettingsFile = open ("cameraSettings.txt", 'w') cameraSettingsFile. бичих (str (rc.dur)+'\ n') cameraSettingsFile.write (str (rc.sens)+'\ n') cameraSettingsFile.write ("none / n") rc.opt = "none / n"
Алхам 10: Серверийг эхлүүлнэ үү
SSH -ийг pi руу оруулаад дээрх командын мөрийг ашиглан серверээ эхлүүлнэ үү.
Алхам 11: Үүнийг туршаад үзээрэй
IP хаягийг ашиглан вэб хуудсанд нэвтэрснээр та камераа алсаас удирдах боломжтой болно!
Зөвлөмж болгож буй:
Raven Pi аюулгүй байдлын камер: 7 алхам (зурагтай)
Raven Pi-ийн аюулгүй байдлын камер: Энэхүү хуванцар хэрээ нь Raven Pi хэмээх практик боловч аймшигтай хамгаалалтын камер болж, амьдралынхаа дараа шинэ амьдрал эдэлж байна. Энэ нь гэдсэндээ Raspberry Pi, хүзүүндээ Pi камер суурилуулсан бөгөөд хөдөлгөөн илрэх бүрт HD видео бичлэг хийдэг. Үүний зэрэгцээ түүний
PLC аюулгүй байдлын утасгүй аюулгүй байдлын товчлуур: 6 алхам (зурагтай)
PLC -ийн аюулгүй байдлын утасгүй аюулгүй байдлын товчлуур: Энэхүү төсөл нь аюултай үйлдвэрлэлийн байгууламжийн аюулгүй байдлын нэмэлт давхаргыг бий болгохын тулд IoT болон (эцэст нь) робот техникийг ашиглах талаархи миний ойлголтын нотолгоо юм. Энэ товчлуурыг ашиглан дохиог хянах зэрэг олон процессыг эхлүүлэх эсвэл зогсоох боломжтой
One Touch Эмэгтэйчүүдийн аюулгүй байдлын аюулгүй байдлын систем: 3 алхам
Эмэгтэйчүүдийн аюулгүй байдлын нэг мэдрэгчтэй систем: Нэг мэдрэгчтэй дохиолол 8051 микро хянагч ашигладаг эмэгтэйчүүдийн аюулгүй байдлын систем Өнөөгийн ертөнцөд эмэгтэйчүүдийн аюулгүй байдал нь тухайн улсын хамгийн чухал асуудал болоод байна. Өнөөдөр эмэгтэйчүүдийг дарамталж, зовоодог, заримдаа яаралтай тусламж хэрэгтэй болдог. Шаардлагатай байршил байхгүй байна
DIY мэргэжлийн нээлттэй эхийн шөнийн харааны аюулгүй байдлын камер: 10 алхам (зурагтай)
DIY мэргэжлийн нээлттэй эхийн шөнийн харааны аюулгүй байдлын камер: Энэхүү шинэ заавар дээр бид Raspberry Pi нээлттэй эх сурвалжтай видео тандалтын камер хийх болно. бүгд манай Жийдтэй холбогдсон
VHS Library Pi аюулгүй байдлын камер: 3 алхам (зурагтай)
VHS номын сангийн хамгаалалтын камер: Энэ бол хуучин VHS видео номын сангийн хайрцаг бөгөөд одоо Raspberry Pi -ийн аюулгүй байдлын камерыг төгс байраар хангаж байна. Энэхүү хайрцаг нь Pi Zero -ийг агуулсан бөгөөд камер нь хуурамч номны нурууг нэвт хардаг. Энэ бол хуучин ертөнцийн өнгө төрхтэй үнэхээр энгийн хийц юм