Tuottavuuden seuranta - Powered by Raspberry Pi: 9 vaihetta (kuvilla)
Tuottavuuden seuranta - Powered by Raspberry Pi: 9 vaihetta (kuvilla)
Anonim
Tuottavuuden seuranta - Powered by Raspberry Pi
Tuottavuuden seuranta - Powered by Raspberry Pi
Tuottavuuden seuranta - Powered by Raspberry Pi
Tuottavuuden seuranta - Powered by Raspberry Pi
Tuottavuuden seuranta - Powered by Raspberry Pi
Tuottavuuden seuranta - Powered by Raspberry Pi

Tuottavuuden seuranta on maaginen peili, mutta sen sijaan, että näytetään aika, sää ja motivoiva lainaus, se näyttää 4 asiaa;

Prosenttiosuus ajasta, jonka olet käyttänyt tuottavaa materiaalia tietokoneella ja puhelimella kyseisenä päivänä. (RescueTime)

Tehtävälistasi Trellolta

Tutkakaavio, joka näyttää käyttämäsi ajan sekä käyttämiesi ohjelmien ja sovellusten luokat verrattuna eilisen käyttöön. (RescueTime)

Viikoittainen yleiskatsaus. (RescueTime)

Ja jos tuottavaan materiaaliin käytetty aika on yli 50%, LED -valot näyttävät kirkkaan vihreiltä. Jos se on alle 50%, se näyttää punaista, mikä osoittaa, että olet tuottavampi! Voit myös asettaa tavoitteen itse.

Ääriviivat

Ensimmäisessä vaiheessa selitän tuottavuusseurannan idean. Seuraavaksi annan sinulle kaksi erilaista työkalu- ja osaluetteloa, jotta voit rakentaa koko projektin tai perusversion (ei sisällä LED -valoja), joka ei vaadi juotostaitoja. Myöhemmin näytän sinulle, kuinka prototyyppasin projektini version, joten sinulla on idea oman prototyypin mallintamiseen. Lisäksi perehdyn yksityiskohtiin koodiosassa, jotta voit muokata koodia omiin tarpeisiisi. Lopuksi annan sinulle vianetsintäoppaan tämän rakenteen aikana ilmenneiden ongelmien perusteella. Ja laajenna listaa kysymyksilläsi.

Tämän ohjeen tarkoitus ei ole vain antaa sinulle keittokirja. Näytän sinulle, miten rakensin tämän projektin, ja annan sinulle avoimia kysymyksiä, jotta voit lisätä omia ideoitasi ja viedä tätä projektia pidemmälle. Kehotan sinua voimakkaasti jakamaan rakennuksesi, kun se on valmis! Aloitetaan.

Vaihe 1: Idea

Ajatus
Ajatus

Olen aikonut kirjoittaa tämän ohjeen kuukausien ajan. Mutta vanha ystäväni, joka käyttää nimeä "viivyttely", ei antanut minulle. Viiveellä tarkoitetaan tehtävän tai tehtävien viivästymistä tai lykkäämistä, eikä näiden tehtävien suorittamisen sijaan ajan täyttäminen katsomalla videoita YouTuben pimeästä syvyydestä.

Eräänä päivänä lukiessani viivytystä käsittelevää artikkelia törmäsin useisiin sovelluksiin/ohjelmiin, jotka auttaisivat minua ongelmassani, Trello tehtävienhallintasovelluksena ja RescueTime ajanhallintasovelluksena. Molemmat toimivat täydellisesti minun tarpeisiini, ainakin jonkin aikaa. Jonkin ajan kuluttua lopetin sovellusten tarkistamisen kokonaan ja ohitin ilmoitukset. Silloin keksin tämän projektin. Näytän sovellusten tiedot seinälle ripustetulla peilillä. Näin velvollisuuksiltani ei paennut.

Ensimmäinen luonnos projektilleni oli melko yksinkertainen. Käytän RescueTime -sovellusliittymää tuottavan/häiritsevän työn prosenttiosuuden näyttämiseen. Käytä Trello-sovellusliittymää päivän tehtävälistan näyttämiseen. Mutta jonkin ajan kuluttua lisäsin lisää ominaisuuksia, joita saan yksityiskohtaisesti seuraavissa vaiheissa.

Vaihe 2: Työkalut ja osat

Huomautus: Tämä on luettelo työkaluista, joita käytin rakentamiseni aikana, niiden ei tarvitse olla samat rakennuksellesi!

Pohjalle:

4 metriä 7x15 cm leikkipuuta - 6 $ - Riippuu näytön koosta

30x40cm yksipuolinen peili - riippuu näytön koosta

25x35cm Samsung -näyttö - 15 $ - Löytyi kirpputorilta. mikä tahansa monitori tekisi

Raspberry Pi 3 Malli B- 35 $ - Raspberry pi 2 on myös hieno, mutta tarvitset wifi -moduulin

HDMI -kaapeli - 2 dollaria

Led Lightningille:

200cm smd5050 RGB Led -nauha - 4 $ - Sen täytyy olla smd5050 lisää myöhemmin…

  • Kolme N -kanavaista MOSFETia (esim. IRLZ34N) - 2 dollaria
  • 12V -2A virtalähde - 3,15 $
  • Piirilevyn prototyyppi - 1 $

Työkalut:

  • Puu saha
  • Puuliima
  • Juotosrauta (LED -valaistukseen)

Vaihe 3: Koodi

Koodi
Koodi

Tämä vaihe koostuu kolmesta osasta, et tarvitse kaikkia edellisessä vaiheessa lueteltuja osia. Raspberry Pi ja tässä projektissa käytettävä näyttö riittävät prototyyppivaiheeseen.

Raspberry Pi -laitteen asentaminen

Jos et ole vielä asettanut Raspberry Pi -laitettasi, mene eteenpäin ja tee se täällä. Tätä rakennetta varten sinun on asennettava Apache web-palvelimelle ja PHP-LED-ohjaimelle.

Asenna Apache noudattamalla tätä virallista opasta.

Asenna PHP-LED-ohjain noudattamalla tätä Christian Nikkasen opasta

Lataa nyt index.php -tiedosto projektivarastosta Raspberry Pi -laitteeseesi ja aseta se tälle polulle:

/var/www/html/

Jos et tunne tiedostojen siirtämistä Linux -päätelaitteessa, voit tutustua tähän oppaaseen.

Mukauta koodi

Huomautus: Tämä osa vaatii hieman HTML/CSS -tietämystä, jos käytät toista näyttöä.

Mukautus tehdään index.php -tiedostossa, joka on tämän koontiversion tulisija. Nyt mene eteenpäin ja liitä näyttö Raspberry Pi -laitteeseesi, jos et ole jo tehnyt niin.

Jos nyt yrität avata index.php -tiedoston, se ei toimi, koska sinun on ensin täytettävä API -avaimet koodissa. Siirry RescueTime -verkkosivustolle ja avaa tili. Siirry seuraavaksi kehittäjäosioon ja luo sovellusliittymäavain painamalla Aktivoi tämä avain. Kirjoita API -avaimesi jonnekin.

Tee sama Trello -sovellusliittymäavaimellesi, avaa tili ja siirry kehittäjäportaaliin luomaan sovellusliittymäavain.

Avaa seuraavaksi suosikkitekstieditorissasi hakemistoon/var/www/html/lisäämäsi index.php -tiedosto ja korvaa [API_KEY] omalla API -avaimellasi, jonka sait RescueTime- ja Trello -ohjelmista. [List_number] on listan numero, jota käytät tehtävälistallasi Trello. Jos haluat saada tämän numeron, luo ensin Trellolle uusi luettelo ja kutsu sitä "To-Do", tämä on luettelo, jota käytät tehtäväluettelossasi, ja se näkyy peilissä.

Ota seuraavaksi osoitepalkkiin seuraava URL -osoite:

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

ja lisää.json siihen näin:

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

ja paina enter, seuraavaksi näet koodisotkun näytöllä. Yritä löytää listasi nimi 'Tehtävät "tuosta sotkusta. Sen pitäisi näyttää suunnilleen tältä: {" name ":" To Do "," id ":" 5981c123cd1b23f13907cd18 "}, Tämä tunnus on luettelosi tunnus. numeroksi [list_number] index.php -tiedostossa.

Avaa nyt selaimesi ja kirjoita localhost osoiteriville ja paina enter. Sinun pitäisi nähdä tietosi kaavioissa.

Huomautus: Kaavioiden sijoittelut voivat olla erilaisia käyttämäsi näytön tarkkuuden vuoksi. Voit muokata koodin CSS -osan elementtien leveyttä, korkeutta ja sijaintia.

Nyt on vain suunniteltava laatikko näytön ympärille ja liitettävä LEDit.

Huomautus: Jos et ole kiinnostunut sovellusliittymistä yksityiskohtaisesti, voit siirtyä seuraavaan vaiheeseen. Sovellusliittymän osassa kerron yksityiskohtaisesti, kuinka koko ohjelma toimii ja saa tietoja sovellusliittymistä.

Sovellusliittymät (yksityiskohtaisesti)

Tämän projektin tulisija on kaksi sovellusliittymää;

  • Trello API
  • RescueTime -sovellusliittymä

Vaikka dokumentaatiossa on yksityiskohtaisia tietoja, aion selittää, mitä tietoja sovellusliittymästä tämä projekti käyttää.

Ajanhallintaosassa RescueTime -sovellusliittymäpuhelu, joka hakee kuluvan päivän aikatiedot, on

"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"

missä, päivämäärä ('Y-m-d') on nykyinen päivämäärä

perspektiivi = sijoitus on tietojen lajittelutyyppi, tässä tapauksessa "sijoitus", joka tarkoittaa suurinta aikaa

Tämä puhelu antaa JSON -muotoisen tiedoston, joka näyttää tältä: (katso data.json tämän vaiheen lopussa)

Tästä tiedostosta käytämme dataa "Kulunut aika (sekuntia)" ja "Tuottavuus", jonka arvot ovat -2 ja 2, -2 on häiritsevää ja 2 tuottavaa. Näillä tiedoilla voimme tuottaa tuottavuuspisteille arvon yli 100.

Toinen API -kutsu RescueTimeen, "https://www.rescuetime.com/anapi/daily_summary_feed?key=[API_KEY]"

Tämä antaa sinulle viikoittaisen yhteenvedon tiedoistasi, joka näyttää tältä: (katso summary.json tämän vaiheen lopussa.) Käytin näitä tietoja luodakseni viikoittaisen yhteenvetokaavion, joka antaa sinulle yleiskuvan viikosta.

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

Tämä antaa sinulle Trello -luettelosi kortit seuraavasti:

[{"id": "5a4160103bfcd14994852f59", "name": "ceylan cinemagraph"}, {"id": "59e8241f6aa8662a51eb7de6", "name": "Opi GitHuB"}, {"id": "5981c19877725 ":" Publish Instructible "}, {" id ":" 5a341dba7f17d235d7c5bbd1 "," name ":" SPACE PROGRAM "}]

jälleen voit vetää korttien tekstin ja laittaa sen muualle.

data.json

Alustetut JSON -tiedot
{
"notes": "data on matriisimatriisi (rivit), rivien sarakkeiden nimet rivien otsikoissa",
"row_headers": [
"Sijoitus",
"Kulunut aika (sekuntia)",
"Henkilöiden määrä",
"Toiminta",
"Kategoria",
"Tuottavuus"
],
"rivit": [
[
1,
1536,
1,
"fi.0wikipedia.org",
"Luokittelematon",
0
],
[
2,
1505,
1,
"youtube.com",
"Video",
-2
],
[
3,
1178,
1,
"Avoin toimisto",
"Kirjoittaminen",
2
],
[
4,
709,
1,
"moodle.bilkent.edu.tr",
"Yleinen opas & Oppiminen",
2
],
[
5,
602,
1,
"google.com.tr",
"Hae",
2
],
[
6,
439,
1,
"reddit.com",
"Yleiset uutiset & mielipide",
-2
],
[
7,
437,
1,
"tr.sharelatex.com",
"Kirjoittaminen",
2
],
[
8,
361,
1,
"yemeksepeti.com",
"Yleiset ostokset",
-2
],
[
9,
356,
1,
"Gmail",
"Sähköposti",
0
],
[
10,
328,
1,
"Google Chrome",
"Selaimet",
0
],
[
11,
207,
1,
"stars.bilkent.edu.tr",
"Yleinen opas & Oppiminen",
2
],
[
12,
179,
1,
"whatsapp",
"Pikaviesti",
-1
],

katso rawdata.json, jota isännöi GitHub ❤ kanssa

summary.json

[
{
"tunnus": 1515657600,
"date": "2018-01-11",
"tuottavuuspulssi": 54,
"erittäin_produktiivinen_prosentti": 34,2,
"tuottava_prosentti": 10,6,
"neutraali_prosentti": 25,6,
"häiritsevä_prosentti": 0,0,
"very_distracting_percentage": 29.6,
"all_productive_percentage": 44,8,
"all_distracting_percentage": 29.6,
"luokittelematon_prosentti": 16.1,
"liike_prosentti": 6,0,
"communication_and_scheduling_percentage": 4.3,
"social_networking_percentage": 0,0,
"design_and_composition_percentage": 0,0,
"viihde_prosentti": 15,2,
"uutiset_prosentti": 3.3,
"software_development_percentage": 5.4,
"viite_ja oppimisen_prosentti": 22.8,
"ostoksen_prosentti": 12,9,
"apuohjelmat_prosentti": 14.1,
"total_hours": 2.51,
"erittäin_tuottavat_tunnit": 0,86,
"tuottavat tunnit": 0,27,
"neutraalitunnit": 0,64,
"häiritsevät tunnit": 0,0,
"very_distracting_hours": 0,74,
"all_productive_hours": 1.12,
"all_distracting_hours": 0,74,
"luokittelemattomat tunnit": 0,4,
"business_hours": 0,15,
"viestintä_ja_aikataulutunnit": 0,11,
"social_networking_hours": 0,0,
"design_and_composition_hours": 0,0,
"viihdetunnit": 0,38,
"news_hours": 0,08,
"ohjelmistokehitystunnit": 0,13,
"viite- ja oppimistunnit": 0,57,
"shopping_hours": 0,32,
"apuohjelmat_tunnit": 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": "ei aikaa",
"very_distracting_duration_formatted": "44m 30s",
"all_productive_duration_formatted": "1 t 7 min",
"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": "ei aikaa",
"design_and_composition_duration_formatted": "ei aikaa",
"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"
},
{
"tunnus": 1515571200,
"date": "10.8.2018",
"tuottavuuspulssi": 33,
"erittäin_produktiivinen_prosentti": 21,9,
"tuottava_prosentti": 2.3,
"neutraali_prosentti": 14,4,
"häiritsevä_prosentti": 11.0,
"very_distracting_percentage": 50,3,
"all_productive_percentage": 24.2,
"all_distracting_percentage": 61.4,
"luokittelematon_prosentti": 0,3,
"liike_prosentti": 0,0,
"communication_and_scheduling_percentage": 13.5,
"social_networking_percentage": 0,0,
"design_and_composition_percentage": 6.3,
"viihde_prosentti": 44,7,
"uutiset_prosentti": 4.2,
"software_development_percentage": 0,0,
"viite_ja oppimisen_prosentti": 15,5,
"ostoksen_prosentti": 0,0,
"apuohjelmat_prosentti": 15,4,
"total_hours": 2.24,
"erittäin_tuottavat_tunnit": 0,49,
"tuottavat tunnit": 0,05,
"neutraalitunnit": 0,32,
"häiritsevät tunnit": 0,25,
"very_distracting_hours": 1.13,
"kaikki_tuotantotunnit": 0,54,
"all_distracting_hours": 1,37,
"luokittelemattomat tunnit": 0,01,
"business_hours": 0,0,
"Communication_and_scheduling_hours": 0.3,
"social_networking_hours": 0,0,
"design_and_composition_hours": 0,14,
"entertainment_hours": 1.0,
"news_hours": 0,09,
"software_development_hours": 0,0,
"viite- ja oppimistunnit": 0,35,
"shopping_hours": 0.0,
"apuohjelmat_tunnit": 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": "1 t 7 min",
"all_productive_duration_formatted": "32m 30s",
"all_distracting_duration_formatted": "1 t 22 min",
"uncategorized_duration_formatted": "27s",
"business_duration_formatted": "1s",
"communication_and_scheduling_duration_formatted": "18m 5s",
"social_networking_duration_formatted": "ei aikaa",
"design_and_composition_duration_formatted": "8m 30s",
"entertainment_duration_formatted": "59m 54s",
"news_duration_formatted": "5m 39s",
"software_development_duration_formatted": "ei aikaa",
"reference_and_learning_duration_formatted": "20m 51s",
"shopping_duration_formatted": "ei aikaa",
"utilities_duration_formatted": "20m 39s"
},
{
"tunnus": 1515484800,
"date": "01.01.2018",
"tuottavuuspulssi": 68,
"erittäin_produktiivinen_prosentti": 60,4,
"tuottava_prosentti": 0,5,
"neutraali_prosentti": 11.0,
"häiritsevä_prosentti": 7.1,
"very_distracting_percentage": 21.0,
"all_productive_percentage": 60,9,
"all_distracting_percentage": 28.1,
"luokittelematon_prosentti": 9.1,
"liike_prosentti": 21,9,
"communication_and_scheduling_percentage": 7.2,
"social_networking_percentage": 5.1,
"design_and_composition_percentage": 1.2,
"viihde_prosentti": 1,6,
"uutiset_prosentti": 12,5,
"software_development_percentage": 9.1,
"reference_and_learning_percentage": 28.2,
"ostoksen_prosentti": 2,9,
"apuohjelmat_prosentti": 1.2,
"total_hours": 2.78,
"erittäin_tuottavat_tunnit": 1,68,
"tuottavat tunnit": 0,01,
"neutraalitunnit": 0,31,
"häiritsevät tunnit": 0,2,
"very_distracting_hours": 0.58,
"all_productive_hours": 1.69,
"all_distracting_hours": 0,78,
"luokittelemattomat tunnit": 0,25,
"business_hours": 0,61,
"Communication_and_scheduling_hours": 0,2,
"social_networking_hours": 0,14,
"design_and_composition_hours": 0,03,
"viihdetunnit": 0,04,
"uutiset_tunnit": 0,35,
"ohjelmistokehitystunnit": 0,25,
"viite- ja oppimistunnit": 0,78,
"shopping_hours": 0,08,
"apuohjelmat_tunnit": 0,03,
"total_duration_formatted": "2h 46m",
"very_productive_duration_formatted": "1 t 40 min",
"productive_duration_formatted": "47s",
"neutral_duration_formatted": "18m 23s",
"distracting_duration_formatted": "11m 49s",
"very_distracting_duration_formatted": "34m 57s",
"all_productive_duration_formatted": "1 t 41 min",
"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"
}
]

katso rawsummary.json, jota isännöi GitHub

Vaihe 4: Prototyyppien luominen

Pääpalkinto Raspberry Pi -kilpailussa 2017