{"id":16389936,"url":"https://github.com/mnishiguchi/hello_poncho","last_synced_at":"2026-05-16T11:32:08.138Z","repository":{"id":84540750,"uuid":"376348291","full_name":"mnishiguchi/hello_poncho","owner":"mnishiguchi","description":null,"archived":false,"fork":false,"pushed_at":"2021-06-12T19:43:18.000Z","size":43,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-06T20:48:00.140Z","etag":null,"topics":["elixir","nerves-project","phoenix-framework","phoenix-liveview","raspberrypi"],"latest_commit_sha":null,"homepage":"https://dev.to/mnishiguchi/elixir-poncho-project-with-nerves-firmware-and-phoenix-liveview-ui-48k","language":"Elixir","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/mnishiguchi.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":"2021-06-12T17:28:25.000Z","updated_at":"2025-08-27T00:00:00.000Z","dependencies_parsed_at":"2023-03-05T14:30:38.003Z","dependency_job_id":null,"html_url":"https://github.com/mnishiguchi/hello_poncho","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mnishiguchi/hello_poncho","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnishiguchi%2Fhello_poncho","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnishiguchi%2Fhello_poncho/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnishiguchi%2Fhello_poncho/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnishiguchi%2Fhello_poncho/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mnishiguchi","download_url":"https://codeload.github.com/mnishiguchi/hello_poncho/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mnishiguchi%2Fhello_poncho/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33100821,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-16T04:41:52.686Z","status":"ssl_error","status_checked_at":"2026-05-16T04:41:52.009Z","response_time":115,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["elixir","nerves-project","phoenix-framework","phoenix-liveview","raspberrypi"],"created_at":"2024-10-11T04:34:35.721Z","updated_at":"2026-05-16T11:32:08.115Z","avatar_url":"https://github.com/mnishiguchi.png","language":"Elixir","funding_links":[],"categories":[],"sub_categories":[],"readme":"The content of this file is adopted from [nerves-project/nerves_examples](https://github.com/nerves-project/nerves_examples/tree/main/hello_phoenix).\n\n# Hello Poncho\n\nThis example demonstrates a basic poncho project for deploying a [Phoenix\nFramework]-based application to a Nerves device. A \"poncho project\" is similar\nto an umbrella project except that it's actually multiple separate-but-related\nElixir apps that use `path` dependencies instead of `in_umbrella` dependencies.\nYou can read more about the motivations behind this concept on the\nembedded-elixir blog post about [Poncho Projects].\n\n## Hardware\n\nThis example serves a Phoenix-based web page over the network. The steps below\nassume you are using a Raspberry Pi Zero, which allows you to connect a single\nUSB cable to the port marked \"USB\" to get both network and serial console\naccess to the device. By default, this example will use the virtual Ethernet\ninterface provided by the USB cable, assign an IP address automatically, and\nmake it discoverable using mDNS (Bonjour). For more information about how to\nconfigure the network settings for your environment, including WiFi settings,\nsee the [`vintage_net` documentation](https://hexdocs.pm/vintage_net/).\n\n## How to Use this Repository\n\n1. Connect your target hardware to your host computer or network as described\n   above\n2. Prepare your Phoenix project to build JavaScript and CSS assets:\n\n    ```bash\n    # These steps only need to be done once.\n    cd hello_poncho_ui\n    mix deps.get\n    npm install --prefix assets\n    ```\n\n3. Build your assets and prepare them for deployment to the firmware:\n\n    ```bash\n    # Still in hello_poncho_ui directory from the prior step.\n    # These steps need to be repeated when you change JS or CSS files.\n    npm install --prefix assets --production\n    npm run deploy --prefix assets\n    mix phx.digest\n    ```\n\n4. Change to the `hello_poncho_firmware` app directory\n\n    ```bash\n    cd ../hello_poncho_firmware\n    ```\n\n5. Specify your target and other environment variables as needed:\n\n    ```bash\n    export MIX_TARGET=rpi0\n    # If you're using WiFi:\n    # export WIFI_SSID=your_wifi_name\n    # export WIFI_PSK=your_wifi_password\n    ```\n\n6. Get dependencies, build firmware, and burn it to an SD card:\n\n    ```bash\n    mix deps.get\n    mix firmware\n    mix firmware.burn\n    ```\n\n7. Insert the SD card into your target board and connect the USB cable or otherwise power it on\n8. Wait for it to finish booting (5-10 seconds)\n9. Open a browser window on your host computer to `http://nerves.local/`\n10. You should see a \"Welcome to Phoenix!\" page\n\n[Phoenix Framework]: http://www.phoenixframework.org/\n[Poncho Projects]: http://embedded-elixir.com/post/2017-05-19-poncho-projects/\n\n## Learn More\n\n* Official docs: https://hexdocs.pm/nerves/getting-started.html\n* Official website: https://nerves-project.org/\n* Discussion Slack elixir-lang #nerves ([Invite](https://elixir-slackin.herokuapp.com/))\n* Source: https://github.com/nerves-project/nerves\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnishiguchi%2Fhello_poncho","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmnishiguchi%2Fhello_poncho","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmnishiguchi%2Fhello_poncho/lists"}