Өнімділікті қадағалаушы - Raspberry Pi көмегімен: 9 қадам (суреттермен)
Өнімділікті қадағалаушы - Raspberry Pi көмегімен: 9 қадам (суреттермен)
Anonim
Өнімділікті қадағалаушы - Raspberry Pi арқылы жұмыс істейді
Өнімділікті қадағалаушы - Raspberry Pi арқылы жұмыс істейді
Өнімділікті қадағалаушы - Raspberry Pi арқылы жұмыс істейді
Өнімділікті қадағалаушы - Raspberry Pi арқылы жұмыс істейді
Өнімділікті қадағалаушы - Raspberry Pi арқылы жұмыс істейді
Өнімділікті қадағалаушы - Raspberry Pi арқылы жұмыс істейді

Өнімділікті қадағалаушы - бұл сиқырлы айна, бірақ уақытты, ауа райын және ынталандыратын цитатаны көрсетудің орнына 4 нәрсені көрсетеді;

Сол күні компьютер мен телефондағы өнімді материалға қанша уақыт жұмсағаныңыздың пайызы. (RescueTime)

Треллоның істер тізімі

Кешегі уақытпен салыстырғанда сіз қолданған бағдарламалар мен қосымшалардың санаттарымен қанша уақыт өткізгеніңізді көрсететін радарлық график. (RescueTime)

Апталық шолу. (RescueTime)

Егер сіз өнімді материалға жұмсалған уақыттың пайызы 50% -дан асатын болса, жарық диодтары ашық жасыл түсті көрсетеді. Егер ол 50% -дан төмен болса, ол қызыл түсті көрсетеді, бұл сізге өнімділікті көрсетеді! Мақсатты өзіңіз де қоя аласыз.

Контур

Бірінші қадамда мен өнімділікті қадағалаудың идеясын түсіндіремін. Содан кейін мен сізге екі түрлі құралдар мен бөлшектер тізімін беремін, осылайша сіз дәнекерлеу дағдыларын қажет етпейтін жобаның толық нұсқасын немесе негізгі нұсқасын жасай аласыз (жарық диодты шамдар жоқ). Кейінірек мен сізге жобаның нұсқасын қалай прототиптегенімді көрсетемін, осылайша сізде өз прототипіңізді қалай модельдеу керектігі туралы түсінік бар. Сондай -ақ, мен код бөлімінде егжей -тегжейлі қарастырамын, осылайша сіз кодты өз қажеттіліктеріңізге қарай баптай аласыз. Соңында, мен сізге осы құрастыру кезінде тап болған мәселелерге негізделген проблемаларды шешуге арналған нұсқаулық беремін. Және сұрақтарыңызбен тізімді кеңейтіңіз.

Бұл нұсқаулықтың мақсаты сізге ас әзірлеу кітабын беру ғана емес. Мен сізге бұл жобаны қалай құрғанымды көрсетемін және сізге ашық сұрақтар қоямын, осылайша сіз өз ойыңызды қоса аласыз және бұл жобаны одан әрі қарай жалғастыра аласыз. Мен сіздің құрылысыңыз аяқталғаннан кейін бөлісуге шақырамын! Бастайық.

1 -қадам: Идея

Ой
Ой

Мен бұл Нұсқаулықты жазуға бірнеше ай бойы ниет еттім. Бірақ ескі досым «Кейінге қалдыру» деген атпен рұқсат бермеді. Кейінге қалдыру - бұл тапсырманы немесе тапсырмалар жиынтығын кейінге қалдыру немесе кейінге қалдыру және сол тапсырмаларды орындаудың орнына уақытты YouTube -тің қараңғы тереңдігінен бейнелерді қарауға толтыру.

Бір күні кешіктіру туралы мақаланы оқып отырып, менің проблемамды шешуге көмектесетін бірнеше қосымшалар/бағдарламалар кездесті, тапсырмаларды басқару үшін Trello және уақытты басқару бағдарламасы ретінде RescueTime. Екеуі де менің қажеттіліктерім үшін өте жақсы жұмыс жасады, кем дегенде бір уақыт. Біраз уақыттан кейін мен қосымшаларды тексеруді мүлде тоқтатып, хабарландыруларды елемедім. Міне, мен бұл жобаны ойлап таптым. Мен қосымшалардың деректерін қабырғаға ілулі тұрған айнада көрсететін едім. Осылайша жауапкершіліктен құтыла алмадым.

Менің жобам үшін бірінші сызба өте қарапайым болды. Мен RescueTime API -ді өнімді/таралмайтын жұмыс пайызын көрсету үшін қолданар едім. Ал Trello API-ді қолданып, бір күндік істер тізімімді көрсетіңіз. Бірақ біраз уақыттан кейін мен келесі қадамдарда егжей -тегжейлі алатын қосымша мүмкіндіктерді қостым.

2 -қадам: Құралдар мен бөлшектер

Ескерту: Бұл менің құрастыру кезінде қолданған құралдар тізімі, олар сіздің құрастыру үшін бірдей болуы міндетті емес!

База үшін:

7х15 см көлеміндегі 4 метрлік ағаш ағаш - 6 $ - Бұл сіздің экран өлшеміне байланысты

30x40 см бір жақты айна - экран өлшеміне байланысты

25x35 см Samsung мониторы - 15 $ - Барахолкадан табылды. кез келген монитор жасайды

Таңқурай Pi 3 моделі B- 35 $ - Raspberry pi 2 де жақсы, бірақ сізге wifi модулі қажет

HDMI кабелі - 2 доллар

Жарықдиодты найзағай үшін:

200см smd5050 RGB светодиодты жолағы - 4 $ - Бұл кейінірек smd5050 болуы керек …

  • Үш N -арналы MOSFET (мысалы, IRLZ34N) - 2 $
  • 12В -2А қуат адаптері - 3,15 доллар
  • ПХД прототиптеу - 1 доллар

Құралдар:

  • Ағаш ара
  • Ағаш желімі
  • Пісіру үтігі (жарық диодты жарықтандыру үшін)

3 -қадам: Кодекс

Кодекс
Кодекс

Бұл қадам 3 бөліктен тұрады, сізге алдыңғы қадамда көрсетілген барлық бөліктер қажет емес. Raspberry Pi мен сіз осы жобада қолданатын монитор прототиптік кезеңге жеткілікті болуы керек.

Raspberry Pi құрылғысын орнату

Егер сіз Raspberry Pi -ді орнатпаған болсаңыз, оны жалғастырыңыз. Бұл құрастыру үшін сізге веб-сервер үшін Apache және PHP-LED контроллерін орнату қажет.

Apache орнату үшін осы ресми нұсқаулықты орындаңыз.

PHP-LED контроллерін орнату үшін Кристиан Никканеннің осы нұсқаулығын орындаңыз

Енді index.php файлын жоба репозиторийінен Raspberry Pi -ге жүктеп алып, мына жолға қойыңыз:

/var/www/html/

Егер сіз Linux терминалында файлдарды жылжытуды білмесеңіз, бастау үшін осы нұсқаулықты қарай аласыз.

Кодты теңшеңіз

Ескерту: Егер сіз басқа мониторды қолдансаңыз, бұл бөлік HTML/CSS туралы аздап білімді қажет етеді.

Теңшеу index.php файлында жасалады, ол осы құрылыстың ошағы болып табылады. Алдымен мониторды Raspberry Pi -ге қосыңыз, егер жоқ болса.

Енді сіз index.php файлын ашуға тырыссаңыз, ол жұмыс істемейді, себебі алдымен API кілттерін кодқа толтыру қажет, ол үшін RescueTime веб -сайтына кіріп, шот ашыңыз. Әрі қарай, әзірлеуші бөліміне өтіп, осы кілтті белсендіру түймесін басу арқылы API кілтін жасаңыз. API кілтін бір жерге жазыңыз.

Trello API кілті үшін де осылай жасаңыз, тіркелгі ашыңыз және API кілтін жасау үшін әзірлеуші порталына өтіңіз.

Содан кейін/var/www/html/ішіне енгізген index.php файлын сүйікті мәтіндік редакторда ашыңыз және сәйкесінше RescueTime мен Trello -дан алынған API API кілтімен [API_KEY] ауыстырыңыз. [List_number]-бұл Trello істер тізімі үшін пайдаланылатын тізім нөмірі. Бұл нөмірді алу үшін алдымен Trello-да жаңа тізім жасаңыз және оны «Іс» деп атаңыз, бұл сіздің тізіміңіз үшін қолданылатын тізім және ол айнада пайда болады.

Содан кейін мекенжай жолағындағы URL мекенжайын алыңыз:

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

және оған.json қосыңыз:

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

және enter пернесін басыңыз, содан кейін сіз экранда кодты көресіз. Тізім атауын табуға тырысыңыз. бұл сан index.php файлында [list_number] болады.

Енді шолғышты ашып, мекенжай жолағына localhost теріңіз және enter пернесін басыңыз. Сіз өзіңіздің деректеріңізді диаграммада көрсетілгенін көруіңіз керек.

Ескерту: Монитордың ажыратымдылығына байланысты графиктердің орналасуы әр түрлі болуы мүмкін. Сіз кодтың CSS бөлігіндегі элементтердің енін, биіктігін және орналасуын өңдей аласыз.

Енді монитордың айналасындағы қорапты жобалау және жарықдиодты шамдарды қосу ғана қалады.

Ескерту: Егер сіз API -ге егжей -тегжейлі қызығушылық танытпасаңыз, келесі қадамға өтуге болады. API бөлігінде мен барлық бағдарламаның қалай жұмыс істейтінін және API -ден деректерді алатынын егжей -тегжейлі білемін.

API (егжей -тегжейлі)

Бұл жобаның ошағы - екі API;

  • Trello API
  • RescueTime API

Құжаттамада егжей -тегжейлі ақпарат болса да, мен бұл жобаның API -ден қандай деректерді қолданатынын түсіндіремін.

Уақытты басқару бөлігінде RescueTime API қоңырауы ағымдағы уақыт туралы ақпаратты алады:

«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»

қайда, дата ('Y-m-d')-ағымдағы күн

перспектива = ранг - бұл деректерді сұрыптау түрі, бұл жағдайда «разряд» көп уақытты құрайды

Бұл қоңырау келесідей JSON форматындағы файлды береді: (осы қадамның соңында data.json қараңыз)

Біз бұл файлдан пайдаланатын деректер -«Өткізілген уақыт (секунд)» және «Өнімділік», ол -2 мен 2 арасындағы мәндерге ие, -2 алаңдатады және 2 өнімді. Бұл деректермен біз өнімділік көрсеткіші үшін 100 -ден жоғары мән жасай аламыз.

RescueTime басқа API қоңырауы, «https://www.rescuetime.com/anapi/daily_summary_feed?key=[API_KEY]»

Бұл сізге деректердің апталық жиынтығын береді, ол келесідей көрінеді: (осы қадамның соңында Summary.json қараңыз.) Мен бұл деректерді аптаның шолуын беретін апта сайынғы жиынтық графикті жасау үшін қолдандым.

Trello API қоңырауы, «https://api.trello.com/1/lists/ [list_number]/cards?fields=name&key=[API_KEY]&token= [айтылған]»

Бұл сізге Trello тізіміндегі карталарды береді:

[{«id»: «5a4160103bfcd14994852f59», «name»: «ceylan cinemagraph»}, {«id»: «59e8241f6aa8662a51eb7de6», «name»: «GitHuB үйрен»}, {«id»: «5981c32877ad «:» Нұсқаулықты жариялау «}, {» id «:» 5a341dba7f17d235d7c5bbd1 «,» name «:» ҒАРЫШТЫҚ БАҒДАРЛАМА «}]

қайтадан сол карталардағы мәтінді тартып, оны басқа жерге қоюға болады.

data.json

JSON деректері пішімделген
{
«ескертулер»: «деректер - бұл массивтердің (жолдардың) жиыны, row_headers жолдарының баған атаулары»,
«row_headers»: [
«Дәреже»,
«Өткізілген уақыт (секунд)»,
«Адам саны»,
«Белсенділік»,
«Санат»,
«Өнімділік»
],
«қатарлар»: [
[
1,
1536,
1,
«en.0wikipedia.org»,
«Санатталмаған»,
0
],
[
2,
1505,
1,
«youtube.com»,
«Бейне»,
-2
],
[
3,
1178,
1,
«OpenOffice»,
«Жазу»,
2
],
[
4,
709,
1,
«moodle.bilkent.edu.tr»,
«Жалпы сілтеме & Оқыту»,
2
],
[
5,
602,
1,
«google.com.tr»,
«Іздеу»,
2
],
[
6,
439,
1,
«reddit.com»,
«Жалпы жаңалықтар / Пікір»,
-2
],
[
7,
437,
1,
«tr.sharelatex.com»,
«Жазу»,
2
],
[
8,
361,
1,
«yemeksepeti.com»,
«Жалпы сауда»,
-2
],
[
9,
356,
1,
«Gmail»,
«Электрондық пошта»,
0
],
[
10,
328,
1,
«Google Chrome»,
«Браузерлер»,
0
],
[
11,
207,
1,
«жұлдыздар.bilkent.edu.tr»,
«Жалпы сілтеме & Оқыту»,
2
],
[
12,
179,
1,
«WhatsApp»,
«Жедел хабар»,
-1
],

GitHub ❤ арқылы орналастырылған rawdata.json файлын қарау

қорытынды.json

[
{
«id»: 1515657600,
«дата»: «2018-01-11»,
«өнімділік_пульсі»: 54,
«өте_өнімді_процент»: 34.2,
«өнімді_пайыз»: 10,6,
«бейтарап_процент»: 25,6,
«алаңдаушылық_пайыз»: 0,0,
«өте_бөлінетін_ пайыз»: 29,6,
«барлық_өнімді_процент»: 44.8,
«барлығы_бөлінетін_ пайыз»: 29,6,
«санатсыз_ пайыз»: 16.1,
«business_centcentage»: 6.0,
«байланыс_және_жоспарлау_ пайызы»: 4.3,
«әлеуметтік_желілік_процент»: 0,0,
«design_and_composition_percentage»: 0.0,
«сауық_пайызы»: 15.2,
«жаңалықтар_ пайызы»: 3.3,
«бағдарламалық қамтамасыз етудің_ дамуының %»: 5.4,
«сілтеме_және_оқу_проценті»: 22.8,
«сатып алу_ пайызы»: 12,9,
«коммуналдық қызметтердің пайызы»: 14.1,
«total_hours»: 2.51,
«өте_продуктивті_сағаттар»: 0,86,
«өнімді_сағаттар»: 0,27,
«нейтралды_сағаттар»: 0,64,
«distracting_hours»: 0.0,
«өте_бөлінетін_сағаттар»: 0,74,
«all_productive_hours»: 1.12,
«all_distracting_hours»: 0,74,
«санатсыз_сағаттар»: 0,4,
«business_hours»: 0.15,
«байланыс_және_жоспарлау_сағаты»: 0.11,
«social_networking_hours»: 0.0,
«design_and_composition_hours»: 0.0,
«ойын -сауық сағаттары»: 0.38,
«news_hours»: 0.08,
«бағдарламалық жасақтама_жасау_сағаты»: 0.13,
«reference_and_learning_hours»: 0.57,
«shopping_hours»: 0.32,
«utility_hours»: 0.35,
«total_duration_formatted»: «2h 30m»,
«өте_продуктивті_ұзақтық_форматталған»: «51м 26с»,
«өнімді_ұзақтық_форматталған»: «15м 56с»,
«нейтралды_ұзақтық_форматталған»: «38м 34с»,
«distracting_duration_formatted»: «уақыт жоқ»,
«very_distacting_duration_formatted»: «44м 30с»,
«барлығы_өнімді_ұзақтық_форматталған»: «1сағ 7м»,
«all_distracting_duration_formatted»: «44м 30с»,
«uncategorized_duration_formatted»: «24м 11с»,
«business_duration_formatted»: «9м 6s»,
«байланыс_және жоспарлау_ұзақтығы_форматталған»: «6м 26с»,
«social_networking_duration_formatted»: «уақыт жоқ»,
«design_and_composition_duration_formatted»: «уақыт жоқ»,
«ойын -сауық_ұзақтығы_форматталған»: «22м 49с»,
«news_duration_formatted»: «4м 55с»,
«software_development_duration_formatted»: «8m 3s»,
«сілтеме_және_оқудың_ұзақтығы_форматталған»: «34м 17с»,
«shopping_duration_formatted»: «19м 22с»,
«utility_duration_formatted»: «21м 17с»
},
{
«id»: 1515571200,
«дата»: «2018-01-10»,
«өнімділік_пульсі»: 33,
«өте_өнімді_процент»: 21.9,
«өнімді_пайыз»: 2.3,
«бейтарап_ пайыз»: 14.4,
«назар аударатын_ пайыз»: 11.0,
«өте_бөлінетін_процент»: 50.3,
«барлық_өнімді_процент»: 24.2,
«барлығы_шығару_проценті»: 61.4,
«санатсыз_ пайыз»: 0,3,
«business_centcentage»: 0.0,
«байланыс_және_жоспарлау_ пайызы»: 13.5,
«әлеуметтік_желілік_процент»: 0,0,
«дизайн_және_композиция_проценті»: 6.3,
«сауық_пайызы»: 44,7,
«жаңалықтар_ пайызы»: 4.2,
«бағдарламалық жасақтама_даму_проценті»: 0,0,
«сілтеме_және_оқу_проценті»: 15.5,
«shopping_centcentage»: 0.0,
«коммуналдық қызметтердің пайызы»: 15.4,
«total_hours»: 2.24,
«өте_продуктивті_сағаттар»: 0,49,
«өнімді_сағаттар»: 0,05,
«neytral_hours»: 0.32,
«distracting_hours»: 0.25,
«өте_бөлінетін_сағаттар»: 1.13,
«all_productive_hours»: 0.54,
«all_distracting_hours»: 1.37,
«санатталмаған_сағаттар»: 0,01,
«business_hours»: 0,0,
«байланыс_және_жоспарлау_сағаты»: 0.3,
«social_networking_hours»: 0.0,
«design_and_composition_hours»: 0.14,
«ойын -сауық сағаттары»: 1.0,
«news_hours»: 0.09,
«бағдарламалық жасақтама_жасау_сағаты»: 0.0,
«reference_and_learning_hours»: 0.35,
«shopping_hours»: 0.0,
«utility_hours»: 0.34,
«total_duration_formatted»: «2h 14m»,
«өте_өнімді_ұзақтық_форматталған»: «29м 22с»,
«өнімді_ұзақтық_форматталған»: «3м 8сек»,
«нейтралды_ұзақтық_форматталған»: «19м 18с»,
«distracting_duration_formatted»: «14м 48с»,
«өте_бөлінетін_ұзақтық_форматталған»: «1сағ 7м»,
«all_productive_duration_formatted»: «32м 30с»,
«all_distacting_duration_formatted»: «1h 22m»,
«uncategorized_duration_formatted»: «27s»,
«business_duration_formatted»: «1s»,
«байланыс_және жоспарлау_ұзақтығы_форматталған»: «18м 5сек»,
«social_networking_duration_formatted»: «уақыт жоқ»,
«design_and_composition_ ұзақтығы_форматталған»: «8м 30с»,
«сауық_ұзақтығы_форматталған»: «59м 54с»,
«news_duration_formatted»: «5м 39с»,
«software_development_duration_formatted»: «уақыт жоқ»,
«сілтеме_және_оқудың_ұзақтығы_форматталған»: «20м 51с»,
«shopping_duration_formatted»: «уақыт жоқ»,
«utility_duration_formatted»: «20м 39с»
},
{
«id»: 1515484800,
«дата»: «2018-01-09»,
«өнімділік_пульсі»: 68,
«өте_өнімді_пайыз»: 60,4,
«өнімді_пайыз»: 0,5,
«бейтарап_ пайыз»: 11.0,
«назар аударатын_ пайыз»: 7.1,
«өте_тексеруші_процент»: 21.0,
«барлық_өнімді_процент»: 60.9,
«барлығы_бөлінетін_процент»: 28.1,
«категориясыз_ пайыз»: 9.1,
«бизнес -пайыз»: 21,9,
«байланыс_және_жоспарлау_ пайызы»: 7.2,
«әлеуметтік_желі_проценті»: 5.1,
«design_and_composition_percentage»: 1.2,
«сауық_пайызы»: 1,6,
«news_centcentage»: 12.5,
«бағдарламалық жасақтаманың_жазылу_проценті»: 9.1,
«сілтеме_және_оқу_проценті»: 28.2,
«сатып алу_проценті»: 2.9,
«коммуналдық қызметтердің пайызы»: 1.2,
«total_hours»: 2.78,
«өте_продуктивті_сағаттар»: 1.68,
«өнімді_сағаттар»: 0,01,
«neytral_hours»: 0.31,
«distracting_hours»: 0,2,
«өте_бөлінетін_сағаттар»: 0.58,
«all_productive_hours»: 1.69,
«all_distracting_hours»: 0,78,
«санатсыз_сағаттар»: 0,25,
«business_hours»: 0,61,
«байланыс_және_жоспарлау_сағаты»: 0,2,
«social_networking_hours»: 0.14,
«design_and_composition_hours»: 0,03,
«сауық_сағаты»: 0,04,
«news_hours»: 0.35,
«software_development_hours»: 0.25,
«сілтеме_және_оқу_сағаты»: 0,78,
«shopping_hours»: 0,08,
«utility_hours»: 0,03,
«total_duration_formatted»: «2h 46m»,
«өте_өнімді_ұзақтық_форматталған»: «1сағ 40м»,
«өнімді_ұзақтық_форматталған»: «47 -ші жылдар»,
«нейтралды_ұзақтық_форматталған»: «18м 23с»,
«distracting_duration_formatted»: «11м 49с»,
«very_distracting_duration_formatted»: «34м 57с»,
«барлық_өнімді_ұзақтық_форматталған»: «1сағ 41м»,
«all_distracting_duration_formatted»: «46m 46s»,
«uncategorized_duration_formatted»: «15м 7с»,
«business_duration_formatted»: «36м 26с»,
«байланыс_және_жоспарлау_ұзақтығы_форматталған»: «11м 59с»,
«social_networking_duration_formatted»: «8м 28с»,
«design_and_composition_ ұзақтығы_форматталған»: «2м 4с»,
«ойын -сауық_ұзақтығы_форматталған»: «2м 39с»,
«news_duration_formatted»: «20м 49с»,
«software_development_duration_formatted»: «15m 5s»,
«сілтеме_және_оқудың_ұзақтығы_форматталған»: «46м 59с»,
«shopping_duration_formatted»: «4м 51с»,
«utility_duration_formatted»: «2м 3с»
}
]

GitHub ұсынған ❤ арқылы rawsummary.json қарау

4 -қадам: прототиптеу

2017 жылы Raspberry Pi байқауының бас жүлдесі

Ұсынылған: