
Orodha ya maudhui:
2025 Mwandishi: John Day | [email protected]. Mwisho uliobadilishwa: 2025-01-23 15:11

Wazo ni kupakia picha na video zilizotengenezwa na mwendo ulioamilishwa kamera iliyounganishwa na Raspberry Pi ili kupakia faili kwenye wingu. Programu ya 'Motion' inasaidia kupakia kwenye Hifadhi ya Google kupitia PyDrive. Katika nakala hii 'Mwendo' hutumiwa kupakia kwenye Picha kwenye Google.
Vifaa:
Raspberry Pi 3B +
Kamera ya wavuti ya USB Logitech C920
Uchaguzi wa vifaa haukuamua, nilichukua tu kile kilichokuwa karibu.
Mahitaji:
Kwa urahisi Raspberry pi inapaswa kuwa kwenye mtandao wako wa ndani - kuidhibiti bila kufuatilia / kibodi na kupakia / kupakua faili. Kwa hili unapaswa kuwa na wakala wa ssh kwenye PC yako (mfano putty).
Shukrani nyingi kwa ssandbac kwa mafunzo mazuri. Ikiwa unahitaji maelezo zaidi juu ya jinsi ya kuweka mazingira angalia nakala hii. Nilikopa usanikishaji wa mwendo na kusanidi hatua kutoka kwake na nikaongeza mabadiliko. Hasa, badala ya kutuma barua pepe na arifa mfano huu hutumia kupakia kwenye picha za Google zilizoshirikiwa na kupata arifa aina ya "picha zilizoongezwa" katika upau wa arifa.
Hapa kuna hatua:
Hatua ya 1: Sakinisha Mwendo wa Linux kwenye Raspberry
Hasa katika mfano huu ilitumika mwendo v4.0.
1.1 Sasisha pi
pi @ raspberrypi: ~ $ sudo apt-pata sasisho
pi @ raspberrypi: ~ $ sudo apt-pata sasisho
1.2 Pakua mwendo
pi @ raspberrypi: ~ $ sudo apt-pata mwendo wa kusakinisha
1.3 Sasa hariri faili hii na mabadiliko yafuatayo
pi @ raspberrypi: ~ $ sudo nano /etc/motion/motion.conf
# Anza katika hali ya daemon (mandharinyuma) na utoe kituo (chaguo-msingi: imezimwa)
daemon imewashwa
# Tumia faili kuhifadhi ujumbe wa magogo, ikiwa haijafafanuliwa stderr na syslog hutumiwa. (chaguomsingi: haijafafanuliwa)
logfile /var/log/motion/motion.log
Upana wa picha (saizi). Masafa halali: Kutegemea kamera, chaguomsingi: 352
upana 1920
# Urefu wa picha (saizi). Masafa halali: Kutegemea kamera, chaguomsingi: 288
urefu 1080
# Kiwango cha juu cha fremu zitakazopigwa kwa sekunde.
30
# Inabainisha idadi ya picha zilizopigwa awali (zilizopigwa) kutoka kabla ya mwendo
pre_capture 5
# Idadi ya muafaka wa kunasa baada ya mwendo haigunduliki tena
post_nasa 5
Picha # za kawaida wakati mwendo unagunduliwa (chaguo-msingi: imewashwa)
pato_picha zimezimwa
# Ubora (kwa asilimia) utumiwe na ukandamizaji wa jpeg
ubora 100
# Tumia ffmpeg kusimba sinema katika wakati halisi
ffmpeg_output_movies mbali
# au masafa 1 - 100 ambapo 1 inamaanisha ubora mbaya na 100 ni bora.
ffmpeg_variable_badilisha 100
# Wakati wa kuunda video, muafaka unapaswa kudhibitiwa kwa utaratibu
ffmpeg_duplicate_frames- uongo
# Bool kuwezesha au kulemaza extpipe (chaguo-msingi: imezimwa)
tumia_ bomba la bomba kwenye
extpipe ffmpeg -y -f rawvideo -pix_fmt yuv420p -video_size% wx% h -kuzidisha% fps -i bomba: 0 -vcodec libx264 -preset ultrafast -f mp4% f.mp4
lengo_dir / var / lib / mwendo
# Amri ya kutekelezwa wakati faili ya sinema
; on_movie_end sudo python3 /var/lib/motion/photos.py% f.mp4 &
Acha ya mwisho na semicolon kwa sasa (ametoa maoni) ili usifadhaike baada ya kuhakikisha kuwa kurekodi video na kupakia kunafanya kazi.
1.4 Kisha badili
pi @ raspberrypi: ~ $ sudo nano / etc / default / motion
pi @ raspberrypi: ~ $ start_motion_daemon = ndio
Hatua ya 2: Sanidi API ya Picha za Google kwa Python


2.1 Inapendekezwa kuunda akaunti mpya kwa kusudi hili kushiriki albamu na yako kuu kupata arifa wakati faili mpya zinaongezwa, pamoja na nafasi zaidi ya kuhifadhi. Washa API ya Picha kwenye Google kwa akaunti utakayotumia kupakia.
Unapaswa kuwa na faili ya sifa.json baada ya hii.
2.2 Usanidi wa mazingira ya chatu
Kimsingi usanidi wa mazingira unahitajika kwenye rasipberry tu. Lakini inahitaji idhini ya oauth ambayo ni rahisi zaidi kutimiza kwenye PC. Ili kufanya hivyo kwenye rasipiberi unahitaji kuunganisha kufuatilia / kibodi kwake au kusanidi UI ya mbali ya eneo-kazi. Niliweka mazingira sawa kwenye rasipberry na PC zote mbili. Kwa hivyo hatua 2.2.1..2.2.3 zilifanywa kwenye PC, 2.2.1, 2.2.2, 2.2.5, 2.2.6 kwenye Rpi
2.2.1 sakinisha Python 3
2.2.2 Sakinisha vifurushi vya api za google kulingana na mwongozo * (tazama 5.1)
Kwenye PC
kusanikisha pip3 - sasisha google-api-chatu-mteja google-auth-httplib2 google-auth-oauthlib
Juu ya raspberry
pi @ raspberrypi: ~ $ sudo pip3 sakinisha - sasisha google-api-chatu-mteja google-auth -rickplib2 google-auth-oauthlib
2.2.3 Angalia upakiaji wa hati kwenye picha za google.. Imewekwa kwenye github yangu. Weka kwenye saraka sawa na sifa.json.
2.2.4 Piga picha na jaribu kupakia
python3 photos.py picha.jpg
Sakinisha utegemezi uliopotea ikiwa kuna na ujaribu tena. Kama matokeo unapaswa kupata token.pickle katika saraka ya hati na pia albamu mpya inayoshirikiwa iliyoundwa katika kiolesura chako cha wavuti cha Picha za Google na image.jpg. Unapopata ishara.pickle hauitaji vitambulisho.json kwa photos.py kwenye saraka sawa tena.
2.2.5 Shiriki albamu na akaunti juu ya kile ungependa kupata arifa kwenye media mpya iliyoongezwa. Ongeza akaunti hii kwenye simu yako.
2.2.6 Weka picha.py na ishara.bokonya katika / var / lib / mwendo kwenye rasiberi. Mtumiaji wa 'pi' hawezi kuandika 'dir's ya mwendo ili upakie kwa / nyumbani / pi kwanza
scp photos.py tok.pickle pi @ IP: / nyumbani / pi
Kisha ingia kwenye raspberry na songa faili chini ya sudo
ssh pi @ IP
pi @ raspberrypi: ~ $ sudo mv photos.py token.pickle / var / lib / motion
2.2.7 Angalia jinsi upakiaji unavyofanya kazi kwenye rasiberi. Piga picha na fswebcam na ujaribu kuipakia
pi @ raspberrypi: ~ $ sudo fswebcam /var/lib/motion/image.jpg
pi @ raspberrypi: ~ $ sudo python3 /var/lib/motion/photos.py /var/lib/motion/image.jpg
Kutakuwa na picha-j.webp
Hatua ya 3: Jaribu
3.1 Anza huduma ya Mwendo
pi @ raspberrypi: ~ $ sudo mwendo wa huduma kuanza
Unaweza kubadilisha amri ya "kuacha", au "kuanzisha upya"
3.2 Wezesha magogo ya mwendo
pi @ raspberrypi: ~ $ mkia -f /var/log/motion/motion.log
3.2 Angalia pato la kamera kwenye kifaa kingine kilichounganishwa na mtandao huo huo wa ndani. Ingiza kwenye kivinjari:
IP: 8081
Kuangalia magogo subiri hadi mwendo ugundue na faili NAME.mp4 imeandikwa kwa / var / lib / mwendo. Kisha uzindua upakiaji hati mwenyewe
pi @ raspberrypi: ~ $ sudo python3 /var/lib/motion/photos.py /var/lib/motion/NAME.mp4
Angalia athari za chatu. Subiri hadi hafla_yatokea kwa mwendo.log. Kisha nenda kwenye albamu ya "helloworld" kwenye picha zako za google na uangalie ikiwa kuna video iliyopakiwa.
3.4 Ikiwa upakiaji umefanikiwa kutotoa maoni katika /etc/motion.conf laini:
pi @ raspberrypi: ~ $ sudo nano /etc/motion.conf
# Amri ya kutekelezwa wakati faili ya sinema iko tayari
on_movie_end sudo python3 /var/lib/motion/photos.py% f.mp4 &
pi @ raspberrypi: ~ $ usawazishaji
pi @ raspberrypi: ~ $ sudo kuanzisha mwendo wa huduma
3.5 Kuangalia magogo ya mwendo na kwenye albamu angalia ikiwa video imepakia kiatomati.
3.6 Shiriki albamu kwa hiari na akaunti yako kuu kupata arifa wakati video mpya au picha imeongezwa.
Hatua ya 4: Chaguo: Sanidi Upataji wa Wavuti kwa Kamera ya Kusambaza Saa Halisi



Hatua hii inategemea mafunzo ya Parreno ya Michel. Nilichagua tu FreeDNS badala ya NoIP kama inavyopendekezwa hapa.
4.1 Sanidi ufikiaji ulioidhinishwa wa seva ya mwendo wa kutiririsha video:
pi @ raspberrypi: ~ $ sudo nano /etc/motion/motion.conf
# Weka njia ya uthibitishaji (chaguomsingi: 0)
# 0 = imezimwa
# 1 = Uthibitishaji wa kimsingi
# 2 = MD5 digest (uthibitisho salama)
mkondo_wa_mfumo wa 2
# Uthibitishaji wa mkondo. Jina la mtumiaji la syntax: nywila
# Default: haijafafanuliwa (Imelemazwa)
jina la mtumiaji la webcontrol_authentication: password
# Upeo wa juu wa mito ya mkondo (chaguomsingi: 1)
mtiririko_maanisha 30
# Zuia uunganisho wa mkondo kwa localhost tu (chaguomsingi: imewashwa)
stream_localhost imezimwa
Ikiwa hautatumia kiolesura cha kudhibiti wavuti kutoka kwa mtandao wa nje acha hiyo imezimwa (kama kwa chaguo-msingi)
# Zuia miunganisho ya kudhibiti kwa localhost tu (chaguomsingi: imewashwa)
webcontrol_localhost imewashwa
Pia, kwa kuwa raspberry inakwenda mkondoni, ninapendekeza kubadilisha nywila ya rasipiberi chaguo-msingi
pi @ raspberrypi: ~ $ passwd
Ingawa ssh bandari 22 haijaelekezwa kwa raspberry, bado.
4.2 Nenda kwenye tovuti ya FreeDNS
4.3 Jisajili
4.4 Ongeza kijikoa (Kwa Wanachama -> Vikoa vidogo)
4.5 Chagua mteja wa DNS kusakinisha kwenye Raspberry (Kwa Wanachama -> Dynamic DNS -> Rasilimali za DNS za Nguvu -> Wateja wa Dynamic DNS)
Nilichagua wget_script update.sh kutoka kwa Adam Dean (chini ya ukurasa)
Kuna washika nafasi _YOURAPIKEYHERE_ na _YOURDOMAINHERE_. Kuwafanya waende kwa (Kwa Wanachama -> Dynamic DNS)
Na kwenye ukurasa hapa chini utapata mifano ya maandishi na APIKEY yako na DOMAIN (ile iliyoongezwa kwa 4.4). Nilichukua maadili haya kutoka kwa Wget Script na kuchukua nafasi ya _YOURAPIKEYHERE_ na _YOURDOMAINHERE_ katika update.sh
4.6 Kisha endesha sasisho.sh kwenye rasiberi. Inaweza kuhitaji dnsutils kwa nslookup. Isakinishe basi:
pi @ raspberrypi: ~ $ sudo apt-pata dnsutils
4.7 Kisha sanidi router yako ili kurudisha tena maombi ya ulimwengu ya nje hadi bandari 8081 hadi ip ya rasipberry
4.8 Hifadhi ip kwa MAP yako ya rasipiberi katika mipangilio ya DHCP ili Rpi iwe na ip sawa
4.9 Kisha ingiza kwenye kivinjari kwenye kifaa ambacho hakijaunganishwa na mtandao wa karibu:
uwanja wako: 8081
Ingiza hati zako ambazo umefafanua katika motion.conf.
Jaribu jinsi video inavyofanya kazi.
4.10 ili kusasisha kazi ya kusanidi kiotomatiki ya DDNS. Tazama mfano wa haraka_cron kwenye (Kwa Wanachama -> Dynamic DNS)
Hatua ya 5: Vidokezo
5.1 Kuwa mwangalifu kusanikisha vifurushi vya chatu kwenye rasiberi. Nilikaa siku kutatua jambo hili - suala lilikuwa kwamba kutoka kwa maandishi hati iliendesha vizuri, lakini kuitwa kutoka kwa mwendo wa tukio la mwendo haukufanya hivyo. Kilichofanya iwe mbaya zaidi ni kwamba athari kutoka kwa hati hiyo hazikuweza kupatikana katika kesi ya mwisho.
Sababu ilikuwa kwamba kufuata mwongozo niliweka vifurushi kwa mtumiaji wa 'pi' (ambayo kwa msingi iko kwenye saraka ya / nyumbani / pi na imezuiliwa kwa watumiaji wengine) lakini kuendesha hati kama mtoto wa huduma ya 'mwendo' vifurushi lazima iwe inapatikana kwa mtumiaji wa 'mwendo' pia. Kwa hivyo mwishowe niliiweka ikiweka vifurushi kama
sudo pip3…
Hii sio njia sahihi bado inafanya kazi. Ufungaji bila Sudo kama pip3 - mfumo ulikuwa unanipa makosa kwa sababu fulani.
Vivyo hivyo hati hiyo inaitwa pia chini ya sudo (tazama mwendo.conf).
Wakati wa utaftaji huu wa mawaidha nilifanya mabadiliko mengi yasiyo ya lazima na sina hakika ni nini ni muhimu na sasa ni wavivu sana kurudisha nyuma zaidi na kuona ni lini itaacha kufanya kazi. Hasa, kupewa haki za msimamizi wa mwendo:
pi @ raspberrypi: ~ $ vikundi mwendo
mwendo: mwendo adm watumiaji wa video ya sauti ya net netv pi
pi @ raspberrypi: ~ $ sudo paka /etc/sudoers.d/010_pi-nopasswd
pi WOTE = (WOTE) NOPASSWD: WOTE
mwendo WOTE = (WOTE) NOPASSWD: WOTE
Pia ilikuwa kubadilisha wamiliki wa faili na ruhusa sawa na kupakia kwenye Hifadhi ya Google. Labda inaweza kukusaidia ikiwa una shida kama hiyo.
5.2 API ya Picha kwenye Google inakuwezesha kuongeza faili kwenye albamu zilizoshirikiwa ili kila mtu aliye na kiungo aweze kuifikia. Usishiriki kwa kiunga na ufute sinema za zamani au uzihamishe kwa takataka au kutoka kwa albamu. Katika kesi ya mwisho wanabaki kwenye akaunti.
5.3 Msaidizi wa picha za Google hugundua nyuso, ambayo ni muhimu ikiwa ubora wa kamera ni sawa. Kama bonasi hufanya aina ya mkusanyiko wa media na vipawa n.k.
5.4 Nilijaribu kutumia modemu ya 4G LTE USB kwa ufikiaji wa mtandao na haya ndio matokeo yangu. Kuna https://howtoraspberrypi.com/create-a-wi-fi-hotspot-in-less-than-10-minutes-with-pi-raspberry/ mwongozo rahisi sana jinsi ya kuifanya kwa kutumia RaspAP. 5.4.3 Dynamic DNS haikufanya kazi katika mtandao wa 4G wa carrie yangu. Kuna maelezo kwanini
5.5 Baada ya kutumia mfumo huu kwa wiki kadhaa, ingawa video ni rahisi kutazama na kupakia, Picha za Google hufanya kazi vizuri na picha. Mfano inawezesha vitu / nyuso kupanga picha za kuchambua tu, na kisha tu kutafuta sura / vitu kutoka kwa picha kwenye video, lakini sio kinyume. Kwa hivyo nitajaribu picha ikipakia video badala.
Ilipendekeza:
Moduli ya Odometry, kwa Ushirikiano na JLCPCB: Hatua 4

Moduli ya Odometry, kwa Ushirikiano na JLCPCB: StoryRobotech Nancy ni mradi wa Ufaransa ulioko Polytech Nancy, shule ya uhandisi mashariki mwa Ufaransa. Inayo wanafunzi 16, wanaolenga kushindana kwenye Kombe la Kifaransa la Robotic la 2020. Kwa bahati mbaya, mustakabali wa mashindano hauna uhakika wa
DIY Smart Doorbell: Msimbo, Usanidi na Ushirikiano wa HA: Hatua 7 (na Picha)

DIY Smart Doorbell: Kanuni, Usanidi na Ushirikiano wa HA: Katika mradi huu, nitakuonyesha jinsi unaweza kubadilisha kengele yako ya kawaida kuwa ya busara bila kubadilisha utendaji wowote wa sasa au kukata waya wowote. Nitatumia bodi ya ESP8266 iitwayo Wemos D1 mini. Mpya kwa ESP8266? Tazama Utangulizi wangu
Hali Rahisi ya Kicker na Mfumo wa Kuhifadhi Na Ushirikiano wa Slack: Hatua 12 (na Picha)

Hali Rahisi ya Kicker na Mfumo wa Kuhifadhi Na Ushirikiano wa Slack: Katika kampuni ninayofanya kazi kuna meza ya kicker. Kampuni hiyo inachukua sakafu nyingi na kwa wafanyikazi wengine inachukua hadi dakika 3 kufika mezani na … kugundua kuwa meza tayari imechukuliwa. Kwa hivyo wazo lilitokea kujenga ki
Udhibiti wa Blinds na ESP8266, Nyumba ya Google na Ushirikiano wa Openhab na Udhibiti wa Wavuti: Hatua 5 (na Picha)

Udhibiti wa Blinds na ESP8266, Nyumba ya Google na Ushirikiano wa Openhab na Udhibiti wa Wavuti: Katika hii Inayoweza kufundishwa ninakuonyesha jinsi nilivyoongeza kiotomatiki kwa vipofu vyangu. Nilitaka kuweza kuiongeza na kuiondoa kiotomatiki, kwa hivyo usanikishaji wote ni sehemu ya. Sehemu kuu ni: Stepper motor Stepper driver inadhibitiwa bij ESP-01 Gear na kuweka
Wifi Iliyodhibitiwa Ukanda wa 12v Iliyotumiwa Ukitumia Raspberry Pi Pamoja na Tasker, Ushirikiano wa Ifttt.: 15 Hatua (na Picha)

Wifi Iliyodhibitiwa Ukanda wa 12v Iliyotumiwa Ukitumia Raspberry Pi Pamoja na Tasker, Ushirikiano wa Ifttt.: Katika mradi huu nitakuonyesha jinsi ya kudhibiti laini rahisi ya 12v iliyoongozwa na wifi kwa kutumia pi ya raspberry. Kwa mradi huu utahitaji: 1x Raspberry Pi (I ninatumia Raspberry Pi 1 Model B +) 1x RGB 12v Le