Obsah:

Productivity Tracker - běží na Raspberry Pi: 9 kroků (s obrázky)
Productivity Tracker - běží na Raspberry Pi: 9 kroků (s obrázky)

Video: Productivity Tracker - běží na Raspberry Pi: 9 kroků (s obrázky)

Video: Productivity Tracker - běží na Raspberry Pi: 9 kroků (s obrázky)
Video: Nastya and Watermelon with a fictional story for kids 2024, Listopad
Anonim
Productivity Tracker - běží na Raspberry Pi
Productivity Tracker - běží na Raspberry Pi
Productivity Tracker - běží na Raspberry Pi
Productivity Tracker - běží na Raspberry Pi
Productivity Tracker - běží na Raspberry Pi
Productivity Tracker - běží na Raspberry Pi

Productivity Tracker je kouzelné zrcadlo, ale místo zobrazení času, počasí a motivačního citátu zobrazuje 4 věci;

Procento času, který jste za daný den strávili produktivním materiálem na počítači a telefonu. (RescueTime)

Váš seznam úkolů od společnosti Trello

Radarový graf ukazující, kolik času jste strávili spolu s kategoriemi programů a aplikací, které jste použili, ve srovnání s včerejším používáním. (RescueTime)

Týdenní přehled. (RescueTime)

A pokud je procento času, který jste strávili produktivním materiálem, vyšší než 50%, LED diody zobrazí jasně zelenou barvu. Pokud je nižší než 50%, zobrazí se červená barva, což znamená, že budete produktivnější! Cíl si také můžete stanovit sami.

Obrys

V prvním kroku vysvětlím myšlenku sledující produktivitu. Dále vám poskytnu dva různé nástroje a seznam dílů, abyste mohli sestavit celý projekt nebo základní verzi (nezahrnuje diody LED), která nevyžaduje pájecí schopnosti. Později vám ukážu, jak jsem vytvořil prototyp své verze projektu, abyste měli představu o tom, jak vymodelovat svůj vlastní prototyp. Také se dostanu do podrobností v sekci kódu, abyste si mohli kód přizpůsobit svým vlastním potřebám. Na konci vám dám průvodce odstraňováním problémů na základě problémů, se kterými jsem se během této stavby setkal. A rozšiřte seznam o své otázky.

Účelem tohoto pokynu není jen dát vám kuchařku. Ukážu vám způsob, jakým jsem tento projekt postavil, a poskytnu vám otevřené otázky, abyste mohli přidat vlastní nápady a posunout tento projekt ještě dál. Důrazně vám doporučuji sdílet svou sestavu, až bude hotová! Začněme.

Krok 1: Idea

Idea
Idea

Měl jsem v úmyslu napsat tento Instructable měsíce. Ale můj starý přítel, který se jmenuje „prokrastinace“, mi to nedovolil. Prokrastinace je zdržení nebo odložení úkolu nebo sady úkolů, a místo toho, abyste tyto úkoly plnili, vyplňujete čas sledováním videí z temných hlubin YouTube.

Jednoho dne jsem při čtení článku o odkládání narazil na více aplikací/programů, které by mi pomohly s mým problémem, Trello jako aplikaci pro správu úloh a RescueTime jako aplikaci pro správu času. Oba fungovali perfektně pro mé potřeby, alespoň po určitou dobu. Po nějaké době jsem úplně přestal kontrolovat aplikace a ignoroval oznámení. Tehdy jsem přišel s tímto projektem. Data z aplikací bych zobrazil na zrcadle zavěšeném na zdi. Tímto způsobem nebylo úniku z mých povinností.

První návrh, který jsem nakreslil pro svůj projekt, byl poměrně jednoduchý. K zobrazení procenta produktivní/rušivé práce bych použil API RescueTime. A pomocí rozhraní Trello API zobrazte můj seznam úkolů pro daný den. Ale po chvíli jsem přidal další funkce, které podrobně získám v dalších krocích.

Krok 2: Nástroje a součásti

Poznámka: Toto je seznam nástrojů, které jsem použil během svého sestavování, nemusí být stejné pro vaši sestavu!

Pro základnu:

4 metry hracího dřeva 7 x 15 cm - 6 $ - záleží na velikosti obrazovky

Jednostranné zrcadlo 30 x 40 cm - závisí na velikosti obrazovky

25x35cm monitor Samsung - 15 $ - Nalezen na bleším trhu. jakýkoli monitor by to udělal

Raspberry Pi 3 Model B- 35 $ - Raspberry pi 2 je také v pořádku, ale budete potřebovat modul wifi

HDMI kabel - 2 $

Pro Led Lightning:

200cm smd5050 RGB LED pás - 4 $ - To musí být později smd5050 více…

  • Tři N -kanálové MOSFETy (např. IRLZ34N) - 2 $
  • Napájecí adaptér 12V -2A - 3,15 $
  • Prototypování DPS - 1 $

Nástroje:

  • Pila na dřevo
  • Lepidlo na drevo
  • Páječka (pro LED osvětlení)

Krok 3: Kód

Kód
Kód

Tento krok bude rozdělen na 3 části, nepotřebujete všechny součásti uvedené v předchozím kroku. Raspberry Pi a monitor, který pro tento projekt použijete, by měly ve fázi prototypu stačit.

Nastavení vašeho Raspberry Pi

Pokud jste svůj Raspberry Pi ještě nenastavili, pokračujte a udělejte to zde. Pro toto sestavení budete muset nainstalovat Apache pro webový server a ovladač LED LED.

Apache nainstalujete podle tohoto oficiálního průvodce.

Při instalaci ovladače PHP-LED postupujte podle této příručky od Christiana Nikkanena

Nyní si stáhněte soubor index.php z úložiště projektu do svého Raspberry Pi a vložte jej na tuto cestu:

/var/www/html/

Pokud nejste obeznámeni s přesouváním souborů v terminálu Linux, můžete se podívat na tuto příručku, abyste mohli začít.

Přizpůsobte kód

Poznámka: Tato část vyžaduje trochu znalostí HTML/CSS, pokud používáte jiný monitor.

Přizpůsobení bude provedeno v souboru index.php, který je základem tohoto sestavení. Nyní pokračujte a připojte svůj monitor k Raspberry Pi, pokud jste to ještě neudělali.

Pokud se nyní pokusíte otevřít soubor index.php, nebude to fungovat, protože nejprve musíte do kódu vyplnit klíče API, přejděte na web RescueTime a otevřete si účet. Dále přejděte do části pro vývojáře a vytvořte klíč API stisknutím tlačítka Aktivovat tento klíč. Někam napište svůj klíč API.

Totéž proveďte pro svůj klíč API Trello, otevřete si účet a přejděte na portál pro vývojáře a vygenerujte klíč API.

Dále otevřete soubor index.php, který jste vložili do/var/www/html/ve svém oblíbeném textovém editoru, a nahraďte [API_KEY] vlastním klíčem API, který jste získali od RescueTime a Trello. [Číslo_listu] je číslo seznamu, které používáte pro svůj seznam úkolů Trello. Abyste toto číslo získali, vytvořte nejprve na Trellu nový seznam a říkejte mu „To-Do“, toto bude seznam, který použijete pro svůj seznam úkolů a objeví se v zrcadle.

Dále vezměte adresu URL do adresního řádku, která vypadá takto:

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

a přidejte k tomu.json takto:

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

a stiskněte Enter, dále uvidíte na obrazovce kódový nepořádek. Zkuste v tom nepořádku najít název seznamu '' Úkoly '. Mělo by to vypadat nějak takto: {"name": "To Do", "id": "5981c123cd1b23f13907cd18"}, toto ID je vaše ID seznamu. toto číslo na [číslo_čísla] v souboru index.php.

Nyní otevřete prohlížeč a do adresního řádku zadejte localhost a stiskněte Enter. Vaše data byste měli vidět na grafech.

Poznámka: Umístění grafů se může lišit kvůli rozlišení monitoru, který používáte. Šířku, výšku a umístění prvků v části CSS kódu můžete upravit.

Nyní zbývá jen navrhnout rámeček kolem monitoru a připojit diody LED.

Poznámka: Pokud vás rozhraní API podrobně nezajímá, můžete přeskočit na další krok. V části API se podrobně seznámím s tím, jak celý program funguje a získává data z API.

API (podrobně)

Srdcem tohoto projektu jsou dvě API;

  • API Trello
  • RescueTime API

Přestože dokumentace obsahuje podrobné informace, vysvětlím, která data z API tento projekt používá.

Na straně správy času je volání RescueTime API, které získá informace o čase pro aktuální den, "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, date ('Y-m-d') je aktuální datum

perspektiva = pozice je typ třídění dat, v tomto případě „hodnost“, což znamená většinu času stráveného

Toto volání poskytne soubor ve formátu JSON, který vypadá takto: (podívejte se na data.json na konci tohoto kroku)

Data, která z tohoto souboru používáme, jsou „Čas strávený (sekundy)“a „Produktivita“, která má hodnoty mezi -2 a 2, -2 rušivé a 2 produktivní. S těmito daty můžeme pro skóre produktivity vygenerovat hodnotu přes 100.

Další API volání RescueTime, "https://www.rescuetime.com/anapi/daily_summary_feed?key=[API_KEY]"

Což vám poskytne týdenní souhrn vašich dat, který vypadá takto: (podívejte se na Summary.json na konci tohoto kroku.) Tato data jsem použil ke generování týdenního souhrnného grafu, který vám poskytne přehled týdne.

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

Tím získáte karty ve svém seznamu Trello takto:

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

opět můžete vytáhnout text na tyto karty a dát ho někam jinam.

data.json

Formátovaná data JSON
{
"notes": "data jsou pole polí (řádků), názvy sloupců pro řádky v záhlaví řádků",
"row_headers": [
"Hodnost",
"Čas strávený (sekundy)",
"Počet lidí",
"Aktivita",
"Kategorie",
"Produktivita"
],
"řádky": [
[
1,
1536,
1,
"en.0wikipedia.org",
"Nezařazeno",
0
],
[
2,
1505,
1,
"youtube.com",
"Video",
-2
],
[
3,
1178,
1,
"OpenOffice",
"Psaní",
2
],
[
4,
709,
1,
"moodle.bilkent.edu.tr",
"Obecná reference \u0026 Učení",
2
],
[
5,
602,
1,
"google.com.tr",
"Vyhledávání",
2
],
[
6,
439,
1,
"reddit.com",
"Obecné zprávy \u0026 Názor",
-2
],
[
7,
437,
1,
"tr.sharelatex.com",
"Psaní",
2
],
[
8,
361,
1,
"yemeksepeti.com",
"Obecné nakupování",
-2
],
[
9,
356,
1,
"Gmail",
"E-mailem",
0
],
[
10,
328,
1,
"Google Chrome",
"Prohlížeče",
0
],
[
11,
207,
1,
"stars.bilkent.edu.tr",
"Obecná reference \u0026 Učení",
2
],
[
12,
179,
1,
"whatsapp",
"Okamžitá zpráva",
-1
],

zobrazit rawdata.json hostovaný s ❤ od GitHub

Summary.json

[
{
"id": 1515657600,
"date": "2018-01-11",
"produktivita_pulse": 54,
"very_productive_percentage": 34,2,
"produktivní_percentage": 10,6,
"neutrální_procento": 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,
"business_percentage": 6.0,
"communication_and_scheduling_percentage": 4.3,
"social_networking_percentage": 0,0,
"design_and_composition_percentage": 0,0,
"Entertainment_percentage": 15.2,
"news_percentage": 3.3,
"software_development_percentage": 5,4,
"reference_and_learning_percentage": 22,8,
"nákupní_centrum": 12,9,
"utilities_percentage": 14.1,
"total_hours": 2,51,
"very_productive_hours": 0,86,
"produktivní_hodiny": 0,27,
"neutral_hours": 0,64,
"distracting_hours": 0,0,
"very_distracting_hours": 0,74,
"all_productive_hours": 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,
"software_development_hours": 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": "není č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": "6m 26s",
"social_networking_duration_formatted": "není čas",
"design_and_composition_duration_formatted": "není č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_pulse": 33,
"very_productive_percentage": 21,9,
"produktivní_procento": 2,3,
"neutrální_procento": 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,
"business_percentage": 0,0,
"communication_and_scheduling_percentage": 13.5,
"social_networking_percentage": 0,0,
"design_and_composition_percentage": 6,3,
"procenta zábavy": 44,7,
"news_percentage": 4.2,
"software_development_percentage": 0,0,
"reference_and_learning_percentage": 15,5,
"nákupní_procento": 0,0,
"utilities_percentage": 15,4,
"total_hours": 2,24,
"very_productive_hours": 0,49,
"produktivní_hodiny": 0,05,
"neutral_hours": 0,32,
"distracting_hours": 0,25,
"very_distracting_hours": 1,13,
"all_productive_hours": 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,
"software_development_hours": 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": "18m 5s",
"social_networking_duration_formatted": "není č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": "není čas",
"reference_and_learning_duration_formatted": "20 m 51 s",
"shopping_duration_formatted": "není čas",
"utilities_duration_formatted": "20 m 39 s"
},
{
"id": 1515484800,
"date": "2018-01-09",
"produktivita_pulse": 68,
"very_productive_percentage": 60,4,
"produktivní_procento": 0,5,
"neutral_percentage": 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,
"business_percentage": 21.9,
"communication_and_scheduling_percentage": 7.2,
"social_networking_percentage": 5.1,
"design_and_composition_percentage": 1.2,
"procenta zábavy": 1,6,
"news_percentage": 12.5,
"software_development_percentage": 9.1,
"reference_and_learning_percentage": 28.2,
"nákupní_centrum": 2,9,
"utilities_percentage": 1.2,
"total_hours": 2,78,
"very_productive_hours": 1,68,
"produktivní_hodiny": 0,01,
"neutral_hours": 0,31,
"rušivé_hodiny": 0,2,
"very_distracting_hours": 0,58,
"all_productive_hours": 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,
"software_development_hours": 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": "1h 41m",
"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 metrů 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"
}
]

zobrazit rawsummary.json hostovaný s ❤ od GitHub

Krok 4: Prototypování

Velká cena v soutěži Raspberry Pi Contest 2017

Doporučuje: