馃崊 PomodorIO: the Digi-Physical Time Management Method 馃崊
by LiorRey in Living > Organizing
86 Views, 0 Favorites, 0 Comments
馃崊 PomodorIO: the Digi-Physical Time Management Method 馃崊
Are you having trouble managing your time and tasks?
Would you like to be more productive and feel better?
Well, we present you PomodorIO, the digi-physical time management method - a great IoT solution for you !
Supplies
- Circuit Playground Express board (CPX)
- ESP 8266 board
- 4 Wires
- Android mobile device
- Computer with internet access
馃崊 Understanding the Backround and Goal of PomodorIO 馃崊
PomodorIO is inspired by Pomodoro Technique, which is a time management method developed by Francesco Cirillo in the late 1980s.
The technique was developed to make working and studying more productive. It uses a timer to break down work into intervals, traditionally 25 minutes in length, separated by short breaks. Each interval is known as a pomodoro, from the Italian word for 'tomato', after the tomato-shaped kitchen timer that Cirillo used as a university student.
Using the PomodorIO Blynk app, you can set the tasks you need to do and customize the length of pomodoros and breaks, in order to meet your needs for completing your tasks.
When you complete a task, you can tap on the CPX and your Google Sheet file will be updated accordingly.
In addition, PomodoroIO will eliminate distractions from your study environment - just put your cell phone out of sight and place the CPX near you in the workroom.
The CPX will then keep track of your work and break segments, and will notify you upon receiving a call while you're working. You can go check your cell phone only during break times.
PomodorIO comes in 3 parts:
1) A code that runs on your CPX.
2) A Blynk App.
3) 2 Scenarios that run all the time in Integromat.
馃崊 Blynk App Configuration 馃崊
Using the Blynk app, you can track your upcoming tasks and set the length of work and break segments. Following these steps will allow you to configure it easily and intuitively. Happy Blynking!
1) Download the Blynk app to your mobile device (available at App Store/Play Store).
2) Create a new project, name it PomodoroIO and choose Arduino MKR1000 device & WiFi connection type.
3) Right after you create a project you will receive a mail including your Auth Token for PomodoroIO project. Keep it, You'll need it later.
馃崊 Create a Google Sheets Spreadsheet File for Tasks 馃崊
An important part of the Pomodoro technique is to estimate the required number of work sessions for a given task. This will allow you to be more efficient and effective in your sessions going forward.
We have created an example Google Sheets file (.xlsx) for tasks, available here.
Please use it by uploading it to your Google Docs account.
To the white cells, Add your next tasks and how many pomodoros you estimate it will take to complete. PomodorIO will magically fill the red cells later on (as you can see on the attached images). leave them blank for now.
馃崊 Add Some Blynk Widgets 馃崊
Widgets are pre-designed pieces of Blynk GUI. Each widget performs a specific input/output function when communicating with your hardware or end-user. The Widget Box can be found by clicking the (+) icon. Open it to add the following widgets to your app:
Start Button
First of all, we need a way to tell the CPX that we want to start a new pomodoro session. An excellent choice would be a Button widget. Add one and select a Virtual Pin for it.
Durations Settings
Add 3 Numeric Input widgets. Those widgets will be used to control the duration of your pomodoro work and breaks times. Choose a Virtual Pin and a time duration (in minutes) for each one.
Tasks Spreadsheet
You can easily access your Google Sheets spreadsheet right from the Blynk app by adding a link to it. To do so, Add a WebPage Button widget. Enter your sheet's URL on the widget's configurations.
Integromat Webhook
A WebHook Widget is a way for the Blynk app to provide other applications with real-time information. We will use one for triggering an Integromat session when the user has completed a task. We will fill the URL field during the next step - 'Setting Up Scenarios at Integromat'.
馃崊 Setting Up Scenarios at Integromat 馃崊
1) Sign in to your Integromat account
2) Go to the left sidebar and click on Scenarios
3) On Scenarios screen, create a new scenario
First scenario: Listening to Incoming Calls
When you get a call on your Android device, this scenario triggers. An HTTP request is used to notify the CPX directly.
1) Click on the right mouse and add a new Android module
2) Under Calls, select Watch Incoming Calls
3) On the appeared window, select Add and enter your Android device name
Note: The lightning sign means that the scenario will trigger immidiately
4) On the right side of the Android Module, select Add Another Module
5) Add a new HTTP module
6) Under Actions, select Make A Request
7) On the HTTP module settings, enter the following URL:
http://188.166.206.43//update/?value=1>/update/<PIN>?value=1
and replace as follows:
with your Blynk authentication token (you kept it on step 2 - Blynk App Configuration)
with an available virtual pin (for example, we chose pin V5)
8) Download Integromat app to your mobile device from this link:
https://android.integromat.com/integromat.apk
(this is the non-restricted version, which is not available at the Google Play Store)
9) Launch Integromat app and go to Settings -> Calls -> Events, and there enable Incoming Call event
(Note: Make sure you give the app the required permissions)
Second scenario: Update Your Spreadsheet upon task completion
When a task is completed, CPX triggers a WebHook (through Blynk). Integromat then writes the parameters into the appropriate cell of the tasks sheet.
1) Back on the Scenarios screen. create a new scenario
2) Add a new WebHooks module
3) Under Triggers, select Custom Webhook
3) Press Add to create a new Webhook, and keep the displayed URL address
4) Below, click on Run Once to run your scenario
5) On a new browser tab, go to the following URL:
<WEBHOOK_URL>?row=/pin[0]/&pomodoro_count=/pin[1]/&short=/pin[2]/&long=/pin[3]/&pomodoro_duration=/pin[4]/
and replace with the URL address you kept earlier
6) Make sure that you've got the Accepted message
7) ** Add this URL address to the WebHook widget on your Blynk app (from the previous step). **
8) Now back to our scenario, go below to Tools -> Flow Control, and add a new Router module
9) Connect the new Router module to the already created Webhooks module
*) Via Webhook, you will get the following parameters
row - the number of the current task
long - duration of long breaks
short - duration of short breaks
pomdoro_duration - duration of pomodoro session
pomodoro_count - number of pomodoros took to complete the current task\
Feel free to use those parameters while updating your tasks spreadsheet.
**) Look at the image above to see how the pomodoro_count parameter is updated to column c in our spreadsheet
10) Press the Router module, and under Google Sheets -> Actions, add an Update A Cell module
11) On the new module, under Connection, connect your Google account (follow this tutorial by Integromat)
12) Choose your spreadsheet file and sheet that you created in advance
13) In the Cell field, enter the cell that you wish to update (the row parameter might help)
14) In the Value field, enter one of the other parameters or some other useful data, such as time and date
Activating Your Scenarios
Now after everything is all set and done, activate the scenarios by toggling them on at the Scenarios screen
馃崊 CPX - Upload the Code and Handle the Board 馃崊
Upload the code:
1) Download PomodorIO.ino from the downloads section and put it inside a folder named 'PomodorIO'.
2) Copy the folder it into your sketchbook of Arduino IDE. The sketchbook folder is the folder shown in the Arduino IDE's File -> Preferences -> Sketchbook location.
3) Open the .ino file and enter your wifi name, password and Blynk authentication token in the appropriate global variables (Lines 51 - 53)
char auth[] = "YOUR_AUTH_TOKEN"; char ssid[] = "WIFI_NAME"; char pass[] = "WIFI_PASS";
4) Review all BLYNK_WRITE methods (starting at line 182) and ensure that the virtual pin matches the one you selected earlier. As an example, if you selected V3 for the Pomodoro time widget, do the following:
// Blynk app widget - Pomodoro time BLYNK_WRITE(V3)
5) Upload the code to your CPX. 馃帀
Connect your CPX to ESP8266:
Since Circuit Playground Express does not come with WiFi built in, we need to connect it to an ESP8266 board. See the attached image for more explanation of how it was connected via UART (you'll only need 4 wires).
Downloads
馃崊 Press Start and Enjoy! 馃崊
Now when we're set and done, let's take a brief look at the options of the CPX board:
- Double tapping marks current task as completed (to be registered in Google sheets).
- When you receive a call notification, the notification led blinks and the speaker makes a slight buzzing sound.
- The right button skips between work and break.
- The left button resets the current session.
- The toggle switch allows you to pause the session.
It is now all about setting the desired settings in the app, leaving your phone out of the room, and becoming more productive with your new PomodorIO 馃崊.
Don't forget to check your Google sheets at the end of your session for all the details and stats!