Sadržaj:

Praćenje produktivnosti - Pokreće Raspberry Pi: 9 koraka (sa slikama)
Praćenje produktivnosti - Pokreće Raspberry Pi: 9 koraka (sa slikama)

Video: Praćenje produktivnosti - Pokreće Raspberry Pi: 9 koraka (sa slikama)

Video: Praćenje produktivnosti - Pokreće Raspberry Pi: 9 koraka (sa slikama)
Video: SKR 1.4 - TMC2209 v1.2 2024, Novembar
Anonim
Praćenje produktivnosti - Pokreće Raspberry Pi
Praćenje produktivnosti - Pokreće Raspberry Pi
Praćenje produktivnosti - Pokreće Raspberry Pi
Praćenje produktivnosti - Pokreće Raspberry Pi
Praćenje produktivnosti - Pokreće Raspberry Pi
Praćenje produktivnosti - Pokreće Raspberry Pi

Tracker za produktivnost je čarobno ogledalo, ali umjesto da prikazuje vrijeme, vrijeme i motivirajući citat, prikazuje 4 stvari;

Postotak vremena koje ste potrošili na produktivni materijal na računaru i telefonu za taj dan. (RescueTime)

Vaša lista 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 će prikazati jarko zelenu boju. Ako je ispod 50%, prikazat će crvenu boju, signalizirajući vam da budete produktivniji! Možete i sami postaviti cilj.

Outline

U prvom koraku ću objasniti 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 mogli prilagoditi kôd za svoje potrebe. Na kraju ću vam dati vodič za rješavanje problema na osnovu problema na koje sam naišao tokom ove izgradnje. I proširite listu svojim pitanjima.

Svrha ovog uputstva nije samo da vam pokloni kuharicu. Pokazat ću vam način na koji sam izgradio ovaj projekt i pružit ću vam otvorena pitanja, tako da možete dodati vlastite ideje, te ovaj projekt odvesti dalje. Snažno vas ohrabrujem da podijelite svoju izgradnju kada završi! Hajde da počnemo.

Korak 1: Ideja

Ideja
Ideja

Nameravao sam mesecima da napišem ovaj Instructable. Ali moj stari prijatelj koji se zove "Procrastination" nije mi dopustio. Odugovlačenje je čin odgađanja ili odgađanja zadatka ili niza zadataka, umjesto da radite te zadatke ispunjavajući vrijeme gledanjem videozapisa 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 radili savršeno za moje potrebe, barem neko vrijeme. Nakon nekog vremena prestao sam potpuno provjeravati aplikacije i zanemario obavijesti. Tada sam osmislio ovaj projekat. 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 obaveza za taj dan. Ali nakon nekog vremena, dodao sam još funkcija koje ću detaljno dobiti u sljedećim koracima.

Korak 2: Alati i dijelovi

Napomena: Ovo je spisak alata koje sam koristio tokom izrade, ne moraju biti isti za vašu verziju!

Za bazu:

4 metra drva za presvlačenje 7x15 cm - 6 USD - Ovisi o veličini vašeg ekrana

30x40cm jednostrano ogledalo - zavisi od veličine ekrana

Samsung monitor dimenzija 25x35 cm - 15 USD - Pronađen na buvljaku. bilo koji monitor bi to uradio

Raspberry Pi 3 Model B- 35 $ - Raspberry pi 2 je takođe u redu, ali trebat će vam wifi modul

HDMI kabel - 2 USD

Za Led Lightning:

200 cm smd5050 RGB LED traka - 4 USD - 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:

  • Testera za drvo
  • Ljepilo za drvo
  • Lemilica (za LED osvetljenje)

Korak 3: Kôd

Kodeks
Kodeks

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 verziju morate instalirati Apache za web server 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 putanju:

/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 verzije. 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 programere i kreirajte API ključ pritiskom na Aktiviraj ovaj ključ. Zapišite svoj API ključ negdje.

Učinite isto za svoj Trello API ključ, otvorite račun i idite na portal za programere da 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 liste koji koristite za svoju listu zadataka Trello. Da biste dobili taj broj, prvo stvorite novu listu u Trellu i nazovite je "To-Do", ovo će biti lista koju ćete koristiti za svoju listu obaveza i pojavit će se na ogledalu.

Zatim uzmite URL na adresnoj traci koji izgleda ovako:

trello.com/b/3hS6yyLo/name-odbora

i dodajte mu.json ovako:

trello.com/b/3hS6yyLo/board-name.json

i pritisnite enter, zatim ćete na ekranu vidjeti nered. Pokušajte pronaći naziv liste '' To-Do "u tom neredu. To bi trebalo izgledati otprilike ovako: {" name ":" To Do "," id ":" 5981c123cd1b23f13907cd18 "}, Taj ID je vaš ID liste. taj broj do [list_number] u datoteci index.php.

Sada otvorite svoj preglednik i upišite localhost u adresnu traku i pritisnite enter. Trebali biste vidjeti svoje podatke prikazane na grafikonima.

Napomena: Položaji grafikona mogu biti različiti zbog rezolucije monitora koji koristite. Možete urediti širinu, visinu i lokaciju elemenata u CSS dijelu koda.

Sada ostaje samo da dizajnirate okvir oko monitora i spojite LED diode.

Napomena: Ako vas detalji API -ja ne zanimaju, možete prijeći na sljedeći korak. U dijelu API -ja ću detaljno saznati kako cijeli program funkcionira 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 informacije 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" koje 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 sedmični sažetak vaših podataka, koji izgleda ovako: (pogledajte summary.json na kraju ovog koraka.) Koristio sam ove podatke za generiranje sedmičnog sažetog grafikona koji vam daje pregled sedmice.

Trello API poziv, "https://api.trello.com/1/lists/[list_number]/cards?fields=name&key=[API_KEY]&token=[Token]"

Ovo će vam dati karte na vašoj Trello listi ovako:

[{"id": "5a4160103bfcd14994852f59", "name": "ceylan cinemagraph"}, {"id": "59e8241f6aa8662a51eb7de6", "name": "Naučite GitHuB"}, {"id": "5981c19577c732f8ad ":" Publish Instructible "}, {" id ":" 5a341dba7f17d235d7c5bbd1 "," name ":" SPACE PROGRAM "}]

opet možete povući tekst na tim karticama i staviti ga negdje drugdje.

data.json

Formatirani JSON podaci
{
"notes": "data je niz niza (redova), imena stupaca za redove u zaglavljima redaka",
"row_headers": [
"Rang",
"Utrošeno vrijeme (sekunde)",
"Broj ljudi",
"Aktivnost",
"Kategorija",
"Produktivnost"
],
"redovi": [
[
1,
1536,
1,
"en.0wikipedia.org",
"Nekategorizirano",
0
],
[
2,
1505,
1,
"youtube.com",
"Video",
-2
],
[
3,
1178,
1,
"OpenOffice",
"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",
"Email",
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,
"whatsapp",
"Instant poruka",
-1
],

pogledajte rawdata.json hostirano sa ❤ od strane GitHub -a

summary.json

[
{
"id": 1515657600,
"date": "2018-01-11",
"puls_produktivnosti": 54,
"vrlo_produktivan_procent": 34,2,
"produktivni_procent": 10,6,
"neutralni_procent": 25,6,
"ometajući_procent": 0.0,
"vrlo_odvraćajući_procent": 29.6,
"all_productive_procentage": 44.8,
"all_distracting_percentage": 29.6,
"nekategorizirani_procent": 16.1,
"poslovni_procent": 6.0,
"postotak_komunikacije_i_ rasporeda": 4.3,
"procenat društvenog_ umrežavanja": 0,0,
"postotak_ dizajna i_kompozicije": 0,0,
"postotak_zabave": 15.2,
"postotak_ vijesti": 3.3,
"procenat softverskog razvoja": 5.4,
"referentni_i_učenički_procent": 22.8,
"postotak kupovine": 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,
"distracting_hours": 0.0,
"vrlo_ometajući sati": 0,74,
"all_productive_hours": 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,
"dizajn_i_kompozicija_sati": 0.0,
"sati_zabave": 0,38,
"news_hours": 0.08,
"software_development_hours": 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,
"ometajući_procent": 11.0,
"vrlo_odvraćajući_procent": 50,3,
"all_productive_percentage": 24,2,
"all_distracting_percentage": 61.4,
"nekategorizirani_procent": 0,3,
"poslovni_procent": 0.0,
"komunikacijski_i_razmjer_procenta": 13,5,
"procenat društvenog_ umrežavanja": 0,0,
"postotak dizajna i sastava": 6.3,
"postotak_zabave": 44,7,
"postotak_ vijesti": 4.2,
"procenat softverskog_razvoja": 0.0,
"referentni_i_učenički_procent": 15,5,
"postotak kupovine": 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,
"distracting_hours": 0.25,
"vrlo_ometajući sati": 1,13,
"all_productive_hours": 0.54,
"all_distracting_hours": 1.37,
"nekategorizirani_sati": 0,01,
"business_hours": 0.0,
"komunikacija_i_zakazivanje_sata": 0,3,
"sati društvenog umrežavanja": 0.0,
"sati_ dizajna i_kompozicije": 0,14,
"sati_zabave": 1.0,
"news_hours": 0.09,
"programski_razvoj_sati": 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,
"procenat ometanja": 7.1,
"vrlo_odvraćajući_procent": 21.0,
"all_productive_procentage": 60.9,
"all_distracting_percentage": 28.1,
"nekategorizirani_procent": 9.1,
"poslovni_procent": 21.9,
"postotak_komunikacije_i_ rasporeda": 7.2,
"procenat društvenog_ umrežavanja": 5.1,
"postotak_ dizajna i_kompozicije": 1.2,
"postotak_zabave": 1.6,
"postotak_ vijesti": 12,5,
"postotak_razvoja softvera": 9.1,
"referentni_i_učenički_procent": 28.2,
"postotak kupovine": 2,9,
"utilities_procentage": 1.2,
"total_hours": 2.78,
"vrlo_produktivni_sati": 1,68,
"produktivni_sati": 0,01,
"neutralni_sati": 0,31,
"distracting_hours": 0.2,
"vrlo_ometajući sati": 0,58,
"all_productive_hours": 1.69,
"all_distracting_hours": 0.78,
"uncategorized_hours": 0.25,
"poslovni_sati": 0,61,
"komunikacija_i_zakazivanje_sata": 0,2,
"sati društvenog umrežavanja": 0,14,
"dizajn_i_kompozicija_sati": 0,03,
"sati_zabave": 0,04,
"news_hours": 0,35,
"programski_razvoj_sati": 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 takmičenju Raspberry Pi 2017

Preporučuje se: