Obsah:

Sledovač produktivity - poháňa ho Raspberry Pi: 9 krokov (s obrázkami)
Sledovač produktivity - poháňa ho Raspberry Pi: 9 krokov (s obrázkami)

Video: Sledovač produktivity - poháňa ho Raspberry Pi: 9 krokov (s obrázkami)

Video: Sledovač produktivity - poháňa ho Raspberry Pi: 9 krokov (s obrázkami)
Video: High Density 2022 2024, November
Anonim
Sledovač produktivity - poháňa ho Raspberry Pi
Sledovač produktivity - poháňa ho Raspberry Pi
Sledovač produktivity - poháňa ho Raspberry Pi
Sledovač produktivity - poháňa ho Raspberry Pi
Sledovač produktivity - poháňa ho Raspberry Pi
Sledovač produktivity - poháňa ho Raspberry Pi

Productivity Tracker je čarovné zrkadlo, ale namiesto zobrazenia času, počasia a motivujúceho citátu zobrazuje 4 veci;

Percento času, ktorý ste za ten deň strávili produktívnym materiálom vo svojom počítači a telefóne. (RescueTime)

Váš zoznam úloh od spoločnosti Trello

Radarový graf ukazujúci, koľko času ste strávili spolu s kategóriami programov-aplikácií, ktoré ste použili, v porovnaní s včerajším používaním. (RescueTime)

Týždenný prehľad. (RescueTime)

A ak je percento času, ktorý ste strávili výrobným materiálom, viac ako 50%, LED diódy zobrazia jasne zelenú farbu. Ak je nižšia ako 50%, zobrazí sa červená farba, čo znamená, že budete produktívnejší! Cieľ si môžete stanoviť aj sami.

Obrys

V prvom kroku vysvetlím myšlienku sledovania produktivity. Ďalej vám poskytnem dva rôzne nástroje a zoznam dielov, aby ste mohli vytvoriť úplný projekt alebo základnú verziu (neobsahuje diódy LED), ktorá nevyžaduje spájkovacie schopnosti. Neskôr vám ukážem, ako som prototypoval svoju verziu projektu, aby ste mali predstavu o tom, ako modelovať svoj vlastný prototyp. Tiež sa podrobne pozriem v sekcii kódu, aby ste si mohli prispôsobiť kód svojim vlastným potrebám. Na konci vám dám návod na riešenie problémov na základe problémov, s ktorými som sa počas tejto zostavy stretol. A rozšírte zoznam o svoje otázky.

Cieľom tohto návodu nie je len dať vám kuchársku knihu. Ukážem vám spôsob, akým som tento projekt postavil, a poskytnem vám otvorené otázky, aby ste mohli pridať svoje vlastné nápady a posunúť tento projekt ešte ďalej. Dôrazne vám odporúčam, aby ste sa podelili o svoju zostavu, keď bude hotová! Začnime.

Krok 1: Myšlienka

Nápad
Nápad

Už niekoľko mesiacov mám v úmysle napísať tento návod. Ale môj starý priateľ, ktorý sa volá „prokrastinácia“, mi to nedovolil. Prokrastinácia je oddialenie alebo oddialenie úlohy alebo súboru úloh a namiesto toho, aby ste tieto úlohy vykonali, vyplňte čas sledovaním videí z temných hlbín YouTube.

Jedného dňa som pri čítaní článku o odkladaní narazil na viacero aplikácií/programov, ktoré by mi pomohli s mojím problémom, Trello ako aplikáciu na správu úloh a RescueTime ako aplikáciu na správu času. Oba fungovali perfektne pre moje potreby, aspoň nejaký čas. Po chvíli som úplne prestal kontrolovať aplikácie a upozornenia som ignoroval. Vtedy som prišiel s týmto projektom. Údaje z aplikácií by som zobrazil na zrkadle zavesenom na stene. Takto nebolo úniku z mojich povinností.

Prvý návrh, ktorý som nakreslil pre svoj projekt, bol pomerne jednoduchý. Na zobrazenie percentuálneho podielu produktívnej/rušivej práce by som použil API RescueTime. A pomocou rozhrania Trello API zobrazte svoj zoznam úloh na daný deň. Ale po chvíli som pridal ďalšie funkcie, ktoré podrobne získam v ďalších krokoch.

Krok 2: Nástroje a diely

Poznámka: Toto je zoznam nástrojov, ktoré som použil pri zostavovaní, nemusia byť rovnaké pre vašu zostavu!

Pre základňu:

4 metre hracieho dreva 7 x 15 cm - 6 dolárov - závisí to od veľkosti obrazovky

Jednostranné zrkadlo 30 x 40 cm - závisí od veľkosti obrazovky

25 x 35 cm monitor Samsung - 15 dolárov - nájdený na blšom trhu. každý monitor by to urobil

Raspberry Pi 3 Model B- 35 $ - Raspberry pi 2 je tiež v poriadku, ale budete potrebovať modul wifi

Kábel HDMI - 2 $

Pre LED blesk:

200 cm smd5050 RGB LED pás - 4 $ - Na tomto musí byť neskôr viac smd5050…

  • Tri N -kanálové MOSFETy (napr. IRLZ34N) - 2 $
  • Napájací adaptér 12V -2A - 3,15 $
  • Prototypovanie DPS - 1 $

Náradie:

  • Píla na drevo
  • Lepidlo na drevo
  • Spájkovačka (pre LED osvetlenie)

Krok 3: Kód

Kód
Kód

Tento krok bude pozostávať z troch častí, nepotrebujete všetky diely uvedené v predchádzajúcom kroku. Na fázu prototypu by mal stačiť Raspberry Pi a monitor, ktorý na tento projekt použijete.

Nastavenie Raspberry Pi

Ak ste si Raspberry Pi ešte nenastavili, pokračujte a urobte to tu. Pre toto zostavenie budete musieť nainštalovať Apache pre webový server a ovládač LED LED.

Pri inštalácii Apache postupujte podľa tohto oficiálneho sprievodcu.

Pri inštalácii ovládača PHP-LED postupujte podľa tejto príručky od Christiana Nikkanena

Teraz stiahnite súbor index.php z úložiska projektov do svojho Raspberry Pi a vložte ho na túto cestu:

/var/www/html/

Ak nie ste oboznámení s presúvaním súborov v termináli Linux, môžete sa pozrieť na túto príručku, aby ste mohli začať.

Prispôsobte kód

Poznámka: Táto časť vyžaduje trochu znalostí HTML/CSS, ak používate iný monitor.

Prispôsobenie sa vykoná v súbore index.php, ktorý je srdcom tejto zostavy. Teraz pokračujte a pripojte svoj monitor k Raspberry Pi, ak ste to ešte neurobili.

Ak sa teraz pokúsite otvoriť súbor index.php, nebude to fungovať, pretože najskôr musíte do kódu vyplniť kľúče API, preto choďte na webovú stránku RescueTime a otvorte si účet. Ďalej prejdite do sekcie pre vývojárov a vytvorte kľúč API stlačením tlačidla Aktivovať tento kľúč. Niekde napíšte svoj kľúč API.

To isté urobte s kľúčom API Trello, otvorte si účet a prejdite na portál pre vývojárov, aby ste vygenerovali kľúč API.

Potom otvorte súbor index.php, ktorý ste vložili do/var/www/html/vo svojom obľúbenom textovom editore, a nahraďte [API_KEY] vlastným API kľúčom, ktorý ste získali od RescueTime a Trello. [List_number] je číslo zoznamu, ktoré používate pre svoj zoznam úloh Trello. Ak chcete získať toto číslo, najskôr vytvorte v Trelle nový zoznam a nazvite ho „Úlohy“. Toto bude zoznam, ktorý použijete pre svoj zoznam úloh a ktorý sa zobrazí v zrkadle.

Ďalej vezmite adresu URL do panela s adresou, ktorá vyzerá takto:

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

a pridajte k tomu.json takto:

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

a stlačte kláves Enter, potom sa vám na obrazovke zobrazí kódový neporiadok. Skúste v tom neporiadku nájsť názov svojho zoznamu „To-Do“. Malo by to vyzerať asi takto: {"name": "To Do", "id": "5981c123cd1b23f13907cd18"}, Id je ID vášho zoznamu. toto číslo na [číslo_čísla] v súbore index.php.

Teraz otvorte prehliadač a do panela s adresou napíšte localhost a stlačte kláves Enter. Vaše údaje by ste mali vidieť na grafoch.

Poznámka: Umiestnenia grafov sa môžu líšiť kvôli rozlíšeniu monitora, ktorý používate. Šírku, výšku a umiestnenie prvkov v časti kódu CSS môžete upravovať.

Teraz zostáva len navrhnúť rámček okolo monitora a pripojiť LED diódy.

Poznámka: Ak vás API podrobne nezaujíma, môžete prejsť na ďalší krok. V časti API sa podrobne pozriem na to, ako celý program funguje a ako získava údaje z rozhraní API.

Rozhrania API (podrobne)

Srdcom tohto projektu sú dve API;

  • API Trello
  • RescueTime API

Napriek tomu, že dokumentácia obsahuje podrobné informácie, vysvetlím, ktoré údaje z API tento projekt používa.

Na strane správy času je volanie rozhrania RescueTime API, ktoré získava časové informácie pre aktuálny deň, "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"

kde, dátum („Y-m-d“) je aktuálny dátum

perspektíva = poradie je typ triedenia údajov, v tomto prípade „poradie“, ktoré predstavuje väčšinu času stráveného

Toto volanie poskytne súbor vo formáte JSON, ktorý vyzerá takto: (pozrite sa na data.json na konci tohto kroku)

Údaje, ktoré z tohto súboru používame, sú „Čas strávený (sekundy)“a „Produktivita“, ktorého hodnoty sú -2 až 2, -2 sú rušivé a 2 produktívne. S týmito údajmi môžeme pre skóre produktivity vygenerovať hodnotu viac ako 100.

Ďalšie volanie rozhrania API na RescueTime, "https://www.rescuetime.com/anapi/daily_summary_feed?key=[API_KEY]"

Získate tak týždenný súhrn vašich údajov, ktorý vyzerá takto: (pozrite sa na Summary.json na konci tohto kroku.) Tieto údaje som použil na vygenerovanie týždenného súhrnného grafu, ktorý vám poskytne prehľad týždňa.

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

Tým získate karty vo svojom zozname Trello takto:

[{"id": "5a4160103bfcd14994852f59", "name": "ceylan cinemagraph"}, {"id": "59e8241f6aa8662a51eb7de6", "name": "Learn GitHuB"}, {"id": "5981c19577f732 ":" Publikovať pokyny "}, {" id ":" 5a341dba7f17d235d7c5bbbd1 "," name ":" SPACE PROGRAM "}]

opäť môžete vytiahnuť text na tieto karty a dať ho niekde inde.

data.json

Formátované údaje JSON
{
"poznámky": "údaje sú poľom polí (riadkov), názvov stĺpcov pre riadky v hlavičkách riadkov",
"row_headers": [
"Poradie",
"Čas strávený (sekundy)",
"Počet ľudí",
"Aktivita",
"Kategória",
"Produktivita"
],
"riadky": [
[
1,
1536,
1,
"en.0wikipedia.org",
"Nekategorizované",
0
],
[
2,
1505,
1,
"youtube.com",
"Video",
-2
],
[
3,
1178,
1,
"Otvorená kancelária",
"Písanie",
2
],
[
4,
709,
1,
"moodle.bilkent.edu.tr",
"Všeobecný odkaz \u0026 Učenie",
2
],
[
5,
602,
1,
"google.com.tr",
"Vyhľadávanie",
2
],
[
6,
439,
1,
"reddit.com",
„Všeobecné správy \u0026 Stanovisko“,
-2
],
[
7,
437,
1,
"tr.sharelatex.com",
"Písanie",
2
],
[
8,
361,
1,
"yemeksepeti.com",
"Všeobecné nákupy",
-2
],
[
9,
356,
1,
"Gmail",
"E -mail",
0
],
[
10,
328,
1,
"Google Chrome",
"Prehliadače",
0
],
[
11,
207,
1,
"stars.bilkent.edu.tr",
"Všeobecný odkaz \u0026 Učenie",
2
],
[
12,
179,
1,
"whatsapp",
"Rýchla správa",
-1
],

zobraziť rawdata.json hostený s ❤ od GitHub

Summary.json

[
{
"id": 1515657600,
"date": "2018-01-11",
"produktivita_pulz": 54,
"veľmi_produktívne_percento": 34,2,
"produktívne_percento": 10,6,
"neutrálne percento": 25,6,
"distracting_percentage": 0,0,
"very_distracting_percentage": 29,6,
"all_productive_percentage": 44,8,
"all_distracting_percentage": 29,6,
"uncategorized_percentage": 16.1,
"obchodné_percento": 6,0,
"communication_and_scheduling_percentage": 4.3,
"social_networking_percentage": 0,0,
"návrh_a_kompozícia_percento": 0,0,
"percentuálny podiel zábavy": 15,2,
"percentuálny podiel správ": 3,3,
"softvérový_vývoj_percentage": 5,4,
"reference_and_learning_percentage": 22,8,
"percentuálny podiel nákupov": 12.9,
"percentuálny podiel pomôcok": 14.1,
"total_hours": 2,51,
"veľmi_produktívne_hodiny": 0,86,
"produktívne_hodiny": 0,27,
"neutral_hours": 0,64,
"rušivé_hodiny": 0,0,
"very_distracting_hours": 0,74,
"všetky_produktívne_hodiny": 1,12,
"all_distracting_hours": 0,74,
"uncategorized_hours": 0,4,
"business_hours": 0,15,
"communication_and_scheduling_hours": 0,11,
"social_networking_hours": 0,0,
"design_and_composition_hours": 0,0,
„Entertainment_hours“: 0,38,
"news_hours": 0,08,
"softvérový_vývoj_hodín": 0,13,
"reference_and_learning_hours": 0,57,
"shopping_hours": 0,32,
"utilities_hours": 0,35,
"total_duration_formatted": "2h 30m",
"very_productive_duration_formatted": "51 m 26 s",
"produktctive_duration_formatted": "15 m 56 s",
"neutral_duration_formatted": "38 m 34 s",
"distracting_duration_formatted": "nie je čas",
"very_distracting_duration_formatted": "44 m 30 s",
"all_productive_duration_formatted": "1h 7m",
"all_distracting_duration_formatted": "44 m 30 s",
"uncategorized_duration_formatted": "24 m 11 s",
"business_duration_formatted": "9 m 6 s",
"communication_and_scheduling_duration_formatted": "6 m 26 s",
"social_networking_duration_formatted": "nie je čas",
"design_and_composition_duration_formatted": "nie je čas",
"Entertainment_duration_formatted": "22 m 49 s",
"news_duration_formatted": "4 m 55 s",
"software_development_duration_formatted": "8 m 3 s",
"reference_and_learning_duration_formatted": "34 m 17 s",
"shopping_duration_formatted": "19 m 22 s",
"utilities_duration_formatted": "21 m 17 s"
},
{
"id": 1515571200,
"date": "2018-01-10",
"produktivita_pulz": 33,
"veľmi_produktívne_percento": 21,9,
"produktívne_percento": 2,3,
"neutrálne percento": 14,4,
"distracting_percentage": 11.0,
"very_distracting_percentage": 50,3,
"all_productive_percentage": 24.2,
"all_distracting_percentage": 61,4,
"uncategorized_percentage": 0,3,
"obchodné_percento": 0,0,
"communication_and_scheduling_percentage": 13.5,
"social_networking_percentage": 0,0,
"návrh_a_kompozícia_percentage": 6,3,
"percentuálny podiel zábavy": 44,7,
"percentá správ": 4.2,
"softvérový_vývoj_percenta": 0,0,
"reference_and_learning_percentage": 15,5,
"percentuálny podiel nákupov": 0,0,
"percentá pomôcok": 15,4,
"total_hours": 2,24,
"veľmi_produktívne_hodiny": 0,49,
"produktívna_hodina": 0,05,
"neutral_hours": 0,32,
"rušivé_hodiny": 0,25,
"very_distracting_hours": 1,13,
"všetky_produktívne_hodiny": 0,54,
"all_distracting_hours": 1,37,
"uncategorized_hours": 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,
"softvérový_vývoj": 0,0,
"reference_and_learning_hours": 0,35,
"shopping_hours": 0,0,
"utilities_hours": 0,34,
"total_duration_formatted": "2h 14m",
"very_productive_duration_formatted": "29 m 22 s",
"produktctive_duration_formatted": "3 m 8 s",
"neutral_duration_formatted": "19 m 18 s",
"distracting_duration_formatted": "14 m 48 s",
"very_distracting_duration_formatted": "1h 7m",
"all_productive_duration_formatted": "32 m 30 s",
"all_distracting_duration_formatted": "1h 22m",
"uncategorized_duration_formatted": "27 s",
"business_duration_formatted": "1 s",
"communication_and_scheduling_duration_formatted": "18 m 5 s",
"social_networking_duration_formatted": "nie je čas",
"design_and_composition_duration_formatted": "8 m 30 s",
"Entertainment_duration_formatted": "59 m 54 s",
"news_duration_formatted": "5 m 39 s",
"software_development_duration_formatted": "nie je čas",
"reference_and_learning_duration_formatted": "20 m 51 s",
"shopping_duration_formatted": "nie je čas",
"utilities_duration_formatted": "20 m 39 s"
},
{
"id": 1515484800,
"date": "2018-01-09",
"produktivita_pulz": 68,
"veľmi_produktívne_percento": 60,4,
"produktívne_percento": 0,5,
"neutrálne percento": 11,0,
"distracting_percentage": 7,1,
"very_distracting_percentage": 21.0,
"all_productive_percentage": 60,9,
"all_distracting_percentage": 28,1,
"uncategorized_percentage": 9.1,
"obchodné_percento": 21.9,
"communication_and_scheduling_percentage": 7,2,
"social_networking_percentage": 5.1,
"návrh_a_kompozícia_percentage": 1,2,
"percentuálny podiel zábavy": 1,6,
"news_percentage": 12.5,
"softvérový_vývoj_percentage": 9.1,
"reference_and_learning_percentage": 28.2,
"percentuálny podiel nákupov": 2,9,
"percentuálny podiel pomôcok": 1,2,
"total_hours": 2,78,
"veľmi_produktívne_hodiny": 1,68,
"produktívne_hodiny": 0,01,
"neutral_hours": 0,31,
"rušivé_hodiny": 0,2,
"very_distracting_hours": 0,58,
"všetky_produktívne_hodiny": 1,69,
"all_distracting_hours": 0,78,
"uncategorized_hours": 0,25,
"business_hours": 0,61,
"communication_and_scheduling_hours": 0,2,
"social_networking_hours": 0,14,
"design_and_composition_hours": 0,03,
"Entertainment_hours": 0,04,
"news_hours": 0,35,
"softvérový_vývoj_hodín": 0,25,
"reference_and_learning_hours": 0,78,
"shopping_hours": 0,08,
"utilities_hours": 0,03,
"total_duration_formatted": "2h 46m",
"very_productive_duration_formatted": "1h 40m",
"produktctive_duration_formatted": "47 s",
"neutral_duration_formatted": "18 m 23 s",
"distracting_duration_formatted": "11 m 49 s",
"very_distracting_duration_formatted": "34 m 57 s",
"all_productive_duration_formatted": "1 hod. 41 m",
"all_distracting_duration_formatted": "46 m 46 s",
"uncategorized_duration_formatted": "15 m 7 s",
"business_duration_formatted": "36 m 26 s",
"communication_and_scheduling_duration_formatted": "11 m 59 s",
"social_networking_duration_formatted": "8 m 28 s",
"design_and_composition_duration_formatted": "2m 4s",
"Entertainment_duration_formatted": "2 m 39 s",
"news_duration_formatted": "20 m 49 s",
"software_development_duration_formatted": "15 m 5 s",
"reference_and_learning_duration_formatted": "46 m 59 s",
"shopping_duration_formatted": "4 m 51 s",
"utilities_duration_formatted": "2 m 3 s"
}
]

zobraziť rawsummary.json hostený s ❤ od GitHub

Krok 4: Prototypovanie

Veľká cena v súťaži Raspberry Pi 2017

Odporúča: