Author Topic: Simblee - OTA programming?  (Read 6672 times)

Tim

  • RFduino Sr. Member
  • ****
  • Posts: 115
  • Karma: +2/-0
    • View Profile
Re: Simblee - OTA programming?
« Reply #30 on: January 30, 2017, 05:53:22 PM »
Hi ...

A bit of info to share that might be helpful.

We hand assemble our boards too using the following providers:

- PCBs manufactured by OSH Park (https://oshpark.com)
- stainless steel stencils by OSH Stencils (https://www.oshstencils.com)
- reflow oven by Whizoo (http://www.whizoo.com)

Our board provides access to UART pins (see image1). We use a 5-pin header to hold onto to PCB while programming occurs. Wires from this header are connected to 7-pin header which connects to the USB shield. We connect everything, hold the 5-pin header inserted into the UART access point on the board, then initiate programming from the Arduino IDE (see image2).

I agree, it would be convenient if Simblee shipped with the OTA bootloader onboard so initial programming could occur OTA.

Your sketch does not need to call ota_bootloader_start() when using the Nordic iOSDFULibrary. All that's necessary is that your sketch include ota_bootloader.h. OTA can be initiated by the iOS app connected to the Simblee via BLE.

Hope helpful ...

Tim

nicolas.ehrenberg

  • RFduino Newbie
  • *
  • Posts: 2
  • Karma: +0/-0
    • View Profile
Re: Simblee - OTA programming?
« Reply #31 on: February 03, 2017, 06:18:17 AM »
Hi,

Thanks for the reply. If I just include the ota_bootloader.h file, I cannot find any availbale devices to pair and use DFU (Nordic Semiconductor nRF Toolbox, Android).

Some more details:
using the following libraries:

 
Code: [Select]
#include <ota_bootloader.h>
#include <Wire.h>
#include <SimbleeCOM.h>

among other things, calling:

Code: [Select]
void setup() {
 SimbleeCOM.begin();
}

 and

Code: [Select]
void loop() {
SimbleeCOM.send(send_package, sizeof(send_package));
}

Those are (as far as I'm concerend) the only lines where BLE is involved in my sketch. Now if I include ota_bootloader_start(), I can find Simblee as a DFU target, but then neither the serial monitor nor the SimbleeCOM.send function work. On the other hand if I leave ota_bootloader_start() out of it, no DFU taget can be found.

Now I tried to include the SimbleeBLE library and I could find the DFU target, but it doesn't seem to be compatible with SimbleeCOM. Meaning as soon as I use a SimbleeCom function it doesn't compile anymore.

Hope this gives some more info about my problem.

Cheers,
Nick

lpercifield

  • RFduino Newbie
  • *
  • Posts: 6
  • Karma: +1/-0
    • View Profile
Re: Simblee - OTA programming?
« Reply #32 on: February 16, 2017, 10:02:52 AM »
Nick,
As far as I know, SimbleeCOM disables "standard" ble, unless you use dual_mode.

The SimbleeCOM ReceiveWithOTABootloaded example shows how to implement OTA with SimbleeCOM:
Code: [Select]
#include "ota_bootloader.h"

#include "SimbleeCOM.h"

void setup() {
  Serial.begin(9600);
 
  SimbleeCOM.begin();
}

void loop() {
}

void SimbleeCOM_onReceive(unsigned int esn, const char *payload, int len, int rssi)
{
  printf("%d ", rssi);
  printf("0x%08x ", esn);
  for (int i = 0; i < len; i++)
    printf("%02x ", payload[i]);
  printf("\n");
 
  if (strcmp(payload, "OTA") == 0)
    ota_bootloader_start();
}

lpercifield

  • RFduino Newbie
  • *
  • Posts: 6
  • Karma: +1/-0
    • View Profile
Re: Simblee - OTA programming?
« Reply #33 on: February 16, 2017, 10:12:12 AM »
Hey All,
I want to share my success with OTA programming of the Simblee. Following many of the other comments in this topic, I created a replacement Simblee 1.1.0 package that includes the option to export a .ZIP file that is usable for OTA programming in the NRF Connect IOS and Android apps.

This only will currently work for Mac, and possibly Linux, but definitely not Windows, as the compiled nrfutil app is for unix.

Simply replace you Simblee 1.1.0 folder in the /Users/USERNAME/Library/Arduino15/packages/Simblee/hardware or ArduinoAPP/portable (I don't use this way so might be different)

Here is the download link: https://drive.google.com/file/d/0BxAtlnCAUaO9OVhXMEx6ZUFJZzg/view?usp=sharing

**RFDIGITAL People**
What are the implications of redistributing your Simblee package?? Is this something that can be put in Github so that it can be more easily modified and distributed??

Leif

Ivanot88

  • RFduino Newbie
  • *
  • Posts: 1
  • Karma: +0/-0
    • View Profile
Re: Simblee - OTA programming?
« Reply #34 on: May 18, 2017, 12:15:13 PM »
Hi thank you for your work, could you please explain the usage of the new package you modified?
What we have to do to get the zip after substituted the folder?

Thank you very much

 

anything