esp_provisioning

Made with love in Vietnam Pub Version

Espressif BLE Provisioning库,适用于ESP32

开发了一个Flutter库,用于通过蓝牙BLE向ESP32提供网络凭证和/或自定义数据。
该公司生产ESP32芯片,Espressif,他们为iOS和Android每个平台都有2个库。

然而,Flutter上的移动应用程序开发现在更简单,很多人都需要这个。

入门

 EspProv prov = EspProv(
        transport: TransportBLE(ble_peripheral), security: Security1(pop: pop));
 var success = await prov.establishSession();
 await prov.sendWifiConfig(ssid: event.ssid, password: event.password);
 await prov.applyWifiConfig();

协议通信概述

协议通信(protocomm)组件管理安全会话并为多种传输提供框架。应用程序也可以直接使用protocomm层,为特定于应用程序的配置(或非配置)用例提供扩展。

为配置提供了以下功能:

  • 应用程序级别的通信安全

    • protocomm_security1(curve25519密钥交换+AES-CTR加密)
  • 持有证明(仅支持protocomm_security1)

Protocomm内部使用protobuf(protocol buffers)进行安全会话建立。尽管用户可以实现自己的安全(即使不使用protobuf)。用户甚至可以在没有安全层的情况下使用protocomm。

Protocomm为各种传输提供了框架 – WiFi(SoftAP+HTTPD)、BLE、控制台 – 在这种情况下,会自动处理设备端的处理程序调用(请参阅下面的传输示例以获取代码片段)。

请注意,客户端仍需要通过执行双向握手来建立会话(仅适用于protocomm_security1)。有关安全握手逻辑的更多详细信息,请参阅统一配置。

许可证

Apache许可证2.0版

GitHub

查看 Github