{"id":33167555,"url":"https://github.com/ianmas-aws/iot-button-emulator","last_synced_at":"2025-11-20T18:01:03.586Z","repository":{"id":77475388,"uuid":"67057808","full_name":"ianmas-aws/iot-button-emulator","owner":"ianmas-aws","description":"Emulate the AWS IoT Button on a Raspberry Pi with a simple push button using this C++ sample","archived":false,"fork":false,"pushed_at":"2016-09-16T15:32:01.000Z","size":2078,"stargazers_count":10,"open_issues_count":0,"forks_count":7,"subscribers_count":5,"default_branch":"master","last_synced_at":"2024-04-20T18:01:29.307Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ianmas-aws.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}},"created_at":"2016-08-31T17:12:24.000Z","updated_at":"2024-04-20T18:01:29.307Z","dependencies_parsed_at":null,"dependency_job_id":"9e8a6f4e-9f80-4540-ab4a-11712b5e7dad","html_url":"https://github.com/ianmas-aws/iot-button-emulator","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ianmas-aws/iot-button-emulator","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ianmas-aws%2Fiot-button-emulator","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ianmas-aws%2Fiot-button-emulator/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ianmas-aws%2Fiot-button-emulator/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ianmas-aws%2Fiot-button-emulator/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ianmas-aws","download_url":"https://codeload.github.com/ianmas-aws/iot-button-emulator/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ianmas-aws%2Fiot-button-emulator/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":285484486,"owners_count":27179744,"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","status":"online","status_checked_at":"2025-11-20T02:00:05.334Z","response_time":54,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2025-11-16T00:00:45.513Z","updated_at":"2025-11-20T18:01:03.578Z","avatar_url":"https://github.com/ianmas-aws.png","language":"C++","funding_links":[],"categories":["Fork"],"sub_categories":["Others"],"readme":"# iot-button-emulator\n\nA simple emulator for the AWS IoT Button implemeted in C++ for compilation on the Raspberry Pi.\n\nQuick getting started guide (needs more work) - assumes you have Raspbian Jessie Minimal installed\n\nDownloading and Building WiringPi\n\n* Install git on your Pi with `sudo apt-get install git`\n* Clone the wiringPi source repo with `git clone git://git.drogon.net/wiringPi`\n* cd wiringPi \u0026\u0026 ./build\n\nDownloading and Building the AWS IoT SDK for Embedded C\n\n* Install cmake on your Pi with `sudo apt-get install cmake`\n* Clone the AWS IoT SDK with `git clone https://github.com/aws/aws-iot-device-sdk-embedded-C`\n* `git clone https://github.com/cpputest/cpputest`\n* `mv cpputest/* aws-iot-device-sdk-embedded-C/external_libs/CppUTest/ \u0026\u0026 rm -rf cpputest`\n* `wget https://github.com/ARMmbed/mbedtls/archive/mbedtls-2.1.1.zip`\n* `unzip mbedtls-mbedtls-2.1.1`\n* `mv mbedtls-mbedtls-2.1.1/* aws-iot-device-sdk-embedded-C/external_libs/mbedTLS/ \u0026\u0026 rm -rf mbedtls-mbedtls-2.1.1`\n* `cd aws-iot-device-sdk-embedded-C`\n* `make`\n\nThis will kick off the build the AWS IoT C SDK on your Raspberry Pi. This takes a while. As the Pi is a British invention, go and make a cup of tea at this point\n\nSetting up the IoT Button Emulator\n\n* Clone this repo in samples/linux/ with the other client samples with `cd samples/linux ; git clone https://github.com/ianmas-aws/iot-button-emulator`\n* Set up your thing on the AWS IoT console or use the command line and download your device certificates \u0026 public/private keys\n* Create a directory called samples/linux/certs  \n* Put your downloaded device specific certificate, the CA root certificate and public/private keys in samples/linux/certs\n* Edit aws_iot_config.h with the correct filenames for your certificates and keys, your device serial number, and your account specific AWS IoT endpoint\n* Build with the `make` command. This build the mbedtls library on first build along with the button emulator\n* Replicate the wiring setup shown in iot-button-emulator-wiring.jpeg\n* run `sudo ./iot-button-emulator` (must be run as root for access to the GPIO)\n\n* subscribe to the iot-button-emulator/+ topic with the AWS IoT Console\n\nPress the connected button and watch the JSON messages flow\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fianmas-aws%2Fiot-button-emulator","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fianmas-aws%2Fiot-button-emulator","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fianmas-aws%2Fiot-button-emulator/lists"}