{"id":24618298,"url":"https://github.com/ryanlinjui/iot-powersquat-optimize","last_synced_at":"2025-03-18T22:26:52.064Z","repository":{"id":210571874,"uuid":"719924980","full_name":"ryanlinjui/iot-powersquat-optimize","owner":"ryanlinjui","description":"Smart Wearable Devices \u0026 Pose Estimation for Optimizing Powerlifting and Squatting.","archived":false,"fork":false,"pushed_at":"2024-11-27T00:37:47.000Z","size":462,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-01-24T23:51:24.808Z","etag":null,"topics":["analysis","arduino-cli","iot","linebot-webhook","m5stickc","squatting","wearable-devices"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ryanlinjui.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-11-17T07:39:09.000Z","updated_at":"2024-11-27T00:37:50.000Z","dependencies_parsed_at":"2023-12-03T19:24:24.968Z","dependency_job_id":"8d384f40-a059-4e59-995b-753814c9b051","html_url":"https://github.com/ryanlinjui/iot-powersquat-optimize","commit_stats":null,"previous_names":["ryanlinjui/iot-powersquat-optimize"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanlinjui%2Fiot-powersquat-optimize","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanlinjui%2Fiot-powersquat-optimize/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanlinjui%2Fiot-powersquat-optimize/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ryanlinjui%2Fiot-powersquat-optimize/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ryanlinjui","download_url":"https://codeload.github.com/ryanlinjui/iot-powersquat-optimize/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244315895,"owners_count":20433365,"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":["analysis","arduino-cli","iot","linebot-webhook","m5stickc","squatting","wearable-devices"],"created_at":"2025-01-24T23:51:32.609Z","updated_at":"2025-03-18T22:26:52.036Z","avatar_url":"https://github.com/ryanlinjui.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# IoT Powerlifting \u0026 Squatting Optimize\n\n# Demo\nhttps://github.com/ryanlinjui/iot-powersquat-optimize/assets/57468611/4f90c237-efdd-4276-8540-3afed87c66a7\n\n# LineBot for Everyone\n\u003cimg src=\"https://github.com/ryanlinjui/iot-powersquat-optimize/assets/57468611/7994f8fb-fd7f-4a32-9f97-9f5b4bdfa6bd\" width=\"200\" height=\"200\" alt=\"QRCode\"/\u003e\n\n# Getting Started with [M5StickC](https://github.com/m5stack/M5StickC)\n\n\u003e Install `arduino-cli`: https://github.com/arduino/arduino-cli\n\n## Install Core \u0026 Library\n```\narduino-cli core install m5stack:esp32 --config-file arduino-cli.yaml\narduino-cli lib install M5StickC\narduino-cli lib install --git-url https://github.com/arduino-libraries/NTPClient --config-file arduino-cli.yaml\n```\n\n## Initialize board\n#### Attach board and Find usb port name\n```\narduino-cli board list\n```\n\n#### Check board's FBQN\n```\narduino-cli board listall M5StickC\n```\n\n#### Set board\n```\narduino-cli board attach M5StickC --fqbn m5stack:esp32:m5stack_stickc --port \u003cyour-usb-port-name\u003e\n```\n\n## Compile \u0026 Upload code\n```\narduino-cli compile M5StickC --upload\n```\n\n## Monitor\n```\narduino-cli monitor M5StickC --config 115200\n```\n\n# Some Notes\n#### Vulnerability Test Rating\n- **0%** - 在當前任何 event 還沒結束時就觸發下一個 event \n- **0%** - 在 HomeMenu 做非點選菜單的動作\n- **0%** - 在輸入 IoT UUID menu 輸入非法 UUID\n- **0%** - 在輸入 IoT UUID menu 做非輸入或非點擊返回的動作\n- **0%** - 在上傳骨架影片時做非上傳影片或非點擊返回的動作\n- **30%** - 在上傳骨架影片時上傳非法的影片檔案\n- **0%** - 在上傳 Inbody 照片時做非上傳照片或非點擊返回的動作\n- **30%** - 在上傳 Inbody 照片時上傳非法的照片檔案\n- **0%** - 在上傳深蹲影片時做非上傳影片或非點擊返回的動作\n- **30%** - 在上傳深蹲影片時上傳非法的影片檔案\n- **5%** - 瘋狂送 IoT IMU data to server\n- **50%** - 傳很大的 IoT IMU data to server\n- **10%** - 發送偽裝的 IoT IMU data to server request\n- **0%** - 在任何輸入的介面上做 SQL injection 動作\n- **1%** - server 資料庫消失狀況\n- **20%** - 在傳 IMU sensor 資料時，有一樣的對應的 UUID 做一樣的 request\n- **20%** - 偽造 IMU sensor 資料， 做一樣的對應 UUID 的request\n- **80%** - IMU sensor 資料跟要分析的影片不是同一批次的\n\n#### Line Beacon\n- Line Beacon 不適用此專案因為只能傳送 13 bytes\n- 可以去 developer 在官方帳號下產生隨機 hardware ID 然後 copy ID 燒錄到 sensor 當 Line Beacon\n- 有加官方帳號好友 Line 的使用者，在進入 sensor 發送電波範圍 (功率越高，偵測範圍廣但就是會太多雜訊而導致難偵測，所以功率低範圍小，叫好偵測近的手機) 時會被偵測到然後可以用 webhook handle 獲得 event 與 13 bytes 的 device message `dm`，Line app 會資訊記錄該 Line Beacon 到 list 中，直到使用者真的離開電波範圍時，資訊記錄才會從 Line app 的 Line Beacon list 中刪除\n- 如果將電波關掉再開啟，沒辦法獲得 event，因 Line Beacon list 不會做刪除動作\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanlinjui%2Fiot-powersquat-optimize","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fryanlinjui%2Fiot-powersquat-optimize","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fryanlinjui%2Fiot-powersquat-optimize/lists"}