{"id":25198063,"url":"https://github.com/danedens/geobatterybot_public","last_synced_at":"2025-04-04T17:17:31.754Z","repository":{"id":149879568,"uuid":"510502485","full_name":"DanEdens/GeoBatteryBot_public","owner":"DanEdens","description":null,"archived":false,"fork":false,"pushed_at":"2022-12-18T00:00:49.000Z","size":2073,"stargazers_count":1,"open_issues_count":1,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-10T02:41:21.466Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"HTML","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/DanEdens.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-07-04T21:03:12.000Z","updated_at":"2023-03-04T18:00:45.000Z","dependencies_parsed_at":"2023-07-22T07:01:41.252Z","dependency_job_id":null,"html_url":"https://github.com/DanEdens/GeoBatteryBot_public","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanEdens%2FGeoBatteryBot_public","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanEdens%2FGeoBatteryBot_public/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanEdens%2FGeoBatteryBot_public/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DanEdens%2FGeoBatteryBot_public/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DanEdens","download_url":"https://codeload.github.com/DanEdens/GeoBatteryBot_public/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247217221,"owners_count":20903009,"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":"2025-02-10T02:40:41.403Z","updated_at":"2025-04-04T17:17:31.747Z","avatar_url":"https://github.com/DanEdens.png","language":"HTML","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Geo-Instruments Battery Tracker  \n\nThis [repo](https://github.com/DanEdens/Battery-Project) contains the tools for tracking movement of Batterys between Field deployments, Desulfating, and Inventory.  \n\n---\n\u003e The project is currently in ***Production*** as LVP.  \n\u003e As of 6/27/2022, 52 batteries are in rotation.  \n\n---\n# Description  \n\nThis project aims to provide data to prevent the repeated deployment of worn out batterys.  \n\nThis is accomplished in 3 parts.  \n1. QR code label generator - Written in Python  \n2. Tablet App - Built on the Tasker framework, using Javascript  \n3. Database running on an AWS Ec2 server running Ubuntu, and utilizing Mqtt  Node-red.  \n\n\n## Module 1: Qr-code generation  \n\u003e QR-code stickers can be generated using [qr-generator.py](./qr-generator.py).  \n\u003e They are created using a first and last ID, and arranged  \n\u003e for easy importing into Brady Workstation to be printed.  \n\n### Setup:\nClone the repo to your local machine.\nrun pip install requirements\n\n\n---\n## Module 2: Tablet App  \n\u003e Display and edit Battery Logs  \n\u003e Adds Notes and voltage readings to logs  \n\u003e Webhook server  \n\n---\n## Module 3: Database\n\u003e Manages Mqtt broker  \n\u003e Redundantly stores data incase of Tablet destruction  \n\n---\n\n\n\n\n\n\n---\n# Roadmap:  \n\n### 1. Color codes  \nAdd last-updated timestamp checks to visually display a batteries readiness status.  \n\n\u003e #### TODOs:  \n\u003e 1. Retrieve date from bottom line of log file  \n\u003e 1. Function to check if date is within 14 day desulfating window  \n\n### 2.  Webportal  \nFind solution for hosting and viewing log data via web.  \n\u003e #### TODOs:  \n\u003e 1. decide on either nodejs embedded in HTML, or node-red UI  \n\n\n### 3. Vortex Intergration  \nFind solution for importing battery data in Vortex  \n\u003e #### TODOs:  \n\u003e 1. Vortex Admin  \n\u003e 1. setup battery table  \n\u003e 1. webhooks for table importing  \n---\n# Dependencies  \n\nThese are the tools  \n\n### Label Printer  \n[BBP35(37) Label Printer](https://www.bradyid.com/label-printers/bbp35)  \n[Brady workstation - Custom designer lite](https://workstation.bradyid.com/)  \n\n### Python libraries  \n[Wand](https://pypi.org/project/Wand/)  \n[Pyqrcode](https://pypi.org/project/PyQRCode/)  \n\n### Android:  \n[Join](https://joaoapps.com/join/)  \n[Tasker](https://tasker.joaoapps.com/)  \n[Mqtt Client](https://play.google.com/store/apps/details?id=in.dc297.mqttclpro\u0026hl=en_US\u0026gl=US)  \n\n### NodeJS  \n[PM2]([https://pm2.keymetrics.io/)  \n[Eclipse Mosquitto](https://mosquitto.org/)  \n[AWS Ec2](https://en.wikipedia.org/wiki/Amazon_Elastic_Compute_Cloud)  \n[Node Red](https://nodered.org/)  \n\n---\n\n# Run arguments\n\nThese are the currently availble CLI flags and Enviroment variables.  \nValues will be used according to the following priority:  \n1. CLI flag  \n2. Environmment variable  \n3. Input Query or Default  \n\n---\n\n### FirstID: '-F', '--firstID'  \n\u003e - Description:  \n\u003e   First Battery ID to generate.  \n\u003e - Type: *Int*  \n\u003e - Override Variable:  \n\u003e   *%BATTERYBOT_FIRSTID%*\n\n### LastID: '-L', '--lastID'  \n\u003e - Description:  \n\u003e Last Battery ID to generate.  \n\u003e - Type: *Int*  \n\u003e - Override Variable:  \n\u003e   *%BATTERYBOT_LASTID%*\n\n### Show: '-s', '--show'  \n\u003e - Description:  \n\u003e Open generated Image in system default photo viewer\n\u003e - Type: *Bool*  \n\u003e - Override Variable:  \n\u003e   *%BATTERYBOT_SHOW%*\n\n### Log: '--log'  \n\u003e - Description:  \n\u003e Publish log message containing ID's used during generation to Mqtt broker  \n\u003e - Type: *Bool*  \n\u003e - Override Variable:  \n\u003e   *%BATTERYBOT_LOG%*\n\n### Output: '-o', '--output'  \n\u003e - Description:  \n\u003e   Directory to output Label files.  \n\u003e - Default location: *\"%CD%\\\\_output\"*  \n\u003e - Type: *Str(Path)*  \n\n### Show: '-s', '--show'  \n\u003e - Description:  \n\u003e Open generated Image in system default photo viewer.  \n\u003e - Type: *Bool*  \n\u003e - Override Variable:  \n\u003e   *%BATTERYBOT_SHOW%*\n\n### Skip Clean up: '--nocleanup'  \n\u003e - Description:  \n\u003e   Prevents Clean up of temp files for debug purposes.  \n\u003e - Type: *Bool*  \n\u003e - Override Variable:  \n\u003e   *%BATTERYBOT_CLEANUP%*\n\n### Show: '-c', '--clip'  \n\u003e - Description:  \n\u003e   Copy filepath to clipboard for importing into Brady workstation  \n\u003e - Type: *Bool*  \n\u003e - Override Variable:  \n\u003e   *%BATTERYBOT_CLIP%*  \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanedens%2Fgeobatterybot_public","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdanedens%2Fgeobatterybot_public","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdanedens%2Fgeobatterybot_public/lists"}