Përmbajtje:

Gjurmues i produktivitetit - Mundësuar nga Raspberry Pi: 9 hapa (me fotografi)
Gjurmues i produktivitetit - Mundësuar nga Raspberry Pi: 9 hapa (me fotografi)

Video: Gjurmues i produktivitetit - Mundësuar nga Raspberry Pi: 9 hapa (me fotografi)

Video: Gjurmues i produktivitetit - Mundësuar nga Raspberry Pi: 9 hapa (me fotografi)
Video: SKR 1.4 - TMC2209 v1.2 2024, Nëntor
Anonim
Gjurmuesi i Produktivitetit - Mundësuar nga Raspberry Pi
Gjurmuesi i Produktivitetit - Mundësuar nga Raspberry Pi
Gjurmuesi i Produktivitetit - Mundësuar nga Raspberry Pi
Gjurmuesi i Produktivitetit - Mundësuar nga Raspberry Pi
Gjurmuesi i Produktivitetit - Mundësuar nga Raspberry Pi
Gjurmuesi i Produktivitetit - Mundësuar nga Raspberry Pi

Gjurmuesi i Produktivitetit është një pasqyrë magjike, por në vend që të shfaqë kohën, motin dhe një citat motivues, ai shfaq 4 gjëra;

Përqindja e kohës që keni shpenzuar për materiale prodhuese në kompjuterin tuaj dhe telefonin për atë ditë. (RescueTime)

Lista juaj e detyrave nga Trello

Një graf radar që tregon sa kohë keni kaluar së bashku me kategoritë e programeve-aplikacioneve që keni përdorur në krahasim me përdorimin e djeshëm. (RescueTime)

Një përmbledhje javore. (RescueTime)

Dhe nëse përqindja e kohës që keni shpenzuar për material prodhues është mbi 50%, LED -të do të shfaqin një ngjyrë të gjelbër të ndritshme. Nëse është nën 50% do të shfaqë një ngjyrë të kuqe, duke ju sinjalizuar që të jeni më produktiv! Ju gjithashtu mund të vendosni një qëllim vetë.

Skicë

Në hapin e parë, unë do të shpjegoj idenë që qëndron pas gjurmuesit të produktivitetit. Tjetra, unë do t'ju jap dy mjete dhe pjesë të ndryshme, kështu që ju mund të ndërtoni projektin e plotë ose një version bazë (Nuk përfshin LED -të) që nuk kërkon aftësi bashkimi. Më vonë do t'ju tregoj se si kam prototipuar versionin tim të projektit, kështu që ju keni një ide se si të modeloni prototipin tuaj. Gjithashtu, unë do të futem në detaje në seksionin e kodit në mënyrë që të mund ta rregulloni kodin për nevojat tuaja. Në fund, unë do t'ju jap një udhëzues për zgjidhjen e problemeve bazuar në problemet që hasa gjatë këtij ndërtimi. Dhe zgjeroni listën me pyetjet tuaja.

Qëllimi i këtij udhëzimi nuk është vetëm t'ju japë një libër gatimi. Unë do t'ju tregoj mënyrën se si e ndërtova këtë projekt dhe do t'ju ofroj pyetje të hapura, kështu që ju mund të shtoni idetë tuaja dhe ta çoni këtë projekt edhe më tej. Unë ju inkurajoj fuqimisht që të ndani ndërtimin tuaj kur të përfundojë! Le të fillojmë.

Hapi 1: Ideja

Ideja
Ideja

Kam muaj që kam ndërmend ta shkruaj këtë Udhëzues. Por një miku im i vjetër që quhet "Zvarritje" nuk më lejoi. Zvarritja është akti i vonimit ose shtyrjes së një detyre ose një sërë detyrash, dhe në vend që t'i bëni ato detyra duke mbushur kohën me shikimin e videove nga thellësitë e errëta të YouTube.

Një ditë ndërsa lexoja një artikull mbi zvarritjen, hasa në aplikacione/programe të shumta që do të më ndihmonin me problemin tim, Trello si një aplikacion për menaxhimin e detyrave dhe RescueTime si një aplikacion për menaxhimin e kohës. Të dy punuan në mënyrë perfekte për nevojat e mia, të paktën për një kohë. Pas një kohe, unë ndalova së kontrolluari aplikacionet fare dhe injorova njoftimet. Atëherë kam ardhur me këtë projekt. Unë do t'i shfaqja të dhënat nga aplikacionet në një pasqyrë të varur në murin tim. Në këtë mënyrë nuk kishte shpëtim nga përgjegjësitë e mia.

Drafti i parë që vizatova për projektin tim ishte mjaft i thjeshtë. Unë do të përdor API -në RescueTime për të shfaqur përqindjen time të punës Produktive/Tërheqëse. Dhe përdorni Trello API për të shfaqur listën time të detyrave për ditën. Por pas një kohe, shtova më shumë veçori që do t'i marr në detaje në hapat e ardhshëm.

Hapi 2: Mjetet dhe Pjesët

Shënim: Kjo është një listë e mjeteve që kam përdorur gjatë ndërtimit tim, ato nuk duhet të jenë të njëjta për ndërtimin tuaj!

Për Bazën:

4 metra lule druri 7x15cm - 6 $ - Varet nga madhësia e ekranit tuaj

30x40cm pasqyrë e njëanshme - varet nga madhësia e ekranit tuaj

Monitor 25x35cm Samsung - 15 $ - Gjetur në një treg pleshti. çdo monitor do të bënte

Raspberry Pi 3 Model B- 35 $ - Raspberry pi 2 është gjithashtu mirë, por do t'ju duhet një modul wifi

Kabllo HDMI - 2 dollarë

Për Rrufeja Led:

200cm smd5050 RGB Rrip Led - 4 $ - Duhet të jetë smd5050 më shumë për këtë më vonë…

  • Tre MOSFET me kanale N (p.sh. IRLZ34N) - 2 $
  • Përshtatës i rrymës 12V -2A - 3.15 $
  • Prototipizimi i PCB - 1 $

Mjetet:

  • Sharrë druri
  • Ngjitës druri
  • Hekuri i saldimit (Për ndriçimin LED)

Hapi 3: Kodi

Kodi
Kodi

Ky hap do të jetë në 3 pjesë, ju nuk keni nevojë për të gjitha pjesët e listuara në hapin e mëparshëm. Një Raspberry Pi dhe monitori që do të përdorni për këtë projekt duhet të jenë të mjaftueshëm për fazën e prototipimit.

Vendosja e Raspberry Pi tuaj

Nëse nuk e keni vendosur Raspberry Pi tuaj, vazhdoni dhe bëni atë këtu. Për këtë ndërtim, do t'ju duhet të instaloni Apache për serverin në internet dhe kontrolluesin PHP-LED.

Për të instaluar Apache ndiqni këtë udhëzues zyrtar.

Për të instaluar kontrolluesin PHP-LED ndiqni këtë udhëzues nga Christian Nikkanen

Tani shkarkoni skedarin index.php nga depoja e projektit në Raspberry Pi tuaj dhe vendoseni në këtë rrugë:

/var/www/html/

Nëse nuk jeni të njohur me lëvizjen e skedarëve në Linux Terminal, mund të shikoni këtë udhëzues për të filluar.

Përshtatni Kodin

Shënim: Kjo pjesë kërkon pak njohuri HTML/CSS nëse përdorni një monitor tjetër.

Përshtatja do të bëhet në skedarin index.php i cili është vatër e këtij ndërtimi. Tani shkoni përpara dhe lidhni monitorin tuaj me Raspberry Pi tuaj nëse nuk e keni bërë tashmë.

Tani nëse përpiqeni të hapni skedarin index.php nuk do të funksionojë sepse së pari duhet të plotësoni çelësat API në kod, për këtë shkoni në faqen e internetit të RescueTime dhe hapni një llogari. Tjetra, shkoni te seksioni i zhvilluesit dhe krijoni një çelës API duke shtypur Aktivizo Ky Çelës. Shkruani diku çelësin tuaj API.

Bëni të njëjtën gjë për çelësin tuaj Trello API, hapni një llogari dhe shkoni te portali i zhvilluesit për të gjeneruar një çelës API.

Tjetra, hapni skedarin index.php që keni futur në/var/www/html/në redaktorin tuaj të tekstit të preferuar dhe zëvendësoni [API_KEY] me çelësin tuaj API që keni marrë nga RescueTime dhe Trello në përputhje me rrethanat. [Lista_numri] është numri i listës që përdorni për listën tuaj të detyrave Trello. Për të marrë atë numër, së pari krijoni një listë të re në Trello dhe e quani "To-Do", kjo do të jetë lista që do të përdorni për listën tuaj të detyrave dhe do të shfaqet në pasqyrë.

Tjetra, Merrni URL -në në shiritin tuaj të adresave që duket si:

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

dhe shtoni.json në të si kjo:

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

dhe shtypni enter, më pas do të shihni një rrëmujë kodesh në ekran. Mundohuni të gjeni emrin tuaj të listës '' Për të bërë '' në atë rrëmujë. Duhet të duket diçka si kjo: {"name": "Për të bërë", "id": "5981c123cd1b23f13907cd18"}, Ky ID është lista juaj e vendosur. atë numër në [list_number] në skedarin index.php.

Tani hapni shfletuesin tuaj dhe shkruani localhost në shiritin e adresave dhe shtypni enter. Duhet të shihni që të dhënat tuaja të shfaqen në grafikë.

Shënim: Vendosjet e grafikëve mund të jenë të ndryshme për shkak të rezolucionit të monitorit që po përdorni. Mund të redaktoni gjerësinë, lartësinë dhe vendndodhjen e elementeve në pjesën CSS të kodit.

Tani gjithçka që mbetet për të bërë është të krijoni një kuti rreth monitorit dhe të lidhni LED -et.

Shënim: Nëse nuk jeni të interesuar për API -të në detaje, mund të kaloni në hapin tjetër. Në pjesën e API do të marr në detaje se si funksionon i gjithë programi dhe merr të dhëna nga API.

API -të (në detaje)

Vatra e këtij projekti janë Dy API -të;

  • Trello API
  • RescueTime API

Edhe pse dokumentacioni ka informacion të detajuar në dispozicion, unë do të shpjegoj se cilat të dhëna nga API po përdor ky projekt.

Nga ana e menaxhimit të kohës, thirrja API RescueTime që merr informacionin e kohës për ditën aktuale është, "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"

ku, data ('Y-m-d') është data aktuale

perspektiva = grada është lloji i renditjes së të dhënave në këtë rast "rang" i cili qëndron për shumicën e kohës së kaluar

Kjo thirrje do të japë një skedar në formatin JSON që duket kështu: (shikoni data.json në fund të këtij hapi)

Të dhënat që ne përdorim nga ky skedar janë "Koha e kaluar (sekonda)" dhe "Produktiviteti" i cili ka vlera midis -2 dhe 2, -2 duke qenë tërheqës dhe 2 duke qenë produktivë. Me këto të dhëna, ne mund të gjenerojmë një vlerë mbi 100 për rezultatin e produktivitetit.

Një tjetër thirrje API për RescueTime, "https://www.rescuetime.com/anapi/daily_summary_feed?key= [API_KEY]"

E cila ju jep një përmbledhje javore të të dhënave tuaja, e cila duket kështu: (shikoni në summary.json në fund të këtij hapi.) Unë i kam përdorur këto të dhëna për të krijuar grafikun përmbledhës javor që ju jep një pasqyrë të javës.

Thirrja API e Trello, https://api.trello.com/1/lists/

Kjo do t'ju japë kartat në listën tuaj Trello si kjo:

[{"id": "5a4160103bfcd14994852f59", "name": "ceylan cinemagraph"}, {"id": "59e8241f6aa8662a51eb7de6", "name": "Mëso GitHuB"}, {"id": "5981c19577 ":" Publikimi i udhëzimeve "}, {" id ":" 5a341dba7f17d235d7c5bbd1 "," name ":" PROGRAMI HAPACSINOR "}]

përsëri mund ta tërheqësh tekstin në ato karta dhe ta vendosësh diku tjetër.

të dhëna.json

Të dhënat e formatuara JSON
{
"shënime": "të dhënat janë një grup vargjesh (rreshta), emra kolonash për rreshtat në rreshtat_kokë",
"kokat e rreshtit": [
"Renditja",
"Koha e kaluar (sekonda)",
"Numri i njerëzve",
"Aktivitet",
"Kategoria",
"Produktiviteti"
],
"rreshta": [
[
1,
1536,
1,
"en.0wikipedia.org",
"E pakategorizuar",
0
],
[
2,
1505,
1,
"youtube.com",
"Video",
-2
],
[
3,
1178,
1,
"Zyrë e hapur",
"Shkrimi",
2
],
[
4,
709,
1,
"moodle.bilkent.edu.tr",
"Referenca e përgjithshme dhe mësimi",
2
],
[
5,
602,
1,
"google.com.tr",
"Kërko",
2
],
[
6,
439,
1,
"reddit.com",
"Lajmet e Përgjithshme dhe Opinioni",
-2
],
[
7,
437,
1,
"tr.sharelatex.com",
"Shkrimi",
2
],
[
8,
361,
1,
"yemeksepeti.com",
"Pazar i Përgjithshëm",
-2
],
[
9,
356,
1,
"Gmail",
"Email",
0
],
[
10,
328,
1,
"Google Chrome",
"Shfletuesit",
0
],
[
11,
207,
1,
"stars.bilkent.edu.tr",
"Referenca e përgjithshme dhe mësimi",
2
],
[
12,
179,
1,
"whatsapp",
"Mesazh i menjëhershëm",
-1
],

shikoni rawdata.json të pritur me ❤ nga GitHub

përmbledhje.json

[
{
"id": 1515657600,
"data": "2018-01-11",
"pulsi i produktivitetit": 54,
"përqindje shumë_produktive": 34.2,
"përqindja produktive": 10.6,
"përqindja neutrale": 25.6,
"përqindja e shpërqendruar": 0.0,
"përqindja shumë_përçuese": 29.6,
"përqindja e_produktive": 44.8,
"përqindja e_të tërhequr": 29.6,
"përqindja e pakategorizuar": 16.1,
"përqindja e biznesit": 6.0,
"përqindja e komunikimit_ dhe_caktimit": 4.3,
"përqindja_ e rrjeteve sociale": 0.0,
"përqindja e dizajnit_ dhe_përbërjes": 0.0,
"përqindja_ argëtuese": 15.2,
"përqindja e lajmeve": 3.3,
"përqindja e_zhvillimit të softuerit": 5.4,
"përqindja_referuese_ dhe_të mësimit": 22.8,
"përqindja_ e blerjes": 12.9,
"përqindja e shërbimeve": 14.1,
"orë_ totale": 2.51,
"orë_produktive": 0.86,
"orë_prodhuese": 0.27,
"orë_ neutrale": 0.64,
"orë tërheqëse": 0.0,
"orë shumë_përqëndruese": 0.74,
"orë të tëra_produktive": 1.12,
"orë të tëra_shpërqendrimi": 0.74,
"orë të pakategorizuara": 0.4,
"orë_ pune": 0.15,
"orë_komunikimi dhe_planifikimi": 0.11,
"orë_runjave_punuese sociale": 0.0,
"dizajni_dhe_kompozimi": "0.0,
"orë_ argëtimi": 0.38,
"orët e lajmeve": 0.08,
"orë_zhvillimi i softuerit": 0.13,
"orët e referencës_ dhe_ të mësimit": 0.57,
"orë_blerjeje": 0.32,
"orët e shërbimeve": 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": "nuk ka kohë",
"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": "nuk ka kohë",
"design_and_composition_duration_formatted": "pa kohë",
"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,
"data": "2018-01-10",
"pulsi i produktivitetit": 33,
"përqindje shumë_produktive": 21.9,
"përqindja_prodhuese": 2.3,
"përqindja neutrale": 14.4,
"përqindja e shpërqendruar": 11.0,
"përqindja shumë_përçuese": 50.3,
"përqindja e_produktive": 24.2,
"përqindja e_të tërhequr": 61.4,
"përqindja e pakategorizuar": 0.3,
"përqindja e biznesit": 0.0,
"përqindja e komunikimit_ dhe_caktimit": 13.5,
"përqindja_ e rrjeteve sociale": 0.0,
"përqindja e dizajnit_ dhe_përbërjes": 6.3,
"përqindja_ argëtuese": 44.7,
"përqindja e lajmeve": 4.2,
"përqindja_zhvillimore e softuerit": 0.0,
"përqindja_referencë_ mësimi": 15.5,
"përqindja_ e blerjes": 0.0,
"përqindja e shërbimeve": 15.4,
"orë_ totale": 2.24,
"orë_produktive": 0.49,
"orë_prodhuese": 0.05,
"orë_ neutrale": 0.32,
"orë_përqendruese": 0.25,
"orë shumë_përqëndruese": 1.13,
"orë të tëra_produktive": 0.54,
"orë të tëra_shpërqendrimi": 1.37,
"orë të pakategorizuara": 0.01,
"orë_ pune": 0.0,
"orë komunikimi dhe_planifikimi": 0.3,
"orët_ e rrjetit shoqëror": 0.0,
"dizajni_dhe_kompozimi": 0.14,
"orë_ argëtimi": 1.0,
"orët e lajmeve": 0.09,
"orë_zhvillimi i softuerit": 0.0,
"orët e referencës_ dhe_ të mësimit": 0.35,
"orë_blerje": 0.0,
"orë shërbimesh": 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": "nuk ka kohë",
"design_and_composition_duration_formatted": "8m 30s",
"entertainment_duration_formatted": "59m 54s",
"news_duration_formatted": "5m 39s",
"software_development_duration_formatted": "nuk ka kohë",
"reference_and_learning_duration_formatted": "20m 51s",
"shopping_duration_formatted": "nuk ka kohë",
"utilities_duration_formatted": "20m 39s"
},
{
"id": 1515484800,
"data": "2018-01-09",
"pulsi i produktivitetit": 68,
"përqindja_produktive_shumë": 60.4,
"përqindja_prodhuese": 0.5,
"përqindja neutrale": 11.0,
"përqindja e shpërqendruar": 7.1,
"përqindja shumë_ -tërheqëse": 21.0,
"përqindja e_produktive": 60.9,
"përqindja e_të tërhequr": 28.1,
"përqindja e pakategorizuar": 9.1,
"përqindja e biznesit": 21.9,
"përqindja e komunikimit_ dhe_caktimit": 7.2,
"përqindja e_ rrjetëzimit_social": 5.1,
"përqindja e dizajnit_ dhe_përbërjes": 1.2,
"përqindja e argëtimit": 1.6,
"përqindja e lajmeve": 12.5,
"përqindja_zhvillimi i softuerit": 9.1,
"përqindja_referuese_ dhe_të mësimit": 28.2,
"përqindja_ e blerjes": 2.9,
"përqindja e shërbimeve": 1.2,
"orë_ totale": 2.78,
"orë_produktive": 1.68,
"orë_prodhuese": 0.01,
"orë_ neutrale": 0.31,
"orë_përqendruese": 0.2,
"orë shumë_përqëndruese": 0.58,
"orë të tëra_produktive": 1.69,
"orë të tëra_shpërqendrimi": 0.78,
"orë të pakategorizuara": 0.25,
"orë_ biznesi": 0.61,
"orë_komunikimi dhe_planifikimi": 0.2,
"orë_ rrjetëzimi_sociale": 0.14,
"dizajn_dhe_kompozim_orrë": 0.03,
"orë_ argëtimi": 0.04,
"orët e lajmeve": 0.35,
"orë_zhvillimi i softuerit": 0.25,
"orët e referencës_ dhe_ të mësimit": 0.78,
"orë_blerje": 0.08,
"orë shërbimesh": 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"
}
]

shikoni rawsummary.json të pritur me ❤ nga GitHub

Hapi 4: Prototipizimi

Çmimi i Madh në Konkursin Raspberry Pi 2017

Recommended: