{"id":21313744,"url":"https://github.com/oldrev/sandwych-smartconfig","last_synced_at":"2025-07-12T00:33:35.890Z","repository":{"id":55777274,"uuid":"253703850","full_name":"oldrev/sandwych-smartconfig","owner":"oldrev","description":"Pure C# Implementation of Various WiFi SmartConfig Protocols: AirKiss and ESPTouch","archived":false,"fork":false,"pushed_at":"2023-01-20T18:29:39.000Z","size":253,"stargazers_count":22,"open_issues_count":6,"forks_count":10,"subscribers_count":4,"default_branch":"master","last_synced_at":"2024-10-12T03:27:32.624Z","etag":null,"topics":["airkiss","csharp","dotnet","esp32","esp8266","espressif","smartconfig","wechat","xamarin"],"latest_commit_sha":null,"homepage":"","language":"C#","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/oldrev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2020-04-07T06:15:30.000Z","updated_at":"2024-09-08T15:33:07.000Z","dependencies_parsed_at":"2023-02-12T04:17:09.714Z","dependency_job_id":null,"html_url":"https://github.com/oldrev/sandwych-smartconfig","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oldrev%2Fsandwych-smartconfig","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oldrev%2Fsandwych-smartconfig/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oldrev%2Fsandwych-smartconfig/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oldrev%2Fsandwych-smartconfig/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oldrev","download_url":"https://codeload.github.com/oldrev/sandwych-smartconfig/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225640128,"owners_count":17500894,"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":["airkiss","csharp","dotnet","esp32","esp8266","espressif","smartconfig","wechat","xamarin"],"created_at":"2024-11-21T18:08:23.275Z","updated_at":"2024-11-21T18:08:23.812Z","avatar_url":"https://github.com/oldrev.png","language":"C#","funding_links":["https://www.paypal.me/oldrev"],"categories":[],"sub_categories":[],"readme":"[![Build status](https://ci.appveyor.com/api/projects/status/y4vy6qr9k0xj8e7y/branch/master?svg=true)](https://ci.appveyor.com/project/oldrev/sandwych-smartconfig/branch/master)\n[![NuGet](https://img.shields.io/nuget/v/Sandwych.SmartConfig.svg)](https://www.nuget.org/packages/Sandwych.SmartConfig)\n\n# Sandwych.SmartConfig\n\nSandwych.SmartConfig is a pure C# implementation of various WiFi SmartConfig protocols that build from scratch.\n\nTD;LR: If you working on a Xamarin mobile app to deal with WiFi-capability IoT devices, you may need this library.\n\nEnglish | [简体中文](README.zh_cn.md)\n\n## Getting Started\n\n## Features\n\n* A .NET Standard class library, works on both Xamarin and desktop.\n* No third-party library referenced.\n* Supported protocols: WeChat's AirKiss and Espressif's ESPTouch.\n* Clean architecture, easy to learn and add your own protocol.\n* IoC container friendly.\n\n## Getting Started\n\n### Prerequisites\n\n* Microsoft Visual Studio 2019 \n* DocFX for API documents generation (Optional)\n\n### Supported Platforms\n\n* .NET Standard 2.0+\n\n### Installation\n\nInstall Sandwych.SmartConfig to your project by [NuGet](https://www.nuget.org/packages/Sandwych.SmartConfig) then you're good to go.\n\n## Examples\n\n### Usage\n\n```csharp\n\nvar provider = new EspSmartConfigProvider();\nvar ctx = provider.CreateContext();\n\nctx.DeviceDiscoveredEvent += (s, e) =\u003e {\n\tConsole.WriteLine(\"Found device: IP={0}    MAC={1}\", e.Device.IPAddress, e.Device.MacAddress);\n};\n\nvar scArgs = new SmartConfigArguments()\n{\n\tSsid = \"YourWiFiSSID\",\n\tBssid = PhysicalAddress.Parse(\"10-10-10-10-10-10\"),\n\tPassword = \"YourWiFiPassword\",\n\n\t// Your local IP address of WiFi network. It's important for using multiple network interfaces\n\t// See CliDemoApp for details.\n\tLocalAddress = IPAddress.Parse(\"192.168.1.10\") \n};\n\n// Do the SmartConfig job\nusing (var job = new SmartConfigJob(TimeSpan.FromSeconds(100))) // Set the timeout to 100 seconds\n{\n\tawait job.ExecuteAsync(ctx, scArgs);\n}\n\n```\n\nOr much simpler if you perfer the callback style:\n\n```csharp\n\nawait SmartConfigStarter.StartAsync\u003cEspSmartConfigProvider\u003e(args, \n\tonDeviceDiscovered: (s, e) =\u003e Console.WriteLine(\"Found device: IP={0}    MAC={1}\", e.Device.IPAddress, e.Device.MacAddress));\n\n```\n\n### The Demo Android App\n\nAPK Download: WIP\n\n## Donation\n\nIf this project is useful to you, you can buy me a beer:\n\n[![Support via PayPal.me](https://github.com/oldrev/sandwych-smartconfig/blob/master/assets/paypal_button.svg)](https://www.paypal.me/oldrev)\n\n## Contributiors\n\n* **Li \"oldrev\" Wei** - *Init work and the main maintainer* - [oldrev](https://github.com/oldrev)\n\n## License\n\nLicensed under the MIT License. Copyright \u0026copy; Sandwych.SmartConfig Contributors.\n\nSee [LICENSE.md](LICENSE.md) for details.\n\n## Credits\n\n* Espressif EsptouchForAndroid: https://github.com/EspressifApp/EsptouchForAndroid\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foldrev%2Fsandwych-smartconfig","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foldrev%2Fsandwych-smartconfig","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foldrev%2Fsandwych-smartconfig/lists"}