Giter Site home page Giter Site logo

sdsxpln / esp32-blufi Goto Github PK

View Code? Open in Web Editor NEW

This project forked from wolfeidau/esp32-blufi

0.0 2.0 0.0 8 KB

This component provides bluetooth onboarding for the ESP32 boards.

Home Page: https://github.com/wolfeidau/esp32-blufi

License: Other

C 99.60% Makefile 0.40%

esp32-blufi's Introduction

esp32-blufi

This component provides bluetooth onboarding for the ESP32 boards. It uses bluetooth to delivery the wifi configuration to the device. On top of the existing blufi example in esp-idf it uses Non-Volatile Storage (NVS) to save the credentials and disables the onboarding interface after rebooting, which means it is "closer" to a real demonstration and can be used "as is" in prototypes.

This uses some interesting methods to protect the data in transit between the Android application and the ESP32 and removes the need to HARD CODE the damn wifi credentials in your project code!!

As I understand it it uses Diffie–Hellman key exchange (DH) in conjunction with AES to exchange the wifi information over a GATT connection.

A demonstration esp-idf project is located at esp32-blufi-demo

TODO

  • At the moment this example app will NOT expose the bluetooth onboarding once it is setup, this needs to be resettable by HOLDING the EN button for a few seconds, aka Factory reset.
  • Once configured the device should be rebooted to disable onboarding, or bluetooth turned off.
  • Provide a Arduino example.

Links

This demo uses the recently somewhat opensourced EspBlufi Android application. This seems to also share code with BleLiteLib4android.

License

This code is Copyright 2015-2016 Espressif Systems (Shanghai) PTE LTD and Mark Wolfe and is released under Apache 2.0 license.

esp32-blufi's People

Contributors

wolfeidau avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.