{"id":19124426,"url":"https://github.com/scramjetorg/raspberry-pi-dash","last_synced_at":"2025-02-22T13:57:30.586Z","repository":{"id":171923488,"uuid":"597100456","full_name":"scramjetorg/raspberry-pi-dash","owner":"scramjetorg","description":"A Raspberry Pi dashboard with Scramjet Transform Hub","archived":false,"fork":false,"pushed_at":"2023-05-29T21:23:04.000Z","size":1204,"stargazers_count":1,"open_issues_count":4,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-01-03T09:19:30.626Z","etag":null,"topics":["cloud","dashboards","raspberry-pi","resource-utilization","serverless"],"latest_commit_sha":null,"homepage":"https://docs.scramjet.org/platform/transform-hub/","language":"JavaScript","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/scramjetorg.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-02-03T16:21:45.000Z","updated_at":"2023-06-02T10:09:09.000Z","dependencies_parsed_at":null,"dependency_job_id":"1a883c38-abe2-4dea-b06f-5f174c71fe0e","html_url":"https://github.com/scramjetorg/raspberry-pi-dash","commit_stats":null,"previous_names":["scramjetorg/raspberry-pi-dash"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scramjetorg%2Fraspberry-pi-dash","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scramjetorg%2Fraspberry-pi-dash/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scramjetorg%2Fraspberry-pi-dash/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/scramjetorg%2Fraspberry-pi-dash/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/scramjetorg","download_url":"https://codeload.github.com/scramjetorg/raspberry-pi-dash/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240183761,"owners_count":19761439,"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":["cloud","dashboards","raspberry-pi","resource-utilization","serverless"],"created_at":"2024-11-09T05:29:04.138Z","updated_at":"2025-02-22T13:57:30.559Z","avatar_url":"https://github.com/scramjetorg.png","language":"JavaScript","readme":"# Running STH (Scramjet Transform Hub) on Raspberry Pi\n\n 🚀 + \u003cimg width=\"2%\" src=\"https://user-images.githubusercontent.com/81818614/219020422-56b87af7-fb08-4de3-9a92-b95c550fc834.svg\"\u003e ? Why not!\n \n \n # Table of contents \u003c!-- omit in toc --\u003e\n\n- [Introduction :handshake:](#introduction)\n- [Installation :clamp:](#installation-clamp)\n- [Start STH :checkered_flag:](#start-sth-checkered_flag)\n- [Set up the Sequence 🔨](#set-up-the-sequence)\n- [FAQ | Troubleshooting :collision:](#faq-troubleshooting-collision)\n- [Dictionary :book:](#dictionary-book)\n \n ## Introduction\n\nScramjet Sequences don't require high hardware requirements. You can run it also on cheap single-board computers for example Raspberry Pi \u003cimg width=\"1.2%\" src=\"https://user-images.githubusercontent.com/81818614/219020422-56b87af7-fb08-4de3-9a92-b95c550fc834.svg\"\u003e The following configuration was tested on Raspberry Pi Zero 2 W booted in headless mode with 64-bit image (5.15 kernel). In this example we will capture some internal parameters of RPi in real time.\n\nHow to boot rPi? -\u003e [official video](https://www.youtube.com/watch?v=ntaXWS8Lk34\u0026feature=youtu.be)\n\n\n## Installation :clamp:\n\nFirst You should install node.js (we recommend 16.x):\n```\ncurl -fsSL https://deb.nodesource.com/setup_16.x | sudo -E bash -\n```\n```\nsudo apt-get install -y nodejs\n```\nthen install our STH and CLI:\n\n```\nsudo npm i -g @scramjet/sth @scramjet/cli\n```\n\nVerify installation:\n```\nnode -v\nsi -v\n```\n\n## Start STH :checkered_flag:\n\nCreate sth_rpi_config.json:\n```\n{\n    \"runtimeAdapter\": \"process\",\n    \"safeOperationLimit\": 128,\n    \"instanceRequirements\": { \"freeMem\": 64 }\n}\n```\n**or** sth_rpi_config.yml:\n```\nsafeOperationLimit: 128\nruntimeAdapter: process\ninstanceRequirements:\n    freeMem: 64\n```\n\nand launch Scramjet Transform Hub \n```\nsth --config /path/to/config/sth_rpi_config.json\n```\n:bulb: Note: As default hub reserves 512MB of RAM, if your raspberry has 1GB or more, you can try run sth without custom memory limits\n\n\n## Set up the Sequence\n\nclone this git repository:\n\n```bash\ngit clone git@github.com:scramjetorg/raspberry-pi-dash.git\n```\n\n`cd` inside sequence directory:\n\n```bash\ncd seq-internal-rpi\n```\n\nnow you have to build dist directory:\n\n```bash\nnpm run build\n```\nand deploy the sequence! :rocket: :\n\n```bash\nsi seq deploy dist\n```\nnow the Instance of your Sequence is running and producing to \"pi\" topic, you can verify that by launching topic listener :ear: via CLI:\n\n```bash\nsi topic get pi\n```\nyou should see similar output:\n```\n[38.63, 8.35, 0.25]\n[39.17, 8.35, 0.24]\n[38.63, 8.35, 0.24]\n[38.63, 8.35, 0.24]\n```\nthese values are respectively: chip temperature in Celcius degrees, disk usage and average CPU load.\n\n:bulb: Note: If you want to dig in, there is [full STH documentation](https://github.com/scramjetorg/platform-docs)\n\n## FAQ Troubleshooting :collision:\n### Why my computer doesn't see the Raspberry?\n\nRaspberry Team have removed default user. If you created image with non official imager (eg. balenaEtcher), you need to create userconf.txt (in the boot root directory) and add the following line:\n```\npi:$6$/XOZsG1X0IAbhXB0$wYZHRkvib0SUKQA3KVAxofPR.JsFAbI2NCue2znGvhRsQobVdllFXyQZ7fMSvAoyEj8MfHtkMeSZT7IRIixg01\n\n```\nthis step will enable default user (user: pi, password: raspberry).\n\n:bulb: We recommend using the official imager\n\n\n### I made some changes in my code, how to rebuild the sequence?\n\nThere are two ways, you can force rebuild with `npm run build --upgrade` or manually remove `/dist` directory and do simple `npm run build`.\n\n## Dictionary :book:\n\n- STH - Scramjet Transform Hub\n- Sequence - program adapted to run in STH environment\n- Instance - running Sequence\n- Topics - are named buses over which Instances exchange messages\n- si - Scramjet Command Line Interface\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscramjetorg%2Fraspberry-pi-dash","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fscramjetorg%2Fraspberry-pi-dash","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fscramjetorg%2Fraspberry-pi-dash/lists"}