{"id":27633780,"url":"https://github.com/djaus2/gpsmapiothub","last_synced_at":"2026-04-29T00:32:29.914Z","repository":{"id":190922315,"uuid":"681077009","full_name":"djaus2/GPSMapIoTHub","owner":"djaus2","description":"Monitor an Azure IoT Hub and  map the GPS coordinatess sent to it  as te,emetry.","archived":false,"fork":false,"pushed_at":"2023-10-31T07:20:22.000Z","size":4206,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-04-23T18:19:41.615Z","etag":null,"topics":["arduino","azure-iot-hub","cloud-to-device-msg","gps","mapping"],"latest_commit_sha":null,"homepage":"https://davidjones@sportronics.com.au","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"cc0-1.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/djaus2.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","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,"zenodo":null}},"created_at":"2023-08-21T08:01:57.000Z","updated_at":"2023-08-28T04:14:12.000Z","dependencies_parsed_at":"2023-08-27T06:29:56.547Z","dependency_job_id":"4c6f0829-d967-4d11-b9c3-93018503fd0e","html_url":"https://github.com/djaus2/GPSMapIoTHub","commit_stats":null,"previous_names":["djaus2/gpsmapiothub"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/djaus2/GPSMapIoTHub","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FGPSMapIoTHub","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FGPSMapIoTHub/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FGPSMapIoTHub/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FGPSMapIoTHub/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/djaus2","download_url":"https://codeload.github.com/djaus2/GPSMapIoTHub/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaus2%2FGPSMapIoTHub/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32405901,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T19:38:08.556Z","status":"ssl_error","status_checked_at":"2026-04-28T19:37:55.688Z","response_time":56,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["arduino","azure-iot-hub","cloud-to-device-msg","gps","mapping"],"created_at":"2025-04-23T18:19:37.568Z","updated_at":"2026-04-29T00:32:29.899Z","avatar_url":"https://github.com/djaus2.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# GPSMap\n\nA Blazor Server app to monitor an Azure IoT Hub and  map the GPS coordinatess sent to it  as telemetry.  \nUses Telerik Map Component.\n\n\u003chr/\u003e\n\n## Updates\n\n- **Scrolling** map \u003c \u003e Up and Down works, Recentres if location is more than 200m off centre.\n- **6X Replay** option _( Default telemetry period is 1 / 10 sec, so 6x is 1 min of telemetry / 10s )_\n- **WorkInProgress** branch has been merged back into Master\n- Much improved **NMEA GPGGA** sentence filter.\n- Can record and playback history\n- Can jumper GP12/13 for selecting between two wifis and whether or not to use Serial.  Can also select Blutooth, GP11\n  - GP13 _High = _Deskyop WiFi , alt Mobile Wifi_\n      - Have dev WiFi and my phone wifi for when mobile\n  - GP12 _High = _Serial enabled_\n  - GP11 _High = _BT enabled but Serial takes precedence_\n    - If Serial/BT enabled, it blocks if no Serial/BT connected.\n\n\u003chr/\u003e\n\n\n![Device Image](https://github.com/djaus2/GPSMapIoTHub/blob/master/GPSMap/wwwroot/images/uart-gps-module-with-real-time-clock.jpg)  \n**_A typical GPS Device, suitable for Arduino use_**\n\n## About\n\nThis project is a coming together of the 7th Arduino Sketch (Azure_IoT_Hub_GPS) on GitHub at [djaus2/RPI Pico W GPS and Bluetooth](https://github.com/djaus2/RpiPicoWGPSandBT) and the [Telerik Map Demo](https://demos.telerik.com/blazor-ui/map/overview). It started out as an endeavour to map that Sketch's IoT Hub telemetry in Azure IOT Central but this was deemed a simpler approach. This app maps the current location of the GPS device.\n\n![App Image](https://github.com/djaus2/GPSMapIoTHub/blob/master/GPSMap/wwwroot/images/gpsmapapp.png)  \n**_The App showing the location of the GPS device_**\n\n## Azure  Sketch\nAs per the seventh Sketch in [djaus2/RPI Pico W GPS and Bluetooth](https://github.com/djaus2/RpiPicoWGPSandBT)  but modified specifically for this app. \n- Json is single level.\n  - eg. ```{\"lat\":-37.7468138,\"lon\":144.8956847,\"alt\":64.6}```\n- Includes Cloud to Device Messages that are interpreted as  Telemetry config _(case sensitive)_ commands:\n  - Reset\n    - Restarts the telemetry timing\n    - At first is 1s but doubles each send until it reaches 60s.\n  - Start\n    - Restarts telemetry without any change to the period.\n  - Stop\n    - Stops telemetry without any chnage to the period.\n  - Set-Period\n    - Set the telemetry peroiod\n    - The command is Set separated using a highen to:\n      - The period, a numerical parameter in milliseconds\n    - eg. ```Set-30000```  sets the period between sends to 30 seconds _(approx)_.\n\n\u003e Have added abilty to send commands from GPSMap app to the device.\n\n## Getting Started\n\nSetup the above Sketch in an Arduino Pico W. See [djaus2/RPI Pico W GPS and Bluetooth](https://github.com/djaus2/RpiPicoWGPSandBT) .\n\nYou will need a Telerik license, whether a full license or a 30 day trial. Follow the steps as below3 at [First Steps with Server-Side UI for Blazor](https://docs.telerik.com/blazor-ui/getting-started/server-blazor?_ga=2.73417493.680605814.1692843673-472055910.1692083918\u0026_gl=1*13uct7u*_ga*NDcyMDU1OTEwLjE2OTIwODM5MTg.*_ga_9JSNBCSF54*MTY5Mjg0MzY3NC44LjEuMTY5Mjg0Mzc4NC4xMS4wLjA.)\n- Step 1: Download Telerik UI for Blazor\n- Step 2: Add the Telerik NuGet Feed to Visual Studio\n- Step 3: Install the Telerik UI for Blazor Components\n  The other steps have been implemented in the project.\n\nAzure IoT Hub and Device\n- As used with Sketch 7.\n- Having created them need Hub name. \n\nNow open this project and add your connection details in appsettings.json:\n- \"HubName\": The IoT Hub Name\n- \"HubConnectionString\": The IoT Hub connection string\n  - On the left-side pane of your IoT hub, select Shared access policies\n  - From the list of policies, select the service policy.\n  - Copy the Primary connection string.\n- \"DeviceId\": The target device's Id\n- \"EventHubConnectionString\": The Endpoint\n  - Go to the **IoT Hub** in **Azure Portal**\n  - Select **Built-in endpoints**\n  - Scroll down to **Event Hub compatible endpoint**\n  - Select the **Endpoint**\n\n\nOR\n\nIf you have [Azure Cli installed](https://learn.microsoft.com/en-us/cli/azure/install-azure-cli-windows?tabs=azure-cli).\n- Create an azcli prompt and login\n- Run ```az iot hub connection-string show -n \u003cIoT Hub name\u003e --policy-name service --key-type primary```\n- Run ```az iot hub connection-string show -n \u003cIoT Hub name\u003e --default-eventhub```\n\n\u003chr/\u003e\n  \n## Operational Modes:\n\n- Live: Scan through historical telemetry then map wrt live telemetry\n- Historical: Scan though al previous telemetry (typically a day) then replay in timely manner.\n  - Can set start and end date/time\n\n\u003chr /\u003e\n\n## Footnote\n\nIf running the Blazor app in development mode, the app can be opened in a phone browser locally using **ngrok** as \nper the blog post:  \n[Blazor Server Development: Viewing in a phone](https://davidjones.sportronics.com.au/web/Blazor-Viewing_in_a_phone-web.html).\n  \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjaus2%2Fgpsmapiothub","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjaus2%2Fgpsmapiothub","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjaus2%2Fgpsmapiothub/lists"}