جدول المحتويات:

متتبع الإنتاجية - بدعم من Raspberry Pi: 9 خطوات (بالصور)
متتبع الإنتاجية - بدعم من Raspberry Pi: 9 خطوات (بالصور)

فيديو: متتبع الإنتاجية - بدعم من Raspberry Pi: 9 خطوات (بالصور)

فيديو: متتبع الإنتاجية - بدعم من Raspberry Pi: 9 خطوات (بالصور)
فيديو: من زينو نهار اليوم ØµØ Ø¹ÙŠØ¯ÙƒÙ… انشر الفيديو Øتى يراه كل Ø§Ù„Ø 2024, شهر نوفمبر
Anonim
تعقب الإنتاجية - بدعم من Raspberry Pi
تعقب الإنتاجية - بدعم من Raspberry Pi
تعقب الإنتاجية - بدعم من Raspberry Pi
تعقب الإنتاجية - بدعم من Raspberry Pi
تعقب الإنتاجية - بدعم من Raspberry Pi
تعقب الإنتاجية - بدعم من Raspberry Pi

يعد برنامج Productivity Tracker مرآة سحرية ، ولكن بدلاً من عرض الوقت والطقس والاقتباس المحفز ، فإنه يعرض 4 أشياء ؛

النسبة المئوية للوقت الذي قضيته في المواد الإنتاجية على جهاز الكمبيوتر والهاتف الخاص بك لذلك اليوم. (RescueTime)

قائمة مهامك من Trello

رسم بياني راداري يوضح مقدار الوقت الذي تقضيه جنبًا إلى جنب مع فئات البرامج-التطبيقات التي استخدمتها مقارنة باستخدام الأمس. (RescueTime)

نظرة عامة أسبوعية. (RescueTime)

وإذا كانت النسبة المئوية للوقت الذي تقضيه في المواد الإنتاجية تزيد عن 50٪ ، فستعرض مصابيح LED لونًا أخضر ساطعًا. إذا كان أقل من 50٪ ، فسيعرض لونًا أحمر ، مما يشير إلى أنك أكثر إنتاجية! يمكنك أيضًا تحديد هدف بنفسك.

الخطوط العريضة

في الخطوة الأولى ، سأشرح الفكرة الكامنة وراء أداة تعقب الإنتاجية. بعد ذلك ، سأعطيك اثنين من الأدوات المختلفة وقائمة الأجزاء ، حتى تتمكن من إنشاء المشروع الكامل أو إصدار أساسي (لا يتضمن مصابيح LED) لا يتطلب مهارات لحام. سأوضح لك لاحقًا كيف صممت نموذجًا أوليًا لنسخة المشروع الخاصة بي ، بحيث يكون لديك فكرة عن كيفية تصميم النموذج الأولي الخاص بك. أيضًا ، سوف أتطرق إلى التفاصيل في قسم الكود حتى تتمكن من تخصيص الكود لاحتياجاتك الخاصة. في النهاية ، سأقدم لك دليلًا لحل المشكلات استنادًا إلى المشكلات التي واجهتها أثناء هذا الإصدار. وقم بتوسيع القائمة بأسئلتك.

الغرض من هذا الدليل ليس فقط إعطائك كتاب طبخ. سأوضح لك الطريقة التي أنشأت بها هذا المشروع وسأزودك بأسئلة مفتوحة ، حتى تتمكن من إضافة أفكارك الخاصة ، والمضي قدماً في هذا المشروع إلى أبعد من ذلك. أنا أشجعك بشدة على مشاركة التصميم الخاص بك عند الانتهاء! هيا بنا نبدأ.

الخطوة 1: الفكرة

الفكرة
الفكرة

لقد كنت أنوي كتابة هذا Instructable منذ شهور. لكن صديقي القديم الذي يطلق عليه اسم "التسويف" لم يسمح لي بذلك. التسويف هو عملية تأخير أو تأجيل مهمة أو مجموعة مهام ، وبدلاً من القيام بهذه المهام ، شغل الوقت بمشاهدة مقاطع الفيديو من الأعماق المظلمة لموقع YouTube.

ذات يوم أثناء قراءة مقال عن التسويف ، صادفت العديد من التطبيقات / البرامج التي من شأنها مساعدتي في حل مشكلتي ، Trello كتطبيق لإدارة المهام و RescueTime كتطبيق لإدارة الوقت. كلاهما يعمل بشكل مثالي لاحتياجاتي ، لفترة على الأقل. بعد فترة ، توقفت عن التحقق من التطبيقات تمامًا وتجاهلت الإشعارات. هذا عندما توصلت إلى هذا المشروع. أود عرض البيانات من التطبيقات على مرآة معلقة على الحائط. بهذه الطريقة لم يكن هناك مفر من مسؤولياتي.

كانت المسودة الأولى لمشروعي بسيطة إلى حد ما. سأستخدم RescueTime API لعرض نسبة العمل الإنتاجية / المشتتة. واستخدم واجهة برمجة تطبيقات Trello لعرض قائمة المهام الخاصة بي لهذا اليوم. لكن بعد فترة ، أضفت المزيد من الميزات التي سأحصل عليها بالتفصيل في الخطوات التالية.

الخطوة 2: الأدوات والأجزاء

ملاحظة: هذه قائمة بالأدوات التي استخدمتها أثناء بنائي ، وليس من الضروري أن تكون هي نفسها في بنائك!

للقاعدة:

4 أمتار من Playwood مقاس 7 × 15 سم - 6 دولارات - يعتمد ذلك على حجم شاشتك

مرآة من جانب واحد مقاس 30x40 سم - تعتمد على حجم شاشتك

شاشة Samsung مقاس 25 × 35 سم - 15 دولارًا - موجودة في سوق للسلع الرخيصة والمستعملة. أي شاشة ستفعل

Raspberry Pi 3 Model B- 35 $ - Raspberry pi 2 جيد أيضًا ولكنك ستحتاج إلى وحدة wifi

كابل HDMI - 2 دولار

ليد لايتنينغ:

شريط ليد 200 سم smd5050 RGB - 4 دولارات - يجب أن يكون smd5050 المزيد حول هذا لاحقًا …

  • ثلاث وحدات MOSFET ذات قنوات N (مثل IRLZ34N) - 2 دولار
  • محول طاقة 12 فولت -2 أمبير - 3.15 دولار
  • النماذج الأولية لثنائي الفينيل متعدد الكلور - 1 دولار

أدوات:

  • منشار الخشب
  • غراء الخشب
  • لحام الحديد (لإضاءة LED)

الخطوة الثالثة: الكود

الرمز
الرمز

ستكون هذه الخطوة في 3 أجزاء ، لست بحاجة إلى جميع الأجزاء المذكورة في الخطوة السابقة. يجب أن يكون Raspberry Pi والشاشة التي ستستخدمها لهذا المشروع كافيين لمرحلة إنشاء النماذج الأولية.

إعداد Raspberry Pi الخاص بك

إذا لم تقم بتعيين Raspberry Pi الخاص بك ، فابدأ وقم بذلك هنا. بالنسبة لهذا الإصدار ، ستحتاج إلى تثبيت Apache لخادم الويب ووحدة التحكم PHP-LED.

لتثبيت Apache ، اتبع هذا الدليل الرسمي.

لتثبيت وحدة تحكم PHP-LED ، اتبع هذا الدليل بواسطة Christian Nikkanen

الآن قم بتنزيل ملف index.php من مستودع المشروع إلى Raspberry Pi وضعه على هذا المسار:

/ var / www / html /

إذا لم تكن معتادًا على نقل الملفات في Linux Terminal ، فيمكنك إلقاء نظرة على هذا الدليل لتبدأ.

تخصيص الكود

ملاحظة: يتطلب هذا الجزء القليل من معرفة HTML / CSS إذا كنت تستخدم شاشة مختلفة.

سيتم إجراء التخصيص على ملف index.php وهو قلب هذا البناء. انتقل الآن وقم بتوصيل شاشتك بـ Raspberry Pi إذا لم تكن قد فعلت ذلك بالفعل.

الآن إذا حاولت فتح ملف index.php فلن يعمل لأنه يجب عليك أولاً ملء مفاتيح API في الكود ، لذلك انتقل إلى موقع RescueTime وافتح حسابًا. بعد ذلك ، انتقل إلى قسم المطور وقم بإنشاء مفتاح API بالضغط على Activate This Key. اكتب مفتاح API الخاص بك إلى مكان ما.

افعل الشيء نفسه لمفتاح Trello API الخاص بك ، افتح حسابًا وانتقل إلى بوابة المطور لإنشاء مفتاح API.

بعد ذلك ، افتح ملف index.php الذي وضعته في / var / www / html / في محرر النصوص المفضل لديك ، واستبدل [API_KEY] بمفتاح API الخاص بك الذي حصلت عليه من RescueTime و Trello وفقًا لذلك. [list_number] هو رقم القائمة الذي تستخدمه لقائمة المهام الخاصة بك في Trello. للحصول على هذا الرقم ، قم أولاً بإنشاء قائمة جديدة على Trello وقم بتسميتها "To-Do" ، ستكون هذه القائمة التي ستستخدمها لقائمة مهامك وستظهر على المرآة.

بعد ذلك ، خذ عنوان URL الموجود في شريط العناوين الخاص بك والذي يبدو كما يلي:

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

وأضف إليها.json مثل هذا:

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

واضغط على Enter ، سترى بعد ذلك رسالة برمجية على الشاشة. حاول العثور على اسم قائمتك '' To-Do "في تلك الفوضى. يجب أن يبدو شيئًا مثل هذا: {" name ":" To Do "،" id ":" 5981c123cd1b23f13907cd18 "} ، هذا المعرف هو معرف القائمة الخاص بك. ضع هذا الرقم إلى [list_number] في ملف index.php.

افتح الآن متصفحك واكتب localhost في شريط العناوين واضغط على Enter. يجب أن تشاهد بياناتك معروضة على الرسوم البيانية.

ملاحظة: قد تختلف مواضع الرسوم البيانية بسبب دقة الشاشة التي تستخدمها. يمكنك تعديل عرض العناصر وارتفاعها وموقعها في جزء CSS من الكود.

كل ما تبقى الآن هو تصميم مربع حول الشاشة وتوصيل مصابيح LED.

ملاحظة: إذا لم تكن مهتمًا بواجهة برمجة التطبيقات بالتفصيل ، يمكنك التخطي إلى الخطوة التالية. في الجزء الخاص بواجهة برمجة التطبيقات ، سأتحدث بالتفصيل عن كيفية عمل البرنامج بأكمله والحصول على البيانات من واجهات برمجة التطبيقات.

API (بالتفصيل)

موقد هذا المشروع هو اثنين من واجهات برمجة التطبيقات.

  • واجهة برمجة تطبيقات Trello
  • RescueTime 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 لنتيجة الإنتاجية.

استدعاء API آخر لبرنامج RescueTime ،

"https://www.rescuetime.com/anapi/daily_summary_feed؟key=[API_KEY]"

مما يمنحك ملخصًا أسبوعيًا لبياناتك ، والذي يبدو كالتالي: (انظر إلى abstract.json في نهاية هذه الخطوة). لقد استخدمت هذه البيانات لإنشاء الرسم البياني الموجز الأسبوعي الذي يمنحك نظرة عامة على الأسبوع.

استدعاء Trello API ،

"https://api.trello.com/1/lists/[list_number]/cards؟fields=name&key=[API_KEY]&token=[Token]"

سيعطيك هذا البطاقات الموجودة في قائمة Trello الخاصة بك مثل هذا:

[{"id": "5a4160103bfcd14994852f59"، "name": "ceylan cinemagraph"}، {"id": "59e8241f6aa8662a51eb7de6"، "name": "Learn GitHuB"}، {"id": "5981c19577c732 "f826ad ":" Publish Instructible "}، {" id ":" 5a341dba7f17d235d7c5bbd1 "،" name ":" SPACE PROGRAM "}]

مرة أخرى يمكنك سحب النص على تلك البطاقات ووضعه في مكان آخر.

data.json

بيانات JSON المنسقة
{
"ملاحظات": "البيانات عبارة عن مصفوفة من المصفوفات (الصفوف) وأسماء الأعمدة للصفوف في row_headers" ،
"row_headers": [
"مرتبة"،
"الوقت المنقضي (بالثواني)" ،
"عدد الاشخاص"،
"نشاط"،
"فئة"،
"إنتاجية"
],
"صفوف": [
[
1,
1536,
1,
"en.0wikipedia.org" ،
"غير مصنف"،
0
],
[
2,
1505,
1,
"youtube.com" ،
"فيديو"،
-2
],
[
3,
1178,
1,
"مكتب مفتوح"،
"كتابة"،
2
],
[
4,
709,
1,
"moodle.bilkent.edu.tr"،
"المرجع العام \u0026 التعلم" ،
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,
"جوجل كروم"،
"المستعرضات"،
0
],
[
11,
207,
1,
"stars.bilkent.edu.tr"،
"المرجع العام \u0026 التعلم" ،
2
],
[
12,
179,
1,
"ال WhatsApp"،
"رسالة فورية"،
-1
],

عرض rawdata.json مستضاف مع ❤ بواسطة GitHub

الملخص

[
{
"المعرف": 1515657600 ،
"التاريخ": "2018-01-11"،
"نبضات الإنتاجية": 54 ،
"نسبة_إنتاجية_ كبيرة": 34.2 ،
"نسبة_إنتاجية": 10.6 ،
"النسبة_المحايدة": 25.6 ،
"distracting_percentage": 0.0 ،
"very_distracting_percentage": 29.6 ،
"all_product_percentage": 44.8 ،
"all_distracting_percentage": 29.6 ،
"نسبة_غير مصنف": 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 ،
"shopping_percentage": 12.9 ،
"utilities_percentage": 14.1 ،
"total_hours": 2.51،
"ساعات_منتجة جدًا": 0.86 ،
"ساعات_إنتاجية": 0.27 ،
"الساعات_المحايدة": 0.64 ،
"distracting_hours": 0.0،
"very_distracting_hours": 0.74 ،
"all_product_hours": 1.12 ،
"all_distracting_hours": 0.74 ،
"ساعات_غير مصنف": 0.4 ،
"ساعات_العمل": 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 ،
"ساعات_المساعدة": 0.35 ،
"total_duration_formatted": "2h 30m"،
"very_produc_duration_formatted": "51m و 26 s"،
"production_duration_formatted": "15 دقيقة و 56 ثانية"،
"utral_duration_formatted ":" 38 دقيقة و 34 ثانية "،
"distracting_duration_formatted": "لا وقت"،
"very_distracting_duration_formatted": "44 دقيقة و 30 ثانية"،
"all_produc_duration_formatted": "1h 7m"،
"all_distracting_duration_formatted": "44 دقيقة و 30 ثانية"،
"uncategorized_duration_formatted": "24 دقيقة و 11 ثانية"،
"business_duration_formatted": "9 أشهر 6 ثوانٍ"،
"communication_and_scheduling_duration_formatted": "6m و 26 s"،
"social_networking_duration_formatted": "لا وقت" ،
"design_and_composition_duration_formatted": "لا وقت" ،
"Entertainment_duration_formatted": "22m 49s"،
"news_duration_formatted": "4 دقائق و 55 ثانية"،
"software_development_duration_formatted": "8m 3s"،
"reference_and_learning_duration_formatted": "34 دقيقة و 17 ثانية"،
"shopping_duration_formatted": "19 دقيقة و 22 ثانية"،
"utilities_duration_formatted": "21 دقيقة و 17 ثانية"
},
{
"المعرف": 1515571200 ،
"التاريخ": "2018-01-10"،
"نبضات الإنتاجية": 33 ،
"نسبة_إنتاجية_جدة": 21.9 ،
"نسبة_إنتاجية": 2.3 ،
"النسبة_المحايدة": 14.4 ،
"distracting_percentage": 11.0 ،
"very_distracting_percentage": 50.3 ،
"all_product_percentage": 24.2 ،
"all_distracting_percentage": 61.4 ،
"نسبة_غير مصنف": 0.3 ،
"business_percentage": 0.0 ،
"نسبة_التواصل_والجدولة_النسبة": 13.5 ،
"social_networking_percentage": 0.0 ،
"design_and_composition_percentage": 6.3 ،
"Entertainment_percentage": 44.7 ،
"news_percentage": 4.2 ،
"software_development_percentage": 0.0 ،
"reference_and_learning_percentage": 15.5 ،
"shopping_percentage": 0.0،
"utilities_percentage": 15.4 ،
"total_hours": 2.24،
"ساعات_منتجة جدًا": 0.49 ،
"ساعات_إنتاجية": 0.05 ،
"الساعات_المحايدة": 0.32 ،
"distracting_hours": 0.25 ،
"very_distracting_hours": 1.13 ،
"all_product_hours": 0.54 ،
"all_distracting_hours": 1.37 ،
"ساعات_غير مصنف": 0.01 ،
"ساعات_العمل": 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،
"ساعات_المساعدة": 0.34 ،
"total_duration_formatted": "2h 14m"،
"very_produc_duration_formatted": "29m 22s"،
"Product_duration_formatted": "3m 8s"،
"utral_duration_formatted ":" 19 دقيقة و 18 ثانية "،
"distracting_duration_formatted": "14m 48s"،
"very_distracting_duration_formatted": "1h 7m"،
"all_produc_duration_formatted": "32m 30s"،
"all_distracting_duration_formatted": "1h 22m"،
"uncategorized_duration_formatted": "27 ثانية"،
"business_duration_formatted": "1s"،
"communication_and_scheduling_duration_formatted": "18m 5s"،
"social_networking_duration_formatted": "لا وقت" ،
"design_and_composition_duration_formatted": "8m 30s"،
"Entertainment_duration_formatted": "59 دقيقة و 54 ثانية"،
"news_duration_formatted": "5 شهور و 39 ثانية"،
"software_development_duration_formatted": "لا وقت"،
"reference_and_learning_duration_formatted": "20 دقيقة و 51 ثانية"،
"shopping_duration_formatted": "لا وقت"،
"utilities_duration_formatted": "20 دقيقة و 39 ثانية"
},
{
"المعرف": 1515484800 ،
"التاريخ": "2018-01-09"،
"نبضات الإنتاجية": 68 ،
"نسبة_إنتاجية_صغيرة": 60.4 ،
"نسبة_إنتاجية": 0.5 ،
"النسبة_المحايدة": 11.0 ،
"نسبة_الانتباه": 7.1 ،
"very_distracting_percentage": 21.0 ،
"all_product_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 ،
"Entertainment_percentage": 1.6 ،
"news_percentage": 12.5 ،
"software_development_percentage": 9.1 ،
"reference_and_learning_percentage": 28.2 ،
"shopping_percentage": 2.9 ،
"utilities_percentage": 1.2 ،
"total_hours": 2.78،
"ساعات_منتجة جدًا": 1.68 ،
"ساعات_إنتاجية": 0.01 ،
"الساعات_المحايدة": 0.31 ،
"distracting_hours": 0.2،
"very_distracting_hours": 0.58 ،
"all_product_hours": 1.69 ،
"all_distracting_hours": 0.78 ،
"ساعات_غير مصنف": 0.25 ،
"ساعات_العمل": 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 ،
"ساعات_تطوير البرامج": 0.25 ،
"reference_and_learning_hours": 0.78 ،
"shopping_hours": 0.08،
"utilities_hours": 0.03 ،
"total_duration_formatted": "2h 46m"،
"very_produc_duration_formatted": "1h 40m"،
"Product_duration_formatted": "47 ثانية"،
"utral_duration_formatted ":" 18 دقيقة و 23 ثانية "،
"distracting_duration_formatted": "11m 49s"،
"very_distracting_duration_formatted": "34m 57s"،
"all_produc_duration_formatted": "1h 41m"،
"all_distracting_duration_formatted": "46m 46s"،
"uncategorized_duration_formatted": "15 د 7 ث"،
"business_duration_formatted": "36 دقيقة و 26 ثانية"،
"communication_and_scheduling_duration_formatted": "11m 59s"،
"social_networking_duration_formatted": "8m 28s"،
"design_and_composition_duration_formatted": "2m 4s"،
"Entertainment_duration_formatted": "2 مليون و 39 ثانية"،
"news_duration_formatted": "20 دقيقة و 49 ثانية"،
"software_development_duration_formatted": "15m 5s"،
"reference_and_learning_duration_formatted": "46m 59s"،
"shopping_duration_formatted": "4m 51s"،
"utilities_duration_formatted": "2m 3s"
}
]

اعرض rawsummary.json باستضافته ❤ بواسطة GitHub

الخطوة 4: النمذجة

الجائزة الكبرى في مسابقة Raspberry Pi 2017

موصى به: