{"id":13612568,"url":"https://github.com/JurajSadel/wrover-experimental","last_synced_at":"2025-04-13T12:32:11.250Z","repository":{"id":37739819,"uuid":"459106007","full_name":"JurajSadel/wrover-experimental","owner":"JurajSadel","description":null,"archived":false,"fork":false,"pushed_at":"2022-10-13T11:12:47.000Z","size":10303,"stargazers_count":6,"open_issues_count":4,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-29T02:33:52.049Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/JurajSadel.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2022-02-14T10:00:46.000Z","updated_at":"2025-01-07T03:21:16.000Z","dependencies_parsed_at":"2023-01-19T12:17:04.698Z","dependency_job_id":null,"html_url":"https://github.com/JurajSadel/wrover-experimental","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JurajSadel%2Fwrover-experimental","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JurajSadel%2Fwrover-experimental/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JurajSadel%2Fwrover-experimental/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JurajSadel%2Fwrover-experimental/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JurajSadel","download_url":"https://codeload.github.com/JurajSadel/wrover-experimental/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248714627,"owners_count":21149928,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T20:00:31.705Z","updated_at":"2025-04-13T12:32:10.251Z","avatar_url":"https://github.com/JurajSadel.png","language":"Rust","funding_links":[],"categories":["Projects"],"sub_categories":["`std`"],"readme":"# Experimental demo using ESP32-wrover kit and Rust\n\nThe main goal of the demo is to display line directions and departure times of public transport vehicles in Brno.\n\n### What the project does:\n- Establish WiFi connection\n- Configure ILI9341 display, HTTP Client and SNTP Client\n- parse data from website (web scraping)\n- init RTC and display current time with parsed data\n\n\n# Hardware setup\n\n### HW: Wrover-kit\nhttps://docs.espressif.com/projects/esp-idf/en/latest/esp32/hw-reference/esp32/get-started-wrover-kit.html\n\n![demo](https://user-images.githubusercontent.com/43887390/165057872-e0d3bb64-a807-42d6-a7a4-b280e6ea9cac.jpg)\n\n### Used pins\n| ILI9341 |  Wrover-kit         |\n----------|---------------------|\n| RST     | GPIO18              |\n| CLK     | GPIO19              |\n| D_C     | GPIO21              |\n| CS      | GPIO22              |\n| MOSI    | GPIO23              |\n| MISO    | GPIO25              |\n\n### HW: ESP32 with ILI9341 display\n\n\u003cimg width=\"723\" alt=\"wokwi\" src=\"https://user-images.githubusercontent.com/43887390/170480059-b26ba8f8-fe7b-49c7-80c2-91c5f25cc8f3.png\"\u003e\n\n\n## Wokwi\n### Used pins\n| ILI9341 |  ESP32-DevKitS-V1.1 | Cable color |\n----------|---------------------|-------------|\n| GND     | GND                 | black       |\n| 3.3V    | 3.3V                | red         |\n| RST     | GPIO4               | green       |\n| CLK     | GPIO18              | orange      |\n| D_C     | GPIO2               | purple      |\n| CS      | GPIO15              | blue        |\n| MOSI    | GPIO23              | yellow      |\n| MISO    | GPIO25              | cyan        |\n\n### diagram.json\n\n```json\n{\n  \"version\": 1,\n  \"author\": \"Juraj Sadel\",\n  \"editor\": \"wokwi\",\n  \"parts\": [\n    {\n      \"type\": \"wokwi-esp32-devkit-v1\",\n      \"id\": \"esp\",\n      \"top\": 0,\n      \"left\": 0.67,\n      \"attrs\": { \"builder\": \"esp32-rust\" }\n    },\n    { \"type\": \"wokwi-ili9341\", \"id\": \"lcd1\", \"top\": -354.05, \"left\": 182.84, \"attrs\": {} }\n  ],\n  \"connections\": [\n    [ \"esp:TX0\", \"$serialMonitor:RX\", \"\", [] ],\n    [ \"esp:RX0\", \"$serialMonitor:TX\", \"\", [] ],\n    [ \"esp:D4\", \"lcd1:RST\", \"green\", [ \"h0\" ] ],\n    [ \"esp:3V3\", \"lcd1:VCC\", \"red\", [ \"v-1.02\", \"h132.77\" ] ],\n    [ \"esp:GND.1\", \"lcd1:GND\", \"black\", [ \"h141.9\", \"v-1.79\" ] ],\n    [ \"esp:D15\", \"lcd1:CS\", \"blue\", [ \"h0\" ] ],\n    [ \"esp:D2\", \"lcd1:D/C\", \"purple\", [ \"h0\" ] ],\n    [ \"esp:D18\", \"lcd1:SCK\", \"orange\", [ \"h0\" ] ],\n    [ \"esp:D25\", \"lcd1:MISO\", \"cyan\", [ \"h-26.13\", \"v-106.89\", \"h328.67\" ] ],\n    [ \"lcd1:MOSI\", \"esp:D23\", \"yellow\", [ \"v0\" ] ],\n    [ \"lcd1:LED\", \"esp:3V3\", \"pink\", [ \"v226.59\", \"h-190.8\" ] ]\n  ],\n  \"serialMonitor\": { \"display\": \"terminal\" }\n}\n```\n\n### Wokwi project link\nhttps://wokwi.com/projects/332616143815574099\n\n\n# Devcontainers\n The repository supports:\n\u003c!-- GIPOR LINK NEEDS TO BE UPDATED WHEN MERGED --\u003e\n-  [Gitpod](https://gitpod.io/): [![Open ESP32 in Gitpod](https://gitpod.io/button/open-in-gitpod.svg)](https://gitpod.io/github.com/JurajSadel/wrover-experimental)\n-  [Vs Code Devcontainers](https://code.visualstudio.com/docs/remote/containers#_quick-start-open-an-existing-folder-in-a-container)\n-  [GitHub Codespaces](https://docs.github.com/en/codespaces/developing-in-codespaces/creating-a-codespace)\n## Build\n- Terminal approach:\n\n    ```\n    ./build.sh  [debug | release]\n    ```\n    \u003e If no argument is passed, `release` will be used as default\n\n-  UI approach:\n\n    The default build task is already set to build the project, and it can be used\n    in VsCode and Gitpod:\n    - From the [Command Palette](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette) (`Ctrl-Shift-P` or `Cmd-Shift-P`) run the `Tasks: Run Build Task` command.\n    - `Terminal`-\u003e `Run Build Task` in the menu.\n    - With `Ctrl-Shift-B` or `Cmd-Shift-B`.\n    - From the [Command Palette](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette) (`Ctrl-Shift-P` or `Cmd-Shift-P`) run the `Tasks: Run Task` command and\n    select `Build`.\n    - From UI: Press `Build` on the left side of the Status Bar.\n\n## Flash\n\n\u003e **Note**\n\u003e When using GitHub Codespaces, we need to make the ports\n\u003e public, [see instructions](https://docs.github.com/en/codespaces/developing-in-codespaces/forwarding-ports-in-your-codespace#sharing-a-port).\n- Terminal approach:\n  - Using custom `runner` in `.cargo/config.toml`:\n    ```\n    cargo +esp run [--release]\n    ```\n  - Using `flash.sh` script:\n\n    ```\n    ./flash.sh [debug | release]\n    ```\n    \u003e If no argument is passed, `release` will be used as default\n- UI approach:\n    - From the [Command Palette](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette) (`Ctrl-Shift-P` or `Cmd-Shift-P`) run the `Tasks: Run Task` command and\n    select `Build \u0026 Flash`.\n    - From UI: Press `Build \u0026 Flash` on the left side of the Status Bar.\n\n\n## Wokwi Simulation\n\n- Terminal approach:\n\n    ```\n    ./run-wokwi.sh [debug | release]\n    ```\n    \u003e If no argument is passed, `release` will be used as default\n- UI approach:\n\n    The default test task is already set to build the project, and it can be used\n    in VsCode and Gitpod:\n    - From the [Command Palette](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette) (`Ctrl-Shift-P` or `Cmd-Shift-P`) run the `Tasks: Run Test Task` command\n    - With `Ctrl-Shift-,` or `Cmd-Shift-,`\n        \u003e Note: This Shortcut is not available in Gitpod by default.\n    - From the [Command Palette](https://code.visualstudio.com/docs/getstarted/userinterface#_command-palette) (`Ctrl-Shift-P` or `Cmd-Shift-P`) run the `Tasks: Run Task` command and\n    select `Build \u0026 Run Wokwi`.\n    - From UI: Press `Build \u0026 Run Wokwi` on the left side of the Status Bar.\n### Debuging with Wokwi\n\nWokwi offers debugging with GDB.\n\n- Terminal approach:\n    ```\n    $HOME/.espressif/tools/xtensa-esp32-elf/esp-2021r2-patch3-8.4.0/xtensa-esp32-elf/bin/xtensa-esp32-elf-gdb target/xtensa-esp32-espidf/release/brno-public-transport -ex \"target remote localhost:9333\"\n    ```\n    \u003e [Wokwi Blog: List of common GDB commands for debugging.](https://blog.wokwi.com/gdb-avr-arduino-cheatsheet/?utm_source=urish\u0026utm_medium=blog)\n- UI approach:\n    Debug using with VsCode or Gitpod is also possible:\n    1. Run the Wokwi Simulation in `debug` profile\n        \u003e Note that the simulation will pause if the browser tab is on the background\n    2. Go to `Run and Debug` section of the IDE (`Ctrl-Shift-D or Cmd-Shift-D`)\n    3. Start Debugging (`F5`)\n    4. Choose the proper user:\n        - `esp` when using VsCode or GitHub Codespaces\n        - `gitpod` when using Gitpod\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJurajSadel%2Fwrover-experimental","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FJurajSadel%2Fwrover-experimental","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FJurajSadel%2Fwrover-experimental/lists"}