Indholdsfortegnelse:
Video: Produktivitetstracker - drevet af Raspberry Pi: 9 trin (med billeder)
2024 Forfatter: John Day | [email protected]. Sidst ændret: 2024-01-30 08:29
Produktivitetstracker er et magisk spejl, men i stedet for at vise tid, vejr og et motiverende citat viser det 4 ting;
Procentdelen af den tid, du har brugt på produktivt materiale på din computer og telefon for den dag. (RescueTime)
Din huskeliste fra Trello
En radargraf, der viser, hvor meget tid du har brugt sammen med kategorierne af de programmer-apps, du brugte i forhold til i gårs brug. (RescueTime)
En ugentlig oversigt. (RescueTime)
Og hvis procentdelen af den tid, du har brugt på produktivt materiale, er over 50%, viser lysdioderne en lysegrøn farve. Hvis det er under 50%, viser det en rød farve, hvilket signalerer dig til at være mere produktiv! Du kan også selv sætte et mål.
Omrids
I det første trin vil jeg forklare ideen bag produktivitetssporing. Dernæst giver jeg dig to forskellige værktøjer og deleliste, så du kan bygge det fulde projekt eller en grundlæggende version (Inkluderer ikke lysdioderne), der ikke kræver loddefærdigheder. Senere vil jeg vise dig, hvordan jeg prototyperede min version af projektet, så du har en idé om, hvordan du modellerer din egen prototype. Jeg vil også komme i detaljer i kodesektionen, så du kan tilpasse koden til dine egne behov. I slutningen vil jeg give dig en fejlfindingsguide baseret på de problemer, jeg stødte på under denne build. Og udvid listen med dine spørgsmål.
Formålet med denne instruktive er ikke kun at give dig en kogebog. Jeg viser dig, hvordan jeg byggede dette projekt og giver dig åbne spørgsmål, så du kan tilføje dine egne ideer og tage dette projekt endnu længere. Jeg opfordrer dig kraftigt til at dele din build, når den er færdig! Lad os komme igang.
Trin 1: Idéen
Jeg har haft til hensigt at skrive denne instruktive i flere måneder. Men en gammel ven af mig, der går under navnet "udsættelse", lod mig ikke. Udsættelse er handlingen med at forsinke eller udsætte en opgave eller et sæt opgaver, og i stedet for at udføre disse opgaver fylder tiden med at se videoer fra YouTubes mørke dybder.
En dag mens jeg læste en artikel om udsættelse, stødte jeg på flere apps/programmer, der ville hjælpe mig med mit problem, Trello som en opgavehåndteringsapp og RescueTime som en tidsstyringsapp. Begge fungerede perfekt til mine behov, i hvert fald i en periode. Efter et stykke tid stoppede jeg helt med at kontrollere apps og ignorerede meddelelserne. Det var da jeg kom på dette projekt. Jeg ville vise data fra apps på et spejl hængt på min væg. På denne måde var der ingen flugt fra mit ansvar.
Det første udkast, jeg tegnede til mit projekt, var ret simpelt. Jeg ville bruge RescueTime API til at vise min produktive/distraktive arbejdsprocent. Og brug Trello API til at vise min huskeliste for dagen. Men efter et stykke tid tilføjede jeg flere funktioner, som jeg vil få detaljeret i de næste trin.
Trin 2: Værktøjer og dele
Bemærk: Dette er en liste over værktøjer, jeg brugte under min build, de behøver ikke at være de samme for din build!
Til basen:
4 meter 7x15cm playwood - 6 $ - Det afhænger af din skærmstørrelse
30x40cm ensidig spejl - afhænger af din skærmstørrelse
25x35cm Samsung skærm - 15 $ - Fundet på et loppemarked. enhver skærm ville gøre
Raspberry Pi 3 Model B- 35 $ - Raspberry pi 2 er også fin, men du skal bruge et wifi -modul
HDMI -kabel - 2 $
Til Led Lightning:
200 cm smd5050 RGB Led strip- 4 $ - Det skal være smd5050 mere om dette senere …
- Tre N -kanal MOSFET'er (f.eks. IRLZ34N) - 2 $
- 12V -2A strømadapter - 3,15 $
- Prototype PCB - 1 $
Værktøjer:
- Træsav
- Trælim
- Loddejern (til LED -belysning)
Trin 3: Koden
Dette trin vil være i 3 dele, du behøver ikke alle de dele, der er angivet i det foregående trin. En Raspberry Pi og den skærm, du vil bruge til dette projekt, burde være nok til prototypefasen.
Opsætning af din Raspberry Pi
Hvis du ikke har indstillet din Raspberry Pi endnu, skal du gøre det her. Til denne build skal du installere Apache til webserveren og PHP-LED-controlleren.
Følg denne officielle guide for at installere Apache.
Følg denne vejledning af Christian Nikkanen for at installere PHP-LED-controlleren
Download nu index.php -filen fra projektlageret til din Raspberry Pi og læg den på denne sti:
/var/www/html/
Hvis du ikke er bekendt med at flytte filer rundt i Linux Terminal, kan du se denne vejledning for at komme i gang.
Tilpas koden
Bemærk: Denne del kræver en smule HTML/CSS -viden, hvis du bruger en anden skærm.
Tilpasningen udføres på index.php -filen, som er kernen i denne build. Fortsæt nu og tilslut din skærm til din Raspberry Pi, hvis du ikke allerede har gjort det.
Hvis du nu prøver at åbne filen index.php, virker det ikke, fordi du først skal udfylde API -nøglerne i koden, for at gå til RescueTime -webstedet og åbne en konto. Gå derefter til udviklerafsnittet og opret en API -nøgle ved at trykke på Aktiver denne nøgle. Skriv din API -nøgle til et sted.
Gør det samme for din Trello API -nøgle, Åbn en konto, og gå til udviklerportalen for at generere en API -nøgle.
Åbn derefter den index.php -fil, du lagde i/var/www/html/i din foretrukne teksteditor, og erstat [API_KEY] med din egen API -nøgle, som du fik fra RescueTime og Trello i overensstemmelse hermed. [List_number] er det listenummer, du bruger til din huskeliste Trello. For at få dette nummer skal du først oprette en ny liste på Trello og kalde den "To-Do", dette er den liste, du vil bruge til din huskeliste, og den vises på spejlet.
Tag derefter webadressen på din adresselinje, der ligner:
trello.com/b/3hS6yyLo/board-name
og tilføj.json til det sådan her:
trello.com/b/3hS6yyLo/board-name.json
og tryk på enter, derefter ser du et kode -rod på skærmen. Prøv at finde dit listenavn '' To-Do 'på det rod. Det skal se sådan ud: {"name": "To Do", "id": "5981c123cd1b23f13907cd18"}, Id'et er din liste-id. Put dette nummer til [list_number] i filen index.php.
Åbn nu din browser, og skriv localhost til adresselinjen, og tryk på enter. Du skal se dine data vises på graferne.
Bemærk: Placeringerne af graferne kan være forskellige på grund af opløsningen på den skærm, du bruger. Du kan redigere bredden, højden og placeringen af elementerne i CSS -delen af koden.
Nu er det bare at designe en kasse omkring skærmen og tilslutte lysdioderne.
Bemærk: Hvis du ikke er interesseret i API'erne i detaljer, kan du springe til det næste trin. I API'ens del vil jeg komme i detaljer, hvordan hele programmet fungerer og får data fra API'er.
API'erne (i detaljer)
Kernen i dette projekt er de to API'er;
- Trello API
- RescueTime API
Selvom dokumentationen har detaljerede oplysninger til rådighed, vil jeg forklare, hvilke data fra API'en dette projekt bruger.
I tidsstyringsdelen er RescueTime API -opkaldet, der får tidsoplysninger for den aktuelle dag, "https://www.rescuetime.com/anapi/data?key=[API_KEYphia&perspective=rank&interval=hour&restrict_begin=".date('Ym-d')."&restrict_end=".date('Ym-d '). "& format = json"
hvor, dato ('Y-m-d') er den aktuelle dato
perspektiv = rang er datasorteringstypen i dette tilfælde "rang", der står for det meste af tiden
Dette opkald giver en fil i JSON -format, der ser sådan ud: (se data.json i slutningen af dette trin)
De data, vi bruger fra denne fil, er "brugt tid (sekunder)" og "produktivitet", der har værdier mellem -2 og 2, -2 er distraherende og 2 er produktive. Med disse data kan vi generere en værdi over 100 for produktivitetsscoren.
Endnu et API -opkald til RescueTime, "https://www.rescuetime.com/anapi/daily_summary_feed?key=[API_KEY]"
Hvilket giver dig en ugentlig oversigt over dine data, der ser sådan ud: (se Summary.json i slutningen af dette trin.) Jeg brugte disse data til at generere den ugentlige oversigtsgraf, der giver dig et overblik over ugen.
Trello API -opkaldet, "https://api.trello.com/1/lists/[list_number]/cards?fields=name&key=[API_KEY]&token=[Token]"
Dette giver dig kortene på din Trello -liste sådan her:
[{"id": "5a4160103bfcd14994852f59", "name": "ceylan cinemagraph"}, {"id": "59e8241f6aa8662a51eb7de6", "name": "Lær GitHuB"}, {"id": "5981c19577 ":" Publish Instructible "}, {" id ":" 5a341dba7f17d235d7c5bbd1 "," name ":" SPACE PROGRAM "}]
igen kan du trække teksten på disse kort og sætte den et andet sted.
data.json
Formaterede JSON -data |
{ |
"notes": "data er en matrix af arrays (rækker), kolonnenavne til rækker i row_headers", |
"row_headers": [ |
"Rang", |
"Brugt tid (sekunder)", |
"Antal mennesker", |
"Aktivitet", |
"Kategori", |
"Produktivitet" |
], |
"rækker": [ |
[ |
1, |
1536, |
1, |
"en.0wikipedia.org", |
"Ikke kategoriseret", |
0 |
], |
[ |
2, |
1505, |
1, |
"youtube.com", |
"Video", |
-2 |
], |
[ |
3, |
1178, |
1, |
"OpenOffice", |
"Skrivning", |
2 |
], |
[ |
4, |
709, |
1, |
"moodle.bilkent.edu.tr", |
"Generel reference \u0026 læring", |
2 |
], |
[ |
5, |
602, |
1, |
"google.com.tr", |
"Søg", |
2 |
], |
[ |
6, |
439, |
1, |
"reddit.com", |
"Generelle nyheder \u0026 udtalelse", |
-2 |
], |
[ |
7, |
437, |
1, |
"tr.sharelatex.com", |
"Skrivning", |
2 |
], |
[ |
8, |
361, |
1, |
"yemeksepeti.com", |
"Generel indkøb", |
-2 |
], |
[ |
9, |
356, |
1, |
"Gmail", |
"E -mail", |
0 |
], |
[ |
10, |
328, |
1, |
"Google Chrome", |
"Browsere", |
0 |
], |
[ |
11, |
207, |
1, |
"stars.bilkent.edu.tr", |
"Generel reference \u0026 Læring", |
2 |
], |
[ |
12, |
179, |
1, |
"whatsapp", |
"Direkte besked", |
-1 |
], |
se rawdata.json hostet af ❤ af GitHub
resumé.json
[ |
{ |
"id": 1515657600, |
"dato": "2018-01-11", |
"produktivitetspuls": 54, |
"meget_produktiv_procent": 34,2, |
"produktiv_procent": 10,6, |
"neutral_procent": 25,6, |
"distracting_percentage": 0,0, |
"very_distracting_percentage": 29.6, |
"all_produktiv_procent": 44,8, |
"all_distracting_percentage": 29.6, |
"uncategorized_percentage": 16.1, |
"business_procent": 6,0, |
"Communication_and_scheduling_percentage": 4.3, |
"social_networking_percentage": 0.0, |
"design_og_komposition_procent": 0,0, |
"underholdningsprocent": 15,2, |
"news_percentage": 3.3, |
"software_development_percentage": 5.4, |
"reference_and_learning_percentage": 22.8, |
"shopping_procent": 12,9, |
"utilities_percentage": 14.1, |
"total_timer": 2,51, |
"meget_produktive_timer": 0,86, |
"produktive_timer": 0,27, |
"neutrale_timer": 0,64, |
"distraherende_timer": 0,0, |
"very_distracting_hours": 0,74, |
"all_productive_hours": 1.12, |
"all_distracting_hours": 0,74, |
"ukategoriseret_tid": 0,4, |
"forretningstimer": 0,15, |
"kommunikation_og_planlægningstimer": 0,11, |
"social_networking_hours": 0.0, |
"design_og_komposition_timer": 0,0, |
"underholdningstimer": 0,38, |
"nyhedstimer": 0,08, |
"software_development_hours": 0,13, |
"reference_og_learning_hours": 0,57, |
"shoppingtimer": 0,32, |
"utilities_hours": 0,35, |
"total_duration_formatted": "2t 30m", |
"very_productive_duration_formatted": "51m 26s", |
"productive_duration_formatted": "15m 56s", |
"neutral_duration_formatted": "38m 34s", |
"distracting_duration_formatted": "ingen tid", |
"very_distracting_duration_formatted": "44m 30s", |
"all_productive_duration_formatted": "1t 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": "ingen tid", |
"design_and_composition_duration_formatted": "ingen tid", |
"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, |
"dato": "2018-01-10", |
"produktivitetspuls": 33, |
"meget_produktiv_procent": 21,9, |
"produktiv_procent": 2,3, |
"neutral_procent": 14,4, |
"distracting_percentage": 11,0, |
"very_distracting_percentage": 50,3, |
"all_produktiv_procent": 24,2, |
"all_distracting_percentage": 61.4, |
"uncategorized_percentage": 0,3, |
"business_procent": 0,0, |
"Communication_and_scheduling_percentage": 13,5, |
"social_networking_percentage": 0.0, |
"design_og_komposition_procent": 6,3, |
"underholdningsprocent": 44,7, |
"news_percentage": 4.2, |
"software_development_percentage": 0.0, |
"reference_and_learning_percentage": 15,5, |
"shopping_procent": 0,0, |
"utilities_percentage": 15.4, |
"samlede timer": 2,24, |
"meget_produktive_timer": 0,49, |
"produktive timer": 0,05, |
"neutrale_timer": 0,32, |
"distraherende timer": 0,25, |
"very_distracting_hours": 1.13, |
"all_productive_hours": 0,54, |
"all_distracting_hours": 1,37, |
"ukategoriseret_timer": 0,01, |
"forretningstimer": 0,0, |
"kommunikation_og_planlægningstimer": 0,3, |
"social_networking_hours": 0.0, |
"design_og_komposition_timer": 0,14, |
"underholdningstimer": 1.0, |
"nyhedstimer": 0,09, |
"software_development_hours": 0.0, |
"reference_og_learning_hours": 0,35, |
"shoppingtimer": 0,0, |
"utilities_hours": 0,34, |
"total_duration_formatted": "2t 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": "1t 7m", |
"all_productive_duration_formatted": "32m 30s", |
"all_distracting_duration_formatted": "1t 22m", |
"uncategorized_duration_formatted": "27s", |
"business_duration_formatted": "1s", |
"Communication_and_scheduling_duration_formatted": "18m 5s", |
"social_networking_duration_formatted": "ingen tid", |
"design_and_composition_duration_formatted": "8m 30s", |
"entertainment_duration_formatted": "59m 54s", |
"news_duration_formatted": "5m 39s", |
"software_development_duration_formatted": "ingen tid", |
"reference_and_learning_duration_formatted": "20m 51s", |
"shopping_duration_formatted": "ingen tid", |
"utilities_duration_formatted": "20m 39s" |
}, |
{ |
"id": 1515484800, |
"dato": "2018-01-09", |
"produktivitetspuls": 68, |
"meget_produktiv_procent": 60,4, |
"produktiv_procent": 0,5, |
"neutral_procent": 11,0, |
"distracting_percentage": 7.1, |
"very_distracting_percentage": 21,0, |
"all_produktiv_procent": 60,9, |
"all_distracting_percentage": 28,1, |
"uncategorized_percentage": 9.1, |
"business_procent": 21,9, |
"Communication_and_scheduling_percentage": 7.2, |
"social_networking_percentage": 5.1, |
"design_og_komposition_procent": 1.2, |
"underholdningsprocent": 1,6, |
"news_percentage": 12,5, |
"software_development_percentage": 9.1, |
"reference_and_learning_percentage": 28.2, |
"shopping_procent": 2,9, |
"utilities_percentage": 1.2, |
"total_timer": 2,78, |
"meget_produktive_timer": 1,68, |
"produktive timer": 0,01, |
"neutrale_timer": 0,31, |
"distraherende timer": 0,2, |
"very_distracting_hours": 0,58, |
"all_productive_hours": 1,69, |
"all_distracting_hours": 0,78, |
"ukategoriseret_timer": 0,25, |
"forretningstimer": 0,61, |
"kommunikation_og_planlægningstimer": 0,2, |
"social_networking_hours": 0,14, |
"design_og_komposition_timer": 0,03, |
"underholdningstimer": 0,04, |
"nyhedstimer": 0,35, |
"software_development_hours": 0,25, |
"reference_og_learning_hours": 0,78, |
"shoppingtimer": 0,08, |
"utilities_hours": 0,03, |
"total_duration_formatted": "2t 46m", |
"very_productive_duration_formatted": "1t 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": "1t 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" |
} |
] |
se rawsummary.json hostet med ❤ af GitHub
Trin 4: Prototyping
Storpris i Raspberry Pi -konkurrencen 2017
Anbefalede:
Raspberry Pi -æske med køleventilator med CPU -temperaturindikator: 10 trin (med billeder)
Raspberry Pi Box of Cooling FAN med CPU-temperaturindikator: Jeg havde introduceret hindbær pi (herefter RPI) CPU-temperaturindikator kredsløb i det forrige projekt. Kredsløbet viser simpelthen RPI 4 forskellige CPU-temperaturniveauer som følger.- Grøn LED tændt, når CPU -temperaturen er inden for 30 ~
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: 7 trin (med billeder)
Sådan gør du: Installation af Raspberry PI 4 Headless (VNC) med Rpi-imager og billeder: Jeg planlægger at bruge denne Rapsberry PI i en masse sjove projekter tilbage i min blog. Tjek det gerne ud. Jeg ville tilbage til at bruge min Raspberry PI, men jeg havde ikke et tastatur eller en mus på min nye placering. Det var et stykke tid siden jeg konfigurerede en hindbær
Sådan adskilles en computer med nemme trin og billeder: 13 trin (med billeder)
Sådan adskilles en computer med nemme trin og billeder: Dette er en instruktion om, hvordan du adskiller en pc. De fleste af de grundlæggende komponenter er modulopbyggede og nemme at fjerne. Det er dog vigtigt, at du er organiseret omkring det. Dette hjælper med at forhindre dig i at miste dele og også ved at lave genmonteringen til
Ciclop 3d Scanner My Way Trin for trin: 16 trin (med billeder)
Ciclop 3d Scanner My Way Step by Step: Hej alle sammen, jeg kommer til at indse den berømte Ciclop 3D -scanner.Alle trin, der er godt forklaret på det originale projekt, er ikke til stede.Jeg lavede nogle rettelser for at forenkle processen, først Jeg udskriver basen, og end jeg genstarter printkortet, men fortsæt
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: 7 trin (med billeder)
Sådan styrer du husholdningsapparater med fjernsyn med fjernbetjening med timerfunktion: Selv efter 25 års introduktion til forbrugermarkedet er infrarød kommunikation stadig meget relevant i de seneste dage. Uanset om det er dit 55 tommer 4K -fjernsyn eller dit billydsystem, har alt brug for en IR -fjernbetjening for at reagere på vores