esp_provisioning
Espressif BLE Provisioning库,适用于ESP32
开发了一个Flutter库,用于通过蓝牙BLE向ESP32提供网络凭证和/或自定义数据。
该公司生产ESP32芯片,Espressif,他们为iOS和Android每个平台都有2个库。
然而,Flutter上的移动应用程序开发现在更简单,很多人都需要这个。
入门
- 需要在您的应用程序中使用flutter_ble_lib进行BLE传输。
- API(请参阅示例)
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)。有关安全握手逻辑的更多详细信息,请参阅统一配置。
