Sadržaj:
Video: Praćenje produktivnosti - Pokreće Raspberry Pi: 9 koraka (sa slikama)
2024 Autor: John Day | [email protected]. Zadnja promjena: 2024-01-30 09:37
Tracker za produktivnost čarobno je ogledalo, ali umjesto da prikazuje vrijeme, vrijeme i motivirajući citat, prikazuje 4 stvari;
Postotak vremena koje ste potrošili na produktivni materijal na svom računalu i telefonu za taj dan. (RescueTime)
Vaš popis zadataka iz Trella
Radarski grafikon koji prikazuje koliko ste vremena proveli zajedno s kategorijama programa i aplikacija koje ste koristili u odnosu na jučerašnju upotrebu. (RescueTime)
Tjedni pregled. (RescueTime)
A ako je postotak vremena koje ste potrošili na produktivni materijal veći od 50%, LED diode prikazat će svijetlo zelenu boju. Ako je ispod 50%, prikazat će crvenu boju, signalizirajući vam da budete produktivniji! Cilj možete postaviti i sami.
Obris
U prvom koraku objasnit ću ideju koja stoji iza praćenja produktivnosti. Zatim ću vam dati dva različita alata i popis dijelova kako biste mogli izgraditi cijeli projekt ili osnovnu verziju (ne uključuje LED diode) koja ne zahtijeva vještine lemljenja. Kasnije ću vam pokazati kako sam prototipirao svoju verziju projekta, tako da imate ideju kako modelirati svoj vlastiti prototip. Također ću ući u detalje u odjeljku koda kako biste ga mogli prilagoditi svojim potrebama. Na kraju ću vam dati vodič za rješavanje problema na temelju problema na koje sam naišao tijekom ove gradnje. I proširite popis svojim pitanjima.
Svrha ovog uputstva nije samo dati vam kuharicu. Pokazat ću vam način na koji sam izgradio ovaj projekt i pružit ću vam otvorena pitanja kako biste mogli dodati vlastite ideje i još više odvesti ovaj projekt. Snažno vas potičem da podijelite svoju gradnju kad završi! Započnimo.
Korak 1: Ideja
Mjesecima sam namjeravao napisati ovaj Instructable. Ali moj stari prijatelj koji se zove "Procrastination" nije mi dopustio. Odugovlačenje je čin odgode ili odgode zadatka ili skupa zadataka, a umjesto obavljanja tih zadataka vrijeme se ispunjava gledanjem videa iz mračnih dubina YouTubea.
Jednog dana dok sam čitao članak o odugovlačenju naišao sam na više aplikacija/programa koji bi mi pomogli u mom problemu, Trello kao aplikacija za upravljanje zadacima i RescueTime kao aplikacija za upravljanje vremenom. Oboje su savršeno radili za moje potrebe, barem neko vrijeme. Nakon nekog vremena prestao sam potpuno provjeravati aplikacije i zanemario obavijesti. Tada sam osmislio ovaj projekt. Prikazao bih podatke iz aplikacija na ogledalu obješenom na zid. Na ovaj način nije bilo bijega od odgovornosti.
Prvi nacrt koji sam nacrtao za svoj projekt bio je prilično jednostavan. Koristio bih RescueTime API za prikaz svog postotka produktivnog/distraktivnog rada. I koristite Trello API za prikaz moje liste zadataka za taj dan. No, nakon nekog vremena dodao sam još značajki koje ću detaljno dobiti u sljedećim koracima.
Korak 2: Alati i dijelovi
Napomena: Ovo je popis alata koje sam koristio tijekom gradnje, ne moraju biti isti za vašu gradnju!
Za bazu:
4 metra drva za igru od 7x15 cm - 6 USD - Ovisi o veličini vašeg ekrana
30x40cm jednostrano ogledalo - ovisi o veličini vašeg ekrana
Samsung monitor veličine 25x35 cm - 15 USD - Nađeno na buvljaku. bilo koji monitor bi to učinio
Raspberry Pi 3 Model B- 35 $ - Raspberry pi 2 je također u redu, ali trebat će vam wifi modul
HDMI kabel - 2 USD
Za Led Lightning:
200 cm smd5050 RGB LED traka - 4 $ - Mora biti više o smd5050 o ovome kasnije…
- Tri N -kanalna MOSFET -a (npr. IRLZ34N) - 2 USD
- Adapter za napajanje 12V -2A - 3,15 USD
- Prototipiranje PCB -a - 1 USD
Alati:
- Pila za drvo
- Ljepilo za drvo
- Lemilica (za LED rasvjetu)
Korak 3: Kôd
Ovaj korak će se sastojati od 3 dijela. Ne trebaju vam svi dijelovi navedeni u prethodnom koraku. Raspberry Pi i monitor koji ćete koristiti za ovaj projekt trebali bi biti dovoljni za fazu izrade prototipa.
Postavljanje vašeg Raspberry Pi
Ako još niste postavili Raspberry Pi, učinite to ovdje. Za ovu gradnju morat ćete instalirati Apache za web poslužitelj i PHP-LED-kontroler.
Da biste instalirali Apache, slijedite ovaj službeni vodič.
Da biste instalirali PHP-LED-kontroler, slijedite ovaj vodič od Christiana Nikkanena
Sada preuzmite datoteku index.php iz spremišta projekta na svoj Raspberry Pi i stavite je na ovu stazu:
/var/www/html/
Ako niste upoznati s premještanjem datoteka u Linux Terminalu, za početak pogledajte ovaj vodič.
Prilagodite kôd
Napomena: Ovaj dio zahtijeva malo HTML/CSS znanja ako koristite drugi monitor.
Prilagođavanje će se izvršiti na datoteci index.php koja je ognjište ove gradnje. Sada nastavite i povežite svoj monitor s Raspberry Pi -om ako to već niste učinili.
Ako pokušate otvoriti datoteku index.php, to neće funkcionirati jer prvo morate unijeti API ključeve u kôd, za to idite na RescueTime web stranicu i otvorite račun. Zatim idite na odjeljak za razvojne programere i stvorite API ključ pritiskom na Aktiviraj ovaj ključ. Zapišite negdje svoj API ključ.
Učinite isto za svoj Trello API ključ, otvorite račun i idite na portal za razvojne programere kako biste generirali API ključ.
Zatim otvorite datoteku index.php koju ste stavili u/var/www/html/u svom omiljenom uređivaču teksta i zamijenite [API_KEY] vlastitim API ključem koji ste prema tome dobili od RescueTime i Trello. [List_number] je broj popisa koji koristite za svoj popis zadataka Trello. Da biste dobili taj broj, prvo stvorite novi popis na Trellu i nazovite ga "To-Do" (To-Do), to će biti popis koji ćete koristiti za popis obaveza i pojavit će se na zrcalu.
Zatim uzmite URL na adresnoj traci koji izgleda ovako:
trello.com/b/3hS6yyLo/naziv ploče
i dodajte mu.json ovako:
trello.com/b/3hS6yyLo/board-name.json
i pritisnite enter, zatim ćete vidjeti kodni nered na ekranu. Pokušajte pronaći naziv popisa '' To-Do "u tom neredu. To bi trebalo izgledati otprilike ovako: {" name ":" To Do "," id ":" 5981c123cd1b23f13907cd18 "}, Taj ID je vaš ID popisa. Stavite taj broj do [list_number] u datoteci index.php.
Sada otvorite svoj preglednik i upišite localhost u adresnu traku i pritisnite enter. Vaši bi se podaci trebali prikazati na grafikonima.
Napomena: Položaji grafikona mogu biti različiti zbog razlučivosti monitora koji koristite. Možete urediti širinu, visinu i mjesto elemenata u CSS dijelu koda.
Sada preostaje samo dizajnirati okvir oko monitora i spojiti LED diode.
Napomena: Ako vas API -jevi detalji ne zanimaju, možete prijeći na sljedeći korak. U dijelu API -ja detaljno ću objasniti kako cijeli program radi i dobiva podatke iz API -ja.
API -ji (detaljno)
Ognjište ovog projekta su Dva API -ja;
- Trello API
- RescueTime API
Iako dokumentacija sadrži detaljne informacije, objasnit ću koje podatke iz API -ja ovaj projekt koristi.
Što se tiče upravljanja vremenom, RescueTime API poziv koji dobiva podatke o vremenu za tekući dan je, "https://www.rescuetime.com/anapi/data?key=[API_KEY]&perspective=rank&interval=hour&restrict_begin=".date('Ym-d')."&restrict_end=".date('Ym-d '). "& format = json"
gdje, datum ('Y-m-d') je trenutni datum
perspektiva = rang je vrsta sortiranja podataka u ovom slučaju "rang" koja predstavlja većinu provedenog vremena
Ovaj poziv će dati datoteku u JSON formatu koja izgleda ovako: (pogledajte data.json na kraju ovog koraka)
Podaci koje koristimo iz ove datoteke su "Vrijeme provedeno (sekunde)" i "Produktivnost" koji imaju vrijednosti između -2 i 2, -2 odvlače pažnju, a 2 produktivno. Pomoću ovih podataka možemo generirati vrijednost veću od 100 za ocjenu produktivnosti.
Još jedan API poziv RescueTime, "https://www.rescuetime.com/anapi/daily_summary_feed?key=[API_KEY]"
Što vam daje tjedni sažetak vaših podataka, koji izgleda ovako: (pogledajte summary.json na kraju ovog koraka.) Koristio sam te podatke za generiranje tjednog sažetog grafikona koji vam daje pregled tjedna.
Trello API poziv, "https://api.trello.com/1/lists/[list_number]/cards?fields=name&key=[API_KEY]&token=[Token]"
Ovo će vam dati kartice na vašem Trello popisu ovako:
[{"id": "5a4160103bfcd14994852f59", "name": "ceylan cinemagraph"}, {"id": "59e8241f6aa8662a51eb7de6", "name": "Naučite GitHuB"}, {"id": "5981c19577c732f8ad ":" Publish Instructible "}, {" id ":" 5a341dba7f17d235d7c5bbd1 "," name ":" PROSTORSKI PROGRAM "}]
opet možete povući tekst na tim karticama i staviti ga na neko drugo mjesto.
podaci.json
Formatirani JSON podaci |
{ |
"notes": "podaci su niz polja (redaka), nazivi stupaca za retke u zaglavljima redaka", |
"zaglavlja_reda": [ |
"Rang", |
"Provedeno vrijeme (sekunde)", |
"Broj ljudi", |
"Aktivnost", |
"Kategorija", |
"Produktivnost" |
], |
"redovi": [ |
[ |
1, |
1536, |
1, |
"hr.0wikipedia.org", |
"Nekategorizirano", |
0 |
], |
[ |
2, |
1505, |
1, |
"youtube.com", |
"Video", |
-2 |
], |
[ |
3, |
1178, |
1, |
"Otvoreni ured", |
"Pisanje", |
2 |
], |
[ |
4, |
709, |
1, |
"moodle.bilkent.edu.tr", |
"Opće reference i učenje", |
2 |
], |
[ |
5, |
602, |
1, |
"google.com.tr", |
"Traži", |
2 |
], |
[ |
6, |
439, |
1, |
"reddit.com", |
"Opće vijesti i mišljenje", |
-2 |
], |
[ |
7, |
437, |
1, |
"tr.sharelatex.com", |
"Pisanje", |
2 |
], |
[ |
8, |
361, |
1, |
"yemeksepeti.com", |
"Opća kupovina", |
-2 |
], |
[ |
9, |
356, |
1, |
"Gmail", |
"E -pošta", |
0 |
], |
[ |
10, |
328, |
1, |
"Google Chrome", |
"Preglednici", |
0 |
], |
[ |
11, |
207, |
1, |
"stars.bilkent.edu.tr", |
"Opće reference i učenje", |
2 |
], |
[ |
12, |
179, |
1, |
"što ima", |
"Instantna poruka", |
-1 |
], |
pogledajte rawdata.json hostirano sa ❤ od strane GitHub -a
sažetak.json
[ |
{ |
"id": 1515657600, |
"date": "2018-01-11", |
"puls_produktivnosti": 54, |
"vrlo_produktivan_procent": 34,2, |
"postotak_produktivnosti": 10,6, |
"neutralni_procent": 25,6, |
"postotak ometanja": 0,0, |
"vrlo_odvraćajući_procent": 29,6, |
"all_productive_procentage": 44,8, |
"all_distracting_procentage": 29,6, |
"nekategorizirani_procent": 16,1, |
"poslovni_procent": 6,0, |
"komunikacijski_i_razmjer_procenta": 4.3, |
"postotak društvenog umrežavanja": 0,0, |
"postotak dizajna i sastava": 0,0, |
"postotak_zabave": 15,2, |
"postotak_vijesti": 3,3, |
"postotak_razvoja softvera": 5,4, |
"referentni_i_učenički_procent": 22,8, |
"postotak_kupnje": 12,9, |
"postotak uslužnih programa": 14,1, |
"ukupno_sati": 2,51, |
"vrlo_produktivni_sati": 0,86, |
"produktivni_sati": 0,27, |
"neutralni_sati": 0,64, |
"sati odvraćanja pažnje": 0,0, |
"vrlo_ometajući sati": 0,74, |
"svi_produktivni_sati": 1,12, |
"all_distracting_hours": 0,74, |
"nekategorizirani_sati": 0,4, |
"poslovni_sati": 0,15, |
"communication_and_scheduling_hours": 0,11, |
"sati društvenog umrežavanja": 0,0, |
"sati_ dizajna i_kompozicije": 0,0, |
"sati_zabave": 0,38, |
"news_hours": 0,08, |
"sati_razvoja softvera": 0,13, |
"referentni_i_učni_sati": 0,57, |
"shopping_hours": 0,32, |
"komunalije_sati": 0,35, |
"total_duration_formatted": "2h 30m", |
"very_productive_duration_formatted": "51m 26s", |
"productive_duration_formatted": "15m 56s", |
"neutral_duration_formatted": "38m 34s", |
"distracting_duration_formatted": "nema vremena", |
"very_distracting_duration_formatted": "44m 30s", |
"all_productive_duration_formatted": "1h 7m", |
"all_distracting_duration_formatted": "44m 30s", |
"uncategorized_duration_formatted": "24m 11s", |
"business_duration_formatted": "9m 6s", |
"communication_and_scheduling_duration_formatted": "6m 26s", |
"social_networking_duration_formatted": "nema vremena", |
"design_and_composition_duration_formatted": "nema vremena", |
"entertainment_duration_formatted": "22m 49s", |
"news_duration_formatted": "4m 55s", |
"software_development_duration_formatted": "8m 3s", |
"reference_and_learning_duration_formatted": "34m 17s", |
"shopping_duration_formatted": "19m 22s", |
"utilities_duration_formatted": "21m 17s" |
}, |
{ |
"id": 1515571200, |
"date": "2018-01-10", |
"puls_produktivnosti": 33, |
"vrlo_produktivan_procent": 21,9, |
"produktivni_procent": 2,3, |
"neutralni_procent": 14,4, |
"postotak ometanja": 11,0, |
"vrlo_odvraćajući_procent": 50,3, |
"all_productive_procentage": 24,2, |
"all_distracting_procentage": 61,4, |
"nekategorizirani_procent": 0,3, |
"poslovni_procent": 0,0, |
"komunikacijski_i_razmjer_procenta": 13,5, |
"postotak društvenog umrežavanja": 0,0, |
"postotak dizajna i sastava": 6,3, |
"postotak_zabave": 44,7, |
"postotak_vijesti": 4.2, |
"postotak_razvoja softvera": 0,0, |
"referentni_i_učenički_procent": 15,5, |
"postotak_kupnje": 0.0, |
"postotak uslužnih programa": 15,4, |
"ukupno_sati": 2,24, |
"vrlo_produktivni_sati": 0,49, |
"produktivni sati": 0,05, |
"neutralni_sati": 0,32, |
"sati odvraćanja pažnje": 0,25, |
"vrlo_ometajući sati": 1,13, |
"svi_produktivni_sati": 0,54, |
"sati_svi_ometanja": 1,37, |
"nekategorizirani_sati": 0,01, |
"poslovni_sati": 0,0, |
"komunikacijski_i_sredni_sati": 0,3, |
"sati društvenog umrežavanja": 0,0, |
"sati_ dizajna i_kompozicije": 0,14, |
"sati_zabave": 1,0, |
"news_hours": 0,09, |
"sati_razvoja softvera": 0,0, |
"referentni_i_učni_sati": 0,35, |
"shopping_hours": 0.0, |
"komunalije_sati": 0,34, |
"total_duration_formatted": "2h 14m", |
"very_productive_duration_formatted": "29m 22s", |
"productive_duration_formatted": "3m 8s", |
"neutral_duration_formatted": "19m 18s", |
"distracting_duration_formatted": "14m 48s", |
"very_distracting_duration_formatted": "1h 7m", |
"all_productive_duration_formatted": "32m 30s", |
"all_distracting_duration_formatted": "1h 22m", |
"uncategorized_duration_formatted": "27s", |
"business_duration_formatted": "1s", |
"communication_and_scheduling_duration_formatted": "18m 5s", |
"social_networking_duration_formatted": "nema vremena", |
"design_and_composition_duration_formatted": "8m 30s", |
"entertainment_duration_formatted": "59m 54s", |
"news_duration_formatted": "5m 39s", |
"software_development_duration_formatted": "nema vremena", |
"reference_and_learning_duration_formatted": "20m 51s", |
"shopping_duration_formatted": "nema vremena", |
"utilities_duration_formatted": "20m 39s" |
}, |
{ |
"id": 1515484800, |
"date": "2018-01-09", |
"puls_produktivnosti": 68, |
"vrlo_produktivan_procent": 60,4, |
"produktivni_procent": 0,5, |
"neutralni_procent": 11,0, |
"postotak ometanja": 7,1, |
"vrlo_odvraćajući_procent": 21,0, |
"all_productive_procentage": 60,9, |
"all_distracting_procentage": 28,1, |
"nekategorizirani_procent": 9.1, |
"poslovni_procent": 21,9, |
"komunikacijski_i_razmjer_procenta": 7.2, |
"postotak društvenog umrežavanja": 5,1, |
"postotak dizajna i sastava": 1,2, |
"postotak_zabave": 1,6, |
"postotak_vijesti": 12,5, |
"postotak_razvoja softvera": 9.1, |
"referentni_i_učenički_procent": 28,2, |
"postotak_kupnje": 2,9, |
"postotak uslužnih programa": 1,2, |
"ukupno_sati": 2,78, |
"vrlo_produktivni_sati": 1,68, |
"produktivni_sati": 0,01, |
"neutralni_sati": 0,31, |
"sati odvraćanja pažnje": 0,2, |
"vrlo_ometajući sati": 0,58, |
"svi_produktivni_sati": 1,69, |
"all_distracting_hours": 0,78, |
"nekategorizirani_sati": 0,25, |
"poslovni_sati": 0,61, |
"komunikacijski_i_sredni_sati": 0,2, |
"sati društvenog umrežavanja": 0,14, |
"sati_ dizajna i_kompozicije": 0,03, |
"sati_zabave": 0,04, |
"vijesti_sati": 0,35, |
"sati_razvoja softvera": 0,25, |
"referentni_i_učni_sati": 0,78, |
"shopping_hours": 0,08, |
"komunalije_sati": 0,03, |
"total_duration_formatted": "2h 46m", |
"very_productive_duration_formatted": "1h 40m", |
"productive_duration_formatted": "47s", |
"neutral_duration_formatted": "18m 23s", |
"distracting_duration_formatted": "11m 49s", |
"very_distracting_duration_formatted": "34m 57s", |
"all_productive_duration_formatted": "1h 41m", |
"all_distracting_duration_formatted": "46m 46s", |
"uncategorized_duration_formatted": "15m 7s", |
"business_duration_formatted": "36m 26s", |
"communication_and_scheduling_duration_formatted": "11m 59s", |
"social_networking_duration_formatted": "8m 28s", |
"design_and_composition_duration_formatted": "2m 4s", |
"entertainment_duration_formatted": "2m 39s", |
"news_duration_formatted": "20m 49s", |
"software_development_duration_formatted": "15m 5s", |
"reference_and_learning_duration_formatted": "46m 59s", |
"shopping_duration_formatted": "4m 51s", |
"utilities_duration_formatted": "2m 3s" |
} |
] |
pogledajte rawsummary.json hostirano sa ❤ od GitHub -a
Korak 4: Prototipiranje
Velika nagrada na natjecanju Raspberry Pi 2017
Preporučeni:
Kako izgraditi PHIL - robota za praćenje svjetla: 6 koraka (sa slikama)
Kako izgraditi PHIL - robota za praćenje svjetlosti: U ovom Instructable -u ću vam pokazati kako sam napravio ovog dvoosnog svjetlosnog robota za praćenje pomoću Arduino Uno. Svi CAD i kodovi bit će uključeni tako da ih možete sami izraditi bez ikakvih vještina programiranja ili projektiranja. Sve što će vam trebati
Arduino štapić za praćenje vlage tla - nikada ne zaboravite zalijevati svoje biljke: 4 koraka (sa slikama)
Arduino štap za nadzor vlage tla - nikada ne zaboravite zalijevati svoje biljke: Zaboravljate li često zalijevati svoje sobne biljke? Ili im možda pridajete previše pažnje i zalijevate ih? Ako to učinite, trebali biste sami napraviti štap za praćenje vlažnosti tla na baterije. Ovaj monitor koristi kapacitivnu vlagu tla
Praćenje i praćenje za male trgovine: 9 koraka (sa slikama)
Track & trace za male trgovine: Ovo je sustav koji je napravljen za male trgovine koje bi se trebale montirati na e-bicikle ili e-skutere za kratke isporuke, na primjer pekara koja želi isporučivati peciva. Track and Trace znači sustav Track and Trace koji koriste ca
DIY pametni robotski alati za praćenje automobila Kompleti za praćenje automobila Fotoosjetljivi: 7 koraka
DIY Pametni roboti za praćenje automobila Kompleti za praćenje Automobil Fotoosjetljivi: Dizajn SINONING ROBOT -a Možete kupiti od robota za praćenje Robotski čip TheoryLM393 usporedite dva fotootpornika, kada LED dioda s jednog bočnog fotootpornika na BIJELOJ strani motora odmah će se zaustaviti, s druge strane motora okreni se pa
Raspberry Pi NFC alat za praćenje odjeće: 5 koraka (sa slikama)
Raspberry Pi NFC Tracker Clothing Tracker: Ako ste poput mene, onda na podu imate malu hrpu odjeće koja može biti prljava ili ne. To može uključivati traperice, košulje i jedva nošene kratke hlače. Pa kako možete znati koja je odjeća čista ili prljava? Smislio sam način praćenja