{"id":13635184,"url":"https://github.com/rwth-afu/UniPager","last_synced_at":"2025-04-19T03:34:31.276Z","repository":{"id":15427176,"uuid":"73515239","full_name":"rwth-afu/UniPager","owner":"rwth-afu","description":"Universal POCSAG transmitter controller written in Rust.","archived":false,"fork":false,"pushed_at":"2024-02-17T14:40:05.000Z","size":818,"stargazers_count":87,"open_issues_count":38,"forks_count":26,"subscribers_count":15,"default_branch":"master","last_synced_at":"2024-11-09T05:33:55.888Z","etag":null,"topics":["amateur-radio","ham-radio","pocsag","rust"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/rwth-afu.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":"2016-11-11T22:09:43.000Z","updated_at":"2024-09-18T14:17:26.000Z","dependencies_parsed_at":"2024-01-12T11:59:51.929Z","dependency_job_id":"0a27a914-2a07-48cc-b843-c9f928fd95e0","html_url":"https://github.com/rwth-afu/UniPager","commit_stats":null,"previous_names":[],"tags_count":20,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-afu%2FUniPager","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-afu%2FUniPager/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-afu%2FUniPager/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/rwth-afu%2FUniPager/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/rwth-afu","download_url":"https://codeload.github.com/rwth-afu/UniPager/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249600533,"owners_count":21297710,"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":["amateur-radio","ham-radio","pocsag","rust"],"created_at":"2024-08-02T00:00:42.038Z","updated_at":"2025-04-19T03:34:30.975Z","avatar_url":"https://github.com/rwth-afu.png","language":"Rust","funding_links":[],"categories":["Software"],"sub_categories":["POCSAG"],"readme":"# UniPager\n\n[![Build Status](https://img.shields.io/travis/rwth-afu/UniPager.svg?style=flat)](https://travis-ci.org/rwth-afu/UniPager)\n[![GitHub issues](https://img.shields.io/github/issues/rwth-afu/UniPager.svg?style=flat)](https://github.com/rwth-afu/UniPager/issues)\n[![GitHub release](https://img.shields.io/github/release/rwth-afu/UniPager.svg?style=flat)](https://github.com/rwth-afu/UniPager/releases)\n\nUniversal POCSAG transmitter controller written in Rust.\n\n## Automatic Installation\n\nThis script installs UniPager fully automatically on Debian/Raspbian systems.\nIt also uninstalls RustPager and migrates the old configuration file.\n\n```bash\n# Via HAMNET\ncurl http://db0sda.ampr.org/debian/install.sh -sSf | sh -s -- hamnet\n\n# Via Internet\ncurl http://www.afu.rwth-aachen.de/debian/install.sh -sSf | sh -s -- internet\n```\n\n## Configuration\n\nThe web interface for configuration is available on port `8073`. Port `8055`\nmust also be open to allow websocket communication between the browser and\nUniPager.\n\n### Raspberry Pi\nMake sure that the serial port is activated. To do this add `enable_uart=1` to\n`/boot/config.txt`, remove `console=ttyAMA0,115200` from `/boot/cmdline.txt` and\nreboot.\n\nThis is not needed for the RASPAGERV1 and Audio transmitter type.\n\n## Update\nOnce the package is installed, you can install updates as for every other debian package with the following commands:\n```bash\nsudo apt-get update\nsudo apt-get upgrade\n```\n\n## Manual Installation from HAMNET\n\nCreate the file `/etc/apt/sources.list.d/unipager.list` with the following content:\n\n```\ndeb http://db0sda.ampr.org/debian unipager main\ndeb-src http://db0sda.ampr.org/debian unipager main\n```\n\nThen execute the following commands:\n\n```bash\nwget -O - http://ci.db0sda.ampr.org/debian/rwth-afu.key | sudo apt-key add -\nsudo apt-get update\nsudo apt-get install unipager\n```\n\n## Manual Installation from Internet\n\nCreate the file `/etc/apt/sources.list.d/unipager.list` with the following content:\n\n```\ndeb http://www.afu.rwth-aachen.de/debian unipager main\ndeb-src http://www.afu.rwth-aachen.de/debian unipager main\n```\n\nThen execute the following commands:\n\n```bash\nwget -O - http://www.afu.rwth-aachen.de/debian/rwth-afu.key | sudo apt-key add -\nsudo apt-get update\nsudo apt-get install unipager\n```\n\n## Local Compilation from source\n\nInstall rust:\n\n```bash\ncurl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly\n```\n\nNow reboot OR log out to make the rust toolchain available.\n\nLog in again and clone the source:\n\n```bash\ngit clone https://github.com/rwth-afu/UniPager.git\n```\n\nIf this command fails, you may need to install git and try again:\n\n```bash\nsudo apt-get install git\n```\n\nStart the build:\n\n```bash\ncd UniPager\ncargo build --release\n```\nThe compiled binary will be created at `./target/release/unipager`.\n\nBe aware: Must be run with root privileges for GPIO access. Secondly it may be required to disable Bluetooth on newer Raspberry Pi models to make the GPIO UART usable.\n\n## Local Cross Compilation from source\n\nInstall rust:\n\n```bash\ncurl https://sh.rustup.rs -sSf | sh -s -- --default-toolchain nightly\n```\n\nInstall the GCC cross compiler:\n\n```bash\nsudo apt-get install -qq gcc-arm-linux-gnueabi # for soft float\nsudo apt-get install -qq gcc-arm-linux-gnueabihf # for hard float\n```\n\nDefine the target:\n\n```bash\n# ARMv6 with soft float\nexport TARGET=\"arm-unknown-linux-gnueabi\"\n\n# ARMv6 with hard float (e.g. Raspberry Pi 1)\nexport TARGET=\"arm-unknown-linux-gnueabihf\"\n\n# ARMv7 with hard float (e.g. Raspberry Pi 2 and 3)\nexport TARGET=\"armv7-unknown-linux-gnueabihf\"\n```\n\nInstall the cross-compiled rust libraries:\n\n```bash\nrustup target add $TARGET\n```\n\nCreate the file `~/.cargo/config` with the following content:\n\n```toml\n[target.arm-unknown-linux-gnueabi]\nlinker = \"arm-linux-gnueabi-gcc\"\n\n[target.arm-unknown-linux-gnueabihf]\nlinker = \"arm-linux-gnueabihf-gcc\"\n\n[target.armv7-unknown-linux-gnueabihf]\nlinker = \"arm-linux-gnueabihf-gcc\"\n```\n\nClone the source:\n\n```bash\ngit clone https://github.com/rwth-afu/UniPager.git\n```\n\nStart the build:\n\n```bash\ncd UniPager\ncargo build --target $TARGET --release\n```\n\nThe cross-compiled binary will be created at `./target/$TARGET/release/unipager`.\n\n## Manual Installation after compilation\n\nMove the UniPager binary to `/usr/local/bin/unipager`. Create the directory\n`/var/lib/unipager`. Create the file `/etc/systemd/system/unipager.service` with\nthe following content:\n\n```\n[Unit]\nDescription=UniPager POCSAG transmitter controller\nAfter=network.target\n\n[Service]\nExecStart=/usr/local/bin/unipager\nWorkingDirectory=/var/lib/unipager\n\n[Install]\nWantedBy=multi-user.target\n```\nReload systemctl configuration with `sudo systemctl daemon-reload`.\nTo start UniPager enter `sudo systemctl start unipager`. To start UniPager\nautomatically after booting enter `sudo systemctl enable unipager`.\n\n## Authors\n\n### Author and Maintainer\n\n- Thomas Gatzweiler (DL2IC)\n\n### Contributors\n\n- Mathis Schmieder (DB9MAT)\n- Florian Wolters (DF2ET)\n- Ralf Wilke (DH3WR)\n- Johannes Gierlach (DJ7LC)\n- Robert Wittek (OE1RXW)\n\n## License\n\n    UniPager\n    Copyright (C) 2017-2021  RWTH Amateurfunkgruppe\n\n    This program is free software: you can redistribute it and/or modify\n    it under the terms of the GNU General Public License as published by\n    the Free Software Foundation, either version 3 of the License, or\n    (at your option) any later version.\n\n    This program is distributed in the hope that it will be useful,\n    but WITHOUT ANY WARRANTY; without even the implied warranty of\n    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n    GNU General Public License for more details.\n\n    You should have received a copy of the GNU General Public License\n    along with this program.  If not, see \u003chttp://www.gnu.org/licenses/\u003e.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frwth-afu%2FUniPager","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frwth-afu%2FUniPager","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frwth-afu%2FUniPager/lists"}