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, Studeni
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 č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

Ideja
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

Kod
Kod

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: