mirror of
https://github.com/thegecko/web-bluetooth-dfu.git
synced 2025-12-12 12:08:13 +08:00
46 lines
2.4 KiB
Markdown
46 lines
2.4 KiB
Markdown
# Web Bluetooth DFU
|
|
|
|
[](https://circleci.com/gh/thegecko/web-bluetooth-dfu)
|
|
[](http://bower.io/search/?q=web-bluetooth-dfu)
|
|
[](https://www.npmjs.com/package/web-bluetooth-dfu)
|
|
[](http://opensource.org/licenses/MIT)
|
|
|
|
Device firmware update with Web Bluetooth
|
|
|
|
Update device firmware via [Web Bluetooth](https://webbluetoothcg.github.io/web-bluetooth/) following the protocol here:
|
|
|
|
http://infocenter.nordicsemi.com/topic/com.nordic.infocenter.sdk52.v0.9.2/bledfu_transport.html?cp=4_0_2_4_2_4
|
|
|
|
## Device Configuration
|
|
|
|
You will need an [nRF51](https://www.nordicsemi.com/Products/nRF51-DK) or [nRF52](https://www.nordicsemi.com/Products/Bluetooth-Smart-Bluetooth-low-energy/nRF52-DK) development kit, flashed with the appropriate image:
|
|
|
|
[nrf51_boot_s110.hex](https://thegecko.github.io/web-bluetooth-dfu/firmware/nrf51_boot_s110.hex). The mbed bootloader merged with Nordic's s110 SoftDevice. Upon flashing the device will be in bootloader mode and ready to receive a DFU transfer.
|
|
|
|
[nrf52_boot_s132.hex](https://thegecko.github.io/web-bluetooth-dfu/firmware/nrf52_boot_s132.hex). Nordic's bootloader merged with Nordic's s132 SoftDevice. Upon flashing the device will be in bootloader mode and ready to receive a DFU transfer.
|
|
|
|
## Web Example
|
|
|
|
Open this site in a [Web Bluetooth](https://webbluetoothcg.github.io/web-bluetooth/) enabled browser:
|
|
|
|
[https://thegecko.github.io/web-bluetooth-dfu/](https://thegecko.github.io/web-bluetooth-dfu/)
|
|
|
|
## Node Example
|
|
|
|
Clone this repository, install the npm dependencies and execute.
|
|
|
|
```
|
|
$ npm install
|
|
$ node example_node <device-type>
|
|
```
|
|
|
|
Where ```<device-type>``` is one of ```nrf51``` or ```nrf52```.
|
|
|
|
## Updating the SoftDevice or Bootloader
|
|
|
|
The .hex files below can be transferred via DFU to test SoftDevice and Bootloader updates respectivley.
|
|
|
|
[nrf52_softdevice_only.hex](https://thegecko.github.io/web-bluetooth-dfu/firmware/nrf52_softdevice_only.hex). Nordic's s132 SoftDevice (nRF52 only).
|
|
[nrf52_bootloader_only.hex](https://thegecko.github.io/web-bluetooth-dfu/firmware/nrf52_bootloader_only.hex). Nordic's standard bootloader (nRF52 only).
|
|
|
|
Note: Currently updating the SoftDevice and Bootloader at the same time is not supported. |