OTA support for Android and iOS (April 2016)

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hi everyone,

My customer is interested in using Broadcom/Anaren for their BLE solution, but requires a solution for OTA.  Before we spend a lot of time with the source code provided at WICED Sense Android Source (v1.08)  I wanted to check with the community:

  • Does Broadcom support this code if deployed in a product?  Is the OTA code just for example purposes, or is it commercial grade, ready to ship?
  • Is anyone using OTA in their product?  How much of testing/fixing did you have to do?
  • I only found the Android OTA app.  Is there a iOS version of OTA?

Thanks

1 Solution
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

julianm3

The WICED Sense product was developed as an easy to use, very low cost demonstration kit, but with that said, the Android and iOS apps themselves were professionally developed and tested. These apps have been used extensively by other customers as example applications/starting points for their own handset applications, many of which are more than likely to use the OTA capability.

Most users of these applications have expertise in either iOS or Android development, so we do not receive many questions to that regard, so my assumption is that the two apps serve as good tools.

The iOS source is here: WICED Sense iOS Source (v1.0)

Then there is another iOS related doc here that a former member of the team put together: WICED Sense iOS App Source Code Guide

Many of our customers use OTA, and you will find that there are many questions on the forum related to this topic, but mainly pertaining to the sample applications we provide in the SDK, not the handset apps that shipped with the WICED Sense eval board.

To that point, you may also want to take a look at the following if you are interested in secure OTA: WICED Secure Over-the-Air Firmware Upgrade Application Note (SDK 2.x and TAG3 Board)

View solution in original post

0 Likes
4 Replies
MichaelF_56
Moderator
Moderator
Moderator
250 sign-ins 25 comments on blog 10 comments on blog

julianm3

The WICED Sense product was developed as an easy to use, very low cost demonstration kit, but with that said, the Android and iOS apps themselves were professionally developed and tested. These apps have been used extensively by other customers as example applications/starting points for their own handset applications, many of which are more than likely to use the OTA capability.

Most users of these applications have expertise in either iOS or Android development, so we do not receive many questions to that regard, so my assumption is that the two apps serve as good tools.

The iOS source is here: WICED Sense iOS Source (v1.0)

Then there is another iOS related doc here that a former member of the team put together: WICED Sense iOS App Source Code Guide

Many of our customers use OTA, and you will find that there are many questions on the forum related to this topic, but mainly pertaining to the sample applications we provide in the SDK, not the handset apps that shipped with the WICED Sense eval board.

To that point, you may also want to take a look at the following if you are interested in secure OTA: WICED Secure Over-the-Air Firmware Upgrade Application Note (SDK 2.x and TAG3 Board)

0 Likes
Anonymous
Not applicable

I see that in the 2.2.2 WICED development kit, there are some changes in the ws_upgrade_ota.* files.  Is there an updated version of the Android or iOS source code that show the other side of this process?  I couldn't find it the forums.

-----snip-----

$ FILE=ws_upgrade_ota.h; diff -w timercap/$FILE ota_firmware_upgrade/$FILE

2c2

<  * Copyright 2014, Broadcom Corporation

---

>  * Copyright 2015, Broadcom Corporation

63a64

> #define WS_UPGRADE_STATUS_CONTINUE                          9

---

> // When host is using Write No Response, it should wait for the

> // Continue Notifications after NU

> #define WS_UPGRADE_NUM_UNACKED_CHUNKS                       8

cliff@CLIFF-ASUS-LT /c/Users/cliff/Documents/_clfdat/_TimerCap/source_code/WICED/WICED-Smart-SDK-2.2.2/WICED-Smart-SDK/Apps

$ FILE=ws_upgrade_ota.c; diff -w timercap/$FILE ota_firmware_upgrade/$FILE

2c2

<  * Copyright 2014, Broadcom Corporation

---

>  * Copyright 2015, Broadcom Corporation

---

> // #define BLE_TRACE_DISABLE 1

70,71c69,70

< UINT16  ws_upgrade_current_offset;              // Offset in the image to store the data

< UINT16  ws_upgrade_total_len;                   // Total length expected from the host

---

> UINT32  ws_upgrade_current_offset;              // Offset in the image to store the data

> UINT32  ws_upgrade_total_len;                   // Total length expected from the host

76a76

> int     ws_upgrade_num_unacked_chunks;

87,93d86

< // Send a status byte to the host.

< void ws_upgrade_uart_send_status(int status)

< {

<       // ble_trace1("Ack:%d", status);

<     puart_write(status);

< }

<

185a179,182

>

>         // because we can be doing NVRAM read in a tight loop for reasonable time

>         // make sure that watch dog is ok

>         wdog_restart();

274a272

>             ws_upgrade_num_unacked_chunks   = 0;

275a274,276

>             if (len >= 5)

>                 ws_upgrade_total_len        += ((data[3] << 16) + (data[4] << 24));

>

337a339,345

>     // send Status Continue to enable client send more chunks

>     if (++ws_upgrade_num_unacked_chunks == WS_UPGRADE_NUM_UNACKED_CHUNKS)

>     {

>       ws_upgrade_num_unacked_chunks = 0;

>       ws_upgrade_send_status(WS_UPGRADE_STATUS_CONTINUE, FALSE);

>     }

>

----- snip -----

0 Likes

Hello Cliff,

Unfortunately we do not have new apps for Android/iOS for the updated OTA. The OTA should be compatible with the previous versions of the app. Please do let us know if you run into any issues.

Thanks,

Jaeyoung

Anonymous
Not applicable

Excellent response, thank you.  I'll forward these documents to the dev team. 

0 Likes