{"id":13801736,"url":"https://github.com/lemariva/uPyEcho","last_synced_at":"2025-05-13T11:31:44.953Z","repository":{"id":47495568,"uuid":"108654834","full_name":"lemariva/uPyEcho","owner":"lemariva","description":"Emulated Belkin WeMo device that works with Amazon Echo (Alexa) using MicroPython on an ESP32","archived":false,"fork":false,"pushed_at":"2021-08-29T03:43:55.000Z","size":23,"stargazers_count":56,"open_issues_count":2,"forks_count":10,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-04-13T17:51:39.607Z","etag":null,"topics":["amazon-alexa","amazon-echo","esp32","ledstrip","lighthouse","micropython"],"latest_commit_sha":null,"homepage":"https://lemariva.com/blog/2017/10/micropython-wemos-and-amazon-echo-alexa","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/lemariva.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}},"created_at":"2017-10-28T14:13:58.000Z","updated_at":"2024-12-01T18:34:08.000Z","dependencies_parsed_at":"2022-09-11T07:11:37.723Z","dependency_job_id":null,"html_url":"https://github.com/lemariva/uPyEcho","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/lemariva%2FuPyEcho","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemariva%2FuPyEcho/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemariva%2FuPyEcho/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/lemariva%2FuPyEcho/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/lemariva","download_url":"https://codeload.github.com/lemariva/uPyEcho/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253932935,"owners_count":21986479,"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":["amazon-alexa","amazon-echo","esp32","ledstrip","lighthouse","micropython"],"created_at":"2024-08-04T00:01:26.589Z","updated_at":"2025-05-13T11:31:39.943Z","avatar_url":"https://github.com/lemariva.png","language":"Python","readme":"# uPyEcho\nEmulated Belkin WeMo device that works with Amazon Echo using MicroPython\n\nAbout the repository\n---------\nThis repository is based on [makermusings/fauxmo](https://github.com/makermusings/fauxmo) and it was ported to work on MicroPython.\nThis code emulates one or more Belkin WEMO type devices in software, and allows you to control them using an Amazon Echo.\nThe code was tested on:\n* ESP32 (WeMos board).\n* Amazon Echo Dot (2nd Generation) - revision 1.1 should work with all the versions of Amazon Echo.\n\nYou do not need to use AWS Lambda, or ngrok or open a port on your router. Amazon Echo searches for Belkin WEMO devices on the local network and using this code the WeMos board responds to the search request. For more information, please read [this article](https://goo.gl/ccpGhL).\n\nVideo\n---------\n[![PoC](https://img.youtube.com/vi/kkF3HfXV59I/0.jpg)](http://www.youtube.com/watch?v=kkF3HfXV59I)\n\nRequirements\n---------\n* [WeMos (ESP32 - working on this board)](https://www.banggood.com/WeMos-WiFi-Bluetooth-Battery-ESP32-Development-Tool-p-1164436.html?p=QW0903761303201409LG)\n* [NodeMcu Lua WIFI ESP8266 (next release -not tested yet)](https://www.banggood.com/D1-Mini-NodeMcu-Lua-WIFI-ESP8266-Development-Board-p-1044858.html?p=QW0903761303201409LG)\n* [INR18650 3.7v Battery](https://www.banggood.com/4PCS-Samsung-INR18650-30Q-3000mAh-Unprotected-Button-Top-18650-Battery-p-1067185.html?p=QW0903761303201409LG)\n* [WS2812B LED strip](https://www.banggood.com/5M-90W-300SMD-WS2812B-LED-RGB-Colorful-Strip-Light-Waterproof-IP65-WhiteBlack-PCB-DC5V-p-1035641.html?p=QW0903761303201409LG)\n* [MicroPython for ESP32](http://micropython.org/download#esp32)\n\nInstructions\n---------\n* Install MicroPython on the ESP32, you can use [this tutorial](https://lemariva.com/blog/2017/10/micropython-getting-started);\n* Modify the following lines in the `boot.py`\n  * ssid_ = `\u003cyour ssid\u003e`\n  * wp2_pass = `\u003cyour wpa2 password\u003e`\n* Modify the `main.py` file if you want to:\n  * The code line\n  ```python\n  ws2812_chain =  WS2812(ledNumber=ledNumber, brightness=100)\n  ```\n\tdefines the WS2812 LED strip. The argument `ledNumber` defines the size of the LED strip. In my case, I used 144 LEDs.\n  * The code lines\n  ```python\n    devices = [\n        {\"description\": \"white led\",\n         \"port\": 12340,\n         \"handler\": rest_api_handler((255,255,255), 50)},\n         ... ]\n    ```\n\tdefine the devices that are going to be found by Amazon Echo. Please read [this article](https://goo.gl/ccpGhL) for more information;\n* Upload the code to the WeMos board;\n* Connect the LED strip and restart the board;\n* Start a device search from Amazon Echo. You can use the Alexa application, or just say, \"echo/alexa, search for new devices\" and wait;\n* Say, \"echo/alexa, turn on the \u003cyour device name\u003e\", it should work.\n\nChangelog\n---------\n* Revision: 1.1 - Code cleaned and added support for Amazon Echo (2nd Generation) using [this info](https://github.com/kakopappa/arduino-esp8266-alexa-multiple-wemo-switch/issues/22).\n* Revision: 1.0 - Initial commit\n\nLicense\n--------\n* Check files\n\nCredits\n--------\n* [makermusings/fauxmo](https://github.com/makermusings/fauxmo)\n\nMore Info:\n---------\n* [MicroPython for ESP32](http://micropython.org/download#esp32)\n* [MicroPython Tutorial](https://lemariva.com/blog/2017/10/micropython-getting-started)\n* [Universal Plug\u0026Play](https://en.wikipedia.org/wiki/Universal_Plug_and_Play)\n* [Node-red WEMO Emulator](http://flows.nodered.org/node/node-red-contrib-wemo-emulator)\n* Chris(derossi) links:\n  * [Amazon Echo \u0026 Home-Automation](http://www.makermusings.com/2015/07/13/amazon-echo-and-home-automation/)\n  * [How to Make Amazon Echo Control Fake Wemo Devices](http://hackaday.com/2015/07/16/how-to-make-amazon-echo-control-fake-wemo-devices/)\n  * [Virtual Wemo Code for Amazon Echo](http://www.makermusings.com/2015/07/18/virtual-wemo-code-for-amazon-echo)\n  * [Home Automation with Amazon Echo Apps, Part 1](http://www.makermusings.com/2015/07/19/home-automation-with-amazon-echo-apps-part-1/)\n* [Alexa Skills Kit](https://developer.amazon.com/appsandservices/solutions/alexa/alexa-skills-kit)\n* [Flask-Ask: A New Python Framework for Rapid Alexa Alexa Skills Kit Development](https://developer.amazon.com/blogs/post/Tx14R0IYYGH3SKT/Flask-Ask-A-New-Python-Framework-for-Rapid-Alexa-Skills-Kit-Development)\n","funding_links":[],"categories":["Libraries"],"sub_categories":["Communications"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flemariva%2FuPyEcho","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flemariva%2FuPyEcho","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flemariva%2FuPyEcho/lists"}