• Todolist Sync Monitor

    gavinchiong01/26/2023 at 07:04 0 comments

    The todolist website I often use is todoist.com, and I often use this website for task recording and application development planning. I want to develop an application based on RP2040 and WiFi module WizFi360, which can synchronize with the website and display the current task list on a screen.

    “todoist” is the most popular app of organize work and life. The todoist app has more than 30 million users.

    “todoist” provide Two open APIs for users to call their own data.

    Rest API

    The Todoist REST API offers the simplest approach to read and write data on the Todoist web service.

    For most common application requirements this is our recommended API for external developers and uses an approach that should be familiar for anyone with experience calling RESTful APIs.

    We've provided a Getting Started tutorial section within our REST API documentation to introduce you to the API and some common flows you'll encounter when developing Todoist applications. If you are totally new to our APIs or even unfamiliar with Todoist this is a great place to start.

    Sync API

    The Todoist Sync API is used by our web and mobile applications and is recommended for clients that will maintain a local representation of a user's full account data. It allows for incrementally sending and receiving account data by identifying positions in an account's state history using a sync token.

    This API also contains additional endpoints for areas like account management and less common features that may not yet be implemented on the newer REST API.

    Within the documentation for the Sync API you'll also find a Getting Started tutorial that will introduce you to using the Sync endpoint to send and receive data.

    The detailed introduction of the api is in the following link:https://developer.todoist.com/guides/

    Although the name of the project I developed is “Todolist Sync Monitor”, it uses the RSET api because it is more convenient.

    I use wizfi360 as http client to send todolist RSET API request and get todolist parameters. WizFi360 is a WiFi module, which can connect to WiFi through commands and perform TCP or TCP (SSL) connections. I have used it many times and it is very convenient.

    RP2040 acts as an MCU, after get todolist info from wizfi360, it performs data processing and displays the content on the screen.

    This project is divided into five steps:

    Step 1: Create New Account on the Todolist website and get API TOKEN;

    Step2: Install library files and board support in the Arduino IDE;

    Step 3: Get parameters from Todolist API through WizFi360;

    Step 4: Displays the Todolist info on the screen(ILI9488);

    Step 5: Finish the task on Todolist Sync Monitor.

    The following are step by step instructions.

    Step 1: Create New Account on the Todolist website and get API TOKEN;

    After creat account in this website, you can see your API TOKEN on the "My accounts" page. Please record it, because this TOKEN will be required for future page visits.

    in "Setting">>"Integrations">>"API token". you will get your "API token",

    Your API token provides full access to view and modify your Todoist data. Please treat this like a password and take care when sharing it.

    Step2: Install library files and board support in the Arduino IDE;

    Add "WIZnet WizFi360-EVB-PICO" support to Arduino IDE

    Open up the Arduino IDE and go to File->Preferences.

    In the dialog that pops up, enter the following URL in the "Additional Boards Manager URLs" field:

    https://github.com/earlephilhower/arduino-pico/releases/download/global/package_rp2040_index.json

    Search "WizFi360" and Install Board support by "Board Manager"

    "Tools->Board:"***"-> Raspberry Pi RP2040 Boards(2.6.1) " Select “WIZnet WizFi360-EVB-PICO”.

    Add “GFX Library for rduino”, this library support the screen ili9488.

    Because we need to display the team's icon, we need to load a PNG library“PNGdec”...

    Read more »