Kazalo:

Sledilnik produktivnosti - poganja Raspberry Pi: 9 korakov (s slikami)
Sledilnik produktivnosti - poganja Raspberry Pi: 9 korakov (s slikami)

Video: Sledilnik produktivnosti - poganja Raspberry Pi: 9 korakov (s slikami)

Video: Sledilnik produktivnosti - poganja Raspberry Pi: 9 korakov (s slikami)
Video: Leap Motion SDK 2024, November
Anonim
Sledilnik produktivnosti - poganja Raspberry Pi
Sledilnik produktivnosti - poganja Raspberry Pi
Sledilnik produktivnosti - poganja Raspberry Pi
Sledilnik produktivnosti - poganja Raspberry Pi
Sledilnik produktivnosti - poganja Raspberry Pi
Sledilnik produktivnosti - poganja Raspberry Pi

Productivity Tracker je čarobno ogledalo, vendar namesto prikaza časa, vremena in spodbudnega citata prikaže 4 stvari;

Odstotek časa, ki ste ga za ta dan porabili za produktivno gradivo v računalniku in telefonu. (RescueTime)

Seznam opravil podjetja Trello

Radarski graf, ki prikazuje, koliko časa ste porabili skupaj s kategorijami programov in aplikacij, ki ste jih uporabili v primerjavi z včerajšnjo uporabo. (RescueTime)

Tedenski pregled. (RescueTime)

In če je odstotek časa, ki ste ga porabili za proizvodni material, več kot 50%, bodo LED diode pokazale svetlo zeleno barvo. Če je pod 50%, se prikaže rdeča barva, kar pomeni, da ste produktivnejši! Cilj si lahko postavite tudi sami.

Oris

V prvem koraku bom razložil idejo za sledenje produktivnosti. Nato vam bom predstavil dve različni orodji in seznam delov, tako da lahko sestavite celoten projekt ali osnovno različico (ne vključuje LED), ki ne zahteva veščin spajkanja. Kasneje vam bom pokazal, kako sem prototipiral svojo različico projekta, tako da imate idejo, kako oblikovati svoj prototip. Prav tako bom podrobno opisal razdelek s kodo, tako da lahko kodo prilagodite svojim potrebam. Na koncu vam bom dal vodič za odpravljanje težav, ki temelji na težavah, s katerimi sem se srečal med to gradnjo. In razširite seznam s svojimi vprašanji.

Namen tega navodila ni le podariti kuharsko knjigo. Pokazal vam bom, kako sem ustvaril ta projekt, in vam postavil odprta vprašanja, da boste lahko dodali svoje zamisli in projekt popeljali še dlje. Močno vas pozivam, da svojo gradnjo delite, ko bo končana! Začnimo.

1. korak: Ideja

Ideja
Ideja

To navodilo sem nameraval napisati že mesece. Toda moj stari prijatelj, ki se imenuje "Odlašanje", mi ni dovolil. Odlašanje je dejanje zavlačevanja ali odlaganja opravila ali nabora nalog, namesto da bi opravila opravila zapolnili s gledanjem videoposnetkov iz temnih globin YouTuba.

Nekega dne sem med branjem članka o odlašanju naletel na več aplikacij/programov, ki bi mi pomagali pri moji težavi, Trello kot aplikacijo za upravljanje opravil in RescueTime kot aplikacijo za upravljanje časa. Oba sta vsaj nekaj časa odlično delovala za moje potrebe. Čez nekaj časa sem popolnoma prenehal preverjati aplikacije in zanemaril obvestila. Takrat sem se lotil tega projekta. Podatke iz aplikacij bi prikazal na ogledalu, obešenem na steno. Tako nisem mogel pobegniti od svojih odgovornosti.

Prvi osnutek, ki sem ga pripravil za svoj projekt, je bil dokaj preprost. Za prikaz svojega odstotka produktivnega/motečega dela bi uporabil API RescueTime API. Za prikaz seznama opravil za ta dan uporabite API Trello. Čez nekaj časa pa sem dodal še več funkcij, ki jih bom podrobno opisal v naslednjih korakih.

Korak: Orodja in deli

Opomba: To je seznam orodij, ki sem jih uporabil med gradnjo, ni nujno, da so enaki za vašo zgradbo!

Za osnovo:

4 metre lesa 7x15 cm - 6 USD - Odvisno od velikosti zaslona

30 x 40 cm enostransko ogledalo - odvisno od velikosti zaslona

Samsungov monitor velikosti 25x35 cm - 15 USD - Najdeno na bolšjem sejmu. kateri monitor bi naredil

Raspberry Pi 3 Model B- 35 $ - Raspberry pi 2 je prav tako v redu, vendar boste potrebovali modul wifi

HDMI kabel - 2 USD

Za Led Lightning:

200 cm smd5050 RGB LED trak - 4 $ - pozneje mora biti več o tem smd5050…

  • Trije N -kanalni MOSFET -i (npr. IRLZ34N) - 2 USD
  • Napajalnik 12V -2A - 3,15 USD
  • Prototipiranje PCB - 1 USD

Orodja:

  • Žaga za les
  • Lepilo za les
  • Spajkalnik (za LED osvetlitev)

3. korak: Koda

Kodeks
Kodeks

Ta korak bo sestavljen iz treh delov, ne potrebujete vseh delov, navedenih v prejšnjem koraku. Raspberry Pi in monitor, ki ga boste uporabljali za ta projekt, bi morali zadostovati za fazo izdelave prototipov.

Nastavitev vašega Raspberry Pi

Če še niste nastavili Raspberry Pi, to storite tukaj. Za to gradnjo boste morali namestiti Apache za spletni strežnik in krmilnik PHP-LED.

Če želite namestiti Apache, sledite tem uradnim navodilom.

Za namestitev krmilnika PHP-LED sledite tem navodilom Christiana Nikkanena

Zdaj prenesite datoteko index.php iz skladišča projektov v svoj Raspberry Pi in jo postavite na to pot:

/var/www/html/

Če niste seznanjeni s premikanjem datotek po terminalu Linux, si oglejte ta vodnik, da začnete.

Prilagodite kodo

Opomba: Ta del zahteva nekaj znanja HTML/CSS, če uporabljate drug monitor.

Prilagajanje bo izvedeno v datoteki index.php, ki je ognjišče te gradnje. Zdaj pa povežite monitor z Raspberry Pi, če tega še niste storili.

Če poskusite odpreti datoteko index.php, ne bo delovalo, ker morate najprej v kodo vnesti ključe API, za to pojdite na spletno mesto RescueTime in odprite račun. Nato pojdite na razdelek za razvijalce in ustvarite ključ API s pritiskom na Aktiviraj ta ključ. Nekje zapišite svoj ključ API.

Enako storite za ključ Trello API, odprite račun in pojdite na portal za razvijalce, da ustvarite ključ API.

Nato odprite datoteko index.php, ki ste jo vnesli v/var/www/html/v svojem najljubšem urejevalniku besedil, in zamenjajte [API_KEY] s svojim ključem API, ki ste ga dobili od RescueTime in Trello. [Seznam_številka] je številka seznama, ki jo uporabljate za seznam opravkov Trello. Če želite dobiti to številko, najprej ustvarite nov seznam v Trellu in ga poimenujte »To-Do«, to bo seznam, ki ga boste uporabili za svoj seznam opravkov, in se bo prikazal v ogledalu.

Nato v naslovno vrstico vnesite URL, ki izgleda tako:

trello.com/b/3hS6yyLo/ime deske

in mu dodaj.json tako:

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

in pritisnite enter, nato boste na zaslonu videli kodno zmešnjavo. Poskusite poiskati ime svojega seznama '' To-Do '' v tej neredu. To bi moralo izgledati nekako tako: {"name": "To Do", "id": "5981c123cd1b23f13907cd18"}, Ta ID je vaša ID seznama. to številko v [list_number] v datoteki index.php.

Zdaj odprite brskalnik in v naslovno vrstico vnesite localhost in pritisnite enter. Na grafih bi morali biti prikazani vaši podatki.

Opomba: Postavitve grafov so lahko različne zaradi ločljivosti monitorja, ki ga uporabljate. V delu kode CSS lahko uredite širino, višino in lokacijo elementov.

Zdaj je le še treba oblikovati okvir okoli monitorja in priključiti LED.

Opomba: Če vas podrobnosti API -ja ne zanimajo, lahko preskočite na naslednji korak. V delu API -ja bom podrobno opisal delovanje celotnega programa in pridobivanje podatkov iz API -jev.

API -ji (podrobno)

Ognjišče tega projekta sta dva API -ja;

  • Trello API
  • RescueTime API

Čeprav ima dokumentacija na voljo podrobne informacije, bom razložil, katere podatke iz API -ja uporablja ta projekt.

Na strani upravljanja časa je klic RescueTime API, ki dobi informacije o času za trenutni dan, "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"

kje, date ('Y-m-d') je trenutni datum

perspektiva = rang je vrsta razvrščanja podatkov v tem primeru "rang", ki pomeni največ porabljenega časa

Ta klic bo dal datoteko v formatu JSON, ki izgleda takole: (poglejte data.json na koncu tega koraka)

Podatki, ki jih uporabljamo iz te datoteke, so "Čas, porabljen (sekunde)" in "Produktivnost", ki ima vrednosti med -2 in 2, pri čemer je -2 moteča in 2 produktivna. S temi podatki lahko za oceno produktivnosti ustvarimo vrednost nad 100.

Še en klic API -ja za RescueTime, "https://www.rescuetime.com/anapi/daily_summary_feed?key=[API_KEY]"

To vam daje tedenski povzetek vaših podatkov, ki izgleda takole: (poglejte summary.json na koncu tega koraka.) Te podatke sem uporabil za ustvarjanje tedenskega povzetka, ki vam daje pregled tedna.

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

Tako boste dobili kartice na svojem seznamu Trello na naslednji način:

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

spet lahko povlečete besedilo na teh karticah in ga postavite drugam.

data.json

Formatirani podatki JSON
{
"notes": "data je niz nizov (vrstic), imena stolpcev za vrstice v vrsticah_glavja",
"row_headers": [
"Uvrstitev",
"Porabljen čas (sekunde)",
"Število ljudi",
"Dejavnost",
"Kategorija",
"Produktivnost"
],
"vrstice": [
[
1,
1536,
1,
"sl.0wikipedia.org",
"Nekategorizirano",
0
],
[
2,
1505,
1,
"youtube.com",
"Video",
-2
],
[
3,
1178,
1,
"OpenOffice",
"Pisanje",
2
],
[
4,
709,
1,
"moodle.bilkent.edu.tr",
"Splošne reference in učenje",
2
],
[
5,
602,
1,
"google.com.tr",
"Iskanje",
2
],
[
6,
439,
1,
"reddit.com",
"Splošne novice in mnenje",
-2
],
[
7,
437,
1,
"tr.sharelatex.com",
"Pisanje",
2
],
[
8,
361,
1,
"yemeksepeti.com",
"Splošno nakupovanje",
-2
],
[
9,
356,
1,
"Gmail",
"E-naslov",
0
],
[
10,
328,
1,
"Google Chrome",
"Brskalniki",
0
],
[
11,
207,
1,
"stars.bilkent.edu.tr",
"Splošne reference in učenje",
2
],
[
12,
179,
1,
"whatsapp",
"Hitro sporočilo",
-1
],

oglejte si rawdata.json, ki ga gosti ❤ GitHub

summary.json

[
{
"id": 1515657600,
"date": "2018-01-11",
"impulz_produktivnosti": 54,
"zelo_produktiven_odstotek": 34,2,
"produktivni_odstotek": 10,6,
"nevtralni_odstotek": 25,6,
"moteč_odstotek": 0,0,
"zelo_odvračilni_odstotek": 29,6,
"vse_produktivni_odstotek": 44,8,
"all_distracting_percentage": 29,6,
"nekategoriziran_odstotek": 16,1,
"poslovni_odstotek": 6,0,
"komunikacijski_in_razpored_odstotka": 4.3,
"social_networking_percentage": 0.0,
"odstotek oblikovanja in sestave": 0,0,
"zabavni_odstotek": 15,2,
"novice_odstotek": 3,3,
"odstotek_razvoj programske opreme": 5,4,
"reference_and_learning_percentage": 22.8,
"odstotek nakupovanja": 12,9,
"utilities_percentage": 14,1,
"skupaj_ ur": 2,51,
"zelo_produktivne_ure": 0,86,
"produktivne ure": 0,27,
"nevtralne ure": 0,64,
"distracting_hours": 0.0,
"zelo_motljive_časov": 0,74,
"all_productive_hours": 1,12,
"all_distracting_hours": 0,74,
"nekategorizirani_ur": 0,4,
"business_hours": 0,15,
"communication_and_scheduling_hours": 0,11,
"social_networking_hours": 0.0,
"design_and_composition_hours": 0,0,
"zabava_časov": 0,38,
"news_hours": 0,08,
"programska_razvojna_časov": 0,13,
"reference_and_learning_hours": 0,57,
"nakupovalne ure": 0,32,
"utilities_hours": 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": "ni časa",
"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": "ni časa",
"design_and_composition_duration_formatted": "ni časa",
"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",
"impulz_produktivnosti": 33,
"zelo_produktiven_odstotek": 21,9,
"produktivni_odstotek": 2,3,
"nevtralni_odstotek": 14,4,
"moteči_odstotek": 11,0,
"zelo_odvračilni_odstotek": 50,3,
"all_productive_percentage": 24,2,
"all_distracting_percentage": 61,4,
"nekategoriziran_odstotek": 0,3,
"poslovni_odstotek": 0,0,
"komunikacijski_in_razpored_odstotka": 13,5,
"social_networking_percentage": 0.0,
"odstotek oblikovanja in sestave": 6,3,
"zabavni_odstotek": 44,7,
"novice_odstotek": 4,2,
"odstotek_razvoj programske opreme": 0,0,
"reference_and_learning_percentage": 15,5,
"nakupovalni odstotek": 0,0,
"utilities_percentage": 15,4,
"skupaj_ ur": 2,24,
"zelo_produktivne_ure": 0,49,
"produktivne ure": 0,05,
"nevtralne ure": 0,32,
"distracting_hours": 0,25,
"zelo_potezne ure": 1,13,
"all_productive_hours": 0,54,
"all_distracting_hours": 1,37,
"nekategorizirane ure": 0,01,
"business_hours": 0,0,
"communication_and_scheduling_hours": 0,3,
"social_networking_hours": 0.0,
"design_and_composition_hours": 0,14,
"zabava_časov": 1,0,
"news_hours": 0,09,
"ur_razvoj_programske opreme": 0,0,
"reference_and_learning_hours": 0,35,
"nakupovalne ure": 0,0,
"utilities_hours": 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": "ni časa",
"design_and_composition_duration_formatted": "8m 30s",
"entertainment_duration_formatted": "59m 54s",
"news_duration_formatted": "5m 39s",
"software_development_duration_formatted": "ni časa",
"reference_and_learning_duration_formatted": "20m 51s",
"shopping_duration_formatted": "ni časa",
"utilities_duration_formatted": "20m 39s"
},
{
"id": 1515484800,
"date": "2018-01-09",
"impulz_produktivnosti": 68,
"zelo_produktiven_odstotek": 60,4,
"produktivni_odstotek": 0,5,
"nevtralni_odstotek": 11,0,
"moteči_odstotek": 7.1,
"zelo_odvračilni_odstotek": 21,0,
"vse_produktivni_odstotek": 60,9,
"all_distracting_percentage": 28,1,
"nekategoriziran_odstotek": 9.1,
"poslovni_odstotek": 21,9,
"komunikacijski_in_razpored_odstotka_razporeda": 7.2,
"odstotek_družabnega_ omrežja": 5,1,
"odstotek oblikovanja in sestave": 1,2,
"zabavni_odstotek": 1,6,
"novice_odstotek": 12,5,
"odstotek_razvoj programske opreme": 9.1,
"odstotek_referenc_in_ucenja": 28,2,
"odstotek nakupovanja": 2,9,
"utilities_percentage": 1.2,
"skupaj_ ur": 2,78,
"zelo_produktivne_ure": 1,68,
"produktivne ure": 0,01,
"nevtralne_časov": 0,31,
"distracting_hours": 0,2,
"zelo_motljive_časov": 0,58,
"all_productive_hours": 1,69,
"all_distracting_hours": 0,78,
"nekategorizirani_ur": 0,25,
"business_hours": 0,61,
"communication_and_scheduling_hours": 0,2,
"socialno -omrežno_časov": 0,14,
"design_and_composition_hours": 0,03,
"zabava_časov": 0,04,
"news_hours": 0,35,
"ur_razvoj_programske opreme": 0,25,
"reference_and_learning_hours": 0,78,
"nakupovalne ure": 0,08,
"utilities_hours": 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"
}
]

poglej rawsummary.json z ❤ pri GitHubu

4. korak: izdelava prototipov

Velika nagrada na tekmovanju Raspberry Pi 2017

Priporočena: