{"id":21722743,"url":"https://github.com/mcorts/spack-lora-sat-groundstation_workshop","last_synced_at":"2025-03-20T22:14:58.399Z","repository":{"id":128775315,"uuid":"388591563","full_name":"McOrts/spack-lora-sat-groundstation_workshop","owner":"McOrts","description":"Workshop for the construction of a LoRa satellite tracking mini-station based on the project https://github.com/G4lile0/ESP32-OLED-Fossa-GroundStation of @Galile0","archived":false,"fork":false,"pushed_at":"2022-10-08T19:35:03.000Z","size":4352,"stargazers_count":8,"open_issues_count":0,"forks_count":3,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-01-25T19:08:03.961Z","etag":null,"topics":["cubesat","groundstation","lora","nodered"],"latest_commit_sha":null,"homepage":"","language":null,"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/McOrts.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":"2021-07-22T20:40:37.000Z","updated_at":"2025-01-24T18:51:25.000Z","dependencies_parsed_at":"2023-03-27T08:13:43.348Z","dependency_job_id":null,"html_url":"https://github.com/McOrts/spack-lora-sat-groundstation_workshop","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/McOrts%2Fspack-lora-sat-groundstation_workshop","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/McOrts%2Fspack-lora-sat-groundstation_workshop/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/McOrts%2Fspack-lora-sat-groundstation_workshop/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/McOrts%2Fspack-lora-sat-groundstation_workshop/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/McOrts","download_url":"https://codeload.github.com/McOrts/spack-lora-sat-groundstation_workshop/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244700595,"owners_count":20495574,"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":["cubesat","groundstation","lora","nodered"],"created_at":"2024-11-26T02:32:33.593Z","updated_at":"2025-03-20T22:14:58.378Z","avatar_url":"https://github.com/McOrts.png","language":null,"funding_links":[],"categories":[],"sub_categories":[],"readme":"# Workshop guide for installation and monitoring of a TinyGS for SPACK\nThis repository contains the code, information and the necessarydocumentation to make a satellite signal mini-receiver with LoRa modulation.\n\n\u003cimg src=\"https://github.com/G4lile0/tinyGS/blob/master/doc/images/TinyGS_architecture.png\" width=300 align=\"left\" /\u003e\n\nThis kind of receiver is based on standards of the project [TinyGS](https://github.com/G4lile0/tinyGS) created by:\n- [4m1g0](https://github.com/4m1g0)\n- [G4lile0](https://github.com/G4lile0)\n- [gmag11](https://github.com/gmag11)\n\nTinyGS is defined as an open network of ground stations distributed around the world to receive and operate LoRa satellites, meteorological balloon and other flying objects, using inexpensive and versatile modules. Unlike others, it does not require extensive knowledge in telecommunications or amateur radio licenses. It is oriented on the one hand to the participation of people in the Maker world without great technical profile. And on the other, to provide service to satellite operators receiving telemetry and other data in real time thanks to the worldwide deployment of the network of these stations.\n\nThe TinyGS network is growing exponentially and is destined to play an important role in the strategy of public and private mini-satellite projects.\n\n\u003c/br\u003e\n\u003c/br\u003e\n\u003cimg src=\"./img/Photo 8-11-20, 12 58 03.jpg\" width=300 align=\"right\" /\u003e\n\n## Construction of the receiving station\n### Hardware configuration\nIn choosing the microcontroller there are many options. For the workshop we have chosen the **TTGO LoRa32 V2 (433MHz)**\nIn addition to this board you will need the following:\n- [ ] A Telegram user\n- [ ] WiFi network \n\nThe installation procedure is constantly evolving. For this reason we list the main blocks without going into details. For more information, consult the links.\n1. [Intall the _firmware_ in the microcontrolator](https://github.com/G4lile0/tinyGS/wiki/Quick-Start).\n2. Get the platform credentials (MQTT). For this you will have to access the Telegram BOT: @tinygs_personal_bot:\n\u003cimg src=\"./img/start_bot.png\" width=400 align=\"center\" /\u003e\n\n3. [Set up the station](https://github.com/G4lile0/tinyGS/wiki/Ground-Station-configuration).\n\n### Assembly\nComo soporte a la placa del microcontrolador tenemos dos opciones::\n* For indoor use: [3D case](https://github.com/McOrts/taller-lora-sat-groundstation/blob/main/3D/TTGO_LoRa32.chitubox):\n\u003cimg src=\"./img/TTGO_LoRa32_case3D.png\" width=300 align=\"center\" /\u003e\n\n* For outdoor you can use Sonoff relays case:\n\u003cimg src=\"./img/sonoff_case.png\" width=300 align=\"center\" /\u003e\n\nThe ** antenna ** is the key piece that you will have to pay attention to frequently. Because it will require regular reorientations and changes based on the satellite that you have as reception priority.\nThere are multiple options, from the most DIY to commercial already calibrated that you can buy online:\n\n1. Dipole, it is a simple antenna composed of two elements and easy to build::\n   - [3D printer with pipe of 6mm](./main/3D/DipoleAntenna.stl) [Length calculator](https://www.translatorscafe.com/unit-converter/da-DK/calculator/dipole-antenna/).\n   \u003cimg src=\"./img/antenna_dipole3D.png\" width=300 align=\"center\" /\u003e\n   \n   - Rabbit Ear (por @estbhan)\n   \u003cimg src=\"./img/antenna_rabbitear.jpg\" width=300 align=\"center\" /\u003e\n   \n   - JPCoax (por @kreatif)\n   \u003cimg src=\"./img/antenna_JPCoax.jpg\" width=300 align=\"center\" /\u003e\n   \n   - [Aliexpress 400-433 MHz](https://a.aliexpress.com/_vkAMUN) It seems that its sensitivity is improved by using some extension screws. \n\n2. Quarter wave antenna (a.k.a ground plane)\n   - http://www.n1gy.com/simple-ground-plane-antennas.html\n   - https://www.amazon.com/gp/product/B086YV2QLS/\n\n3. Cellular antenna, generally dual band ham radio 2m/70cm \n   - https://www.amazon.com/Tram-1185-Amateur-Dual-Band-Antenna/dp/B0045EQUBK/\n   - https://www.amazon.com/HYS-Antennas-Dual-Band-UHF-male-Motorola/dp/B08H24P613/\n\n4. Directional: [Antenna Yagi de UHF430-450MHz](https://es.aliexpress.com/item/4000738955092.html)\n\n## Control and monitorization Dashboard (NOC based Node-RED)\nThe TinyGS _backoffice_ publishes two _topics_ with information about your station. This control application is based on the subscription to them:\n```\ntinygs/[user]/[station ID]/cmnd/begin\ntinygs/[user]/[station ID]/cmnd/frame/0\n```\n\n[Node-RED](https://nodered.org/) is a visual programming tool. It graphically shows relationships between objects (nodes) that are functions that transform the message that arrives from the preceding nodes (a flow).\nUsing standard nodes, programming is not required. Although if you want, you can create functions by programming in JavaScript. In short, it allows, from a web browser, to build flows to process information and communicate it through countless integrations.\n\nWe are going to mount a _dashboard_ that will allow us to monitor up to two TinyGS stations. It is our personal NOC that will allow us to:\n- Know which satellite we are listening to.\n- What was the last satellite received\n- Know the configuration values of the modem.\n- Analyze the received signal through the history of the RF values.\n- Receive notifications:\n    - Receiver down. Won't connect to WiFi network\n    - Satellite received.\n\n![Node-RED NOC TinyGS dashboard](/nodered/nodered_ui_dashboard4TINYGS.png)\n\n### Node-RED\nFirst we will need to have [a Node-RED instance installed] (https://nodered.org/docs/getting-started/). The most current recommendation is to do it in a Docker container. But using a Single Board Computer like the Raspberry Pi is very suitable because the memory and processing capacity requirements are very low.\n\n\u003cimg src=\"./nodered/nodered_instalation.png\" width=500 align=\"center\" /\u003e\n\nWe are also going to need some 'nodes' in addition to what the installation includes.\n- [node-red-dashboard](https://flows.nodered.org/node/node-red-dashboard) It provides us with the nodes necessary to build the user interface.\n- [node-red-contrib-ui-media](https://flows.nodered.org/node/node-red-contrib-ui-media/in/590bc13ff3a5f005c7d2189bbb563976) It allows us to show the images in the User Interface\n- [node-red-node-ping](https://flows.nodered.org/node/node-red-node-mysql) A Node-RED node to ping a remote server, for use as a keep-alive check.\n\n\u003cimg src=\"./nodered/ifttt.png\" width=300 align=\"right\" /\u003e\n\n## IFTTT\nTo receive alert we are going to use the service [If This Then That](https://ifttt.com/home) which will be easily integrated into Node-RED using the HTTP request node.\n```\nhttps://maker.ifttt.com/trigger/TinyGS/with/key/[clave de IFTTT]?value1={{{payload}}}\n```\nThe service to configure is simple. We will use the Webhooks component to capture the event and the notifications so that the notice is triggered on our device: mobile, smartwatch ...\n\n## Links and references\n1. [SPACK instance of Node-red IDE:](http://domohome.ddns.jazztel.es:48053)\n2. [SPACK instance of Node-red User Interface:](http://domohome.ddns.jazztel.es:48053/ui)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcorts%2Fspack-lora-sat-groundstation_workshop","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmcorts%2Fspack-lora-sat-groundstation_workshop","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmcorts%2Fspack-lora-sat-groundstation_workshop/lists"}