This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LAUNCHXL-CC1350: & CC1350STK: Concentrator/Node - BLE instead of Sub-1GHz?

Part Number: LAUNCHXL-CC1350
Other Parts Discussed in Thread: CC1350, CC1350STK

Hello,

I want to use both CC1350 LaunchPad and SensorTag in a Concentrator/Node network. One LaunchPad would be the Concentrator and some other LaunchPads and/or SensortTags would be the nodes.

For now, I've been using the rfWsnDmConcentrator and rfWsnDnNode projects as a base and modified a small part of the code with CCS to enable the SensorTag's sensors (light, pressure, temperature, and humidity), send their data to the concentrator, how them on the LCD and use the UART. If I understood this correctly, in those projects, packets with the useful data are sent through Sub-1GHz whereas BLE is used only to send beacons.

Now I would like to use the BLE instead of Sub-1GHz to send the useful data (from the nodes) while Sub-1GHz will be used for communication with another distant concentrator (so I would like to keep the Sub-1Ghz as well). But I am quite confused with the EasyLink layer. Is it possible to easily replace the "Sub-1GHz functions" by some "BLE functions" to send the node data? 
If not, what would you suggest me to do then, the idea being to use BLE for local communication between a concentrator and its nodes and to use Sub-1GHz between multiple concentrators?
By the way, if my post should be moved to BLE instead, please do so. I was not sure where to post this topic.
Thanks in advance,
Laurent
  • To run BLE on CC1350, I suggest you to refer to BLE examples in BLE Stack v2.2.1.
  • Hello YK Chen,

    I tried last week to use the some of the BLE examples for the CC13350 LaunchPad since there are no example for the CC1350 SensorTag. But it wasn't a success.

    I opened the simple_broadcaster_cc1350lp_app and the simple_broadcaster_cc1350lp_stack projects in CCS (through the "Open Projects from File System) but I couldn't even build those projects. Do they need to be modified in some way before building them?

    Laurent
  • You should change pin assignments according to CC1350STK.
  • Oh, I meant, even for the LaunchPad...
    By the way, where should I find those pin assignments? Is there a document listing those according to the device?
    (It could be useful for other projects)

    And since you seem to know the forum well, YK Chen, has nobody tried to do this? I don't think I'm trying to do something very innovative, so I hoped there would already be a thread on this matter. I just haven't found it yet while searching in this forum.

    Laurent
  • You can try to use board files under C:\ti\simplelink\ble_sdk_2_02_01_18\src\boards\CC1350STK to replace board files of LaunchPad.
  •  I don't seem to find those "board files of LaunchPad" in those projects... Only a "board.c" file that is supposed to find the right "board.h", right?
    The "board files under ..." are a "Board.h", "CC1350_LAUNCHXL.c" and "CC1350_LAUNCHXL.h", right? I don't see how I should use them in those the simple_broadcast project.

    Laurent

  • Under C:\ti\simplelink\ble_sdk_2_02_01_18\src\boards\CC1350STK, you should find board.h CC1350STK.h and CC1350STK.c. You should use them to replace those of LaunchPad 's.
  • Oh, sorry, I misread your previous reply. Here's what I meant.
    The project doesn't even work for LaunchPad. So I thought you suggested me to use the H and C files to replace those in the project, which I can't find, as shown in the picture in my previous reply.

    So, back to square one, I guess.

    And of course, if you have any idea not involving other projects than fWsnDmConcentrator and rfWsnDnNode, I'll be happy, too.

    Thanks,
    Laurent
  • Anyone with a bit of advice, on how to use the BLE?

    Laurent
  • Does that mean you need "full" BLE and sub 1 GHz at the same time or can you switch between two images?
  • Exactly, the same way it is using now both BLE Beacons and Sub-1GHz.
    Would you have any lead, TER?

    Laurent
  • Oh, I meant, "exactly, I need them both at the same time".
  • Just so I understand the requirement:
    You want to use BLE beacons for the nodes. Does that mean you are not requiring a two way communication? Why BLE beacons and not sub 1 GHz for everything?
  • The first thing I'm trying to do here is to use BLE to send the sensors' data. For that, I need to modify the BLE beacons format by adding a kind a 'payload' that would contain that data.

    Then, when it will be done, I may need to be able to have a two way communication. The point is for the concentrator to ask nodes for specific modes (different reporting time for example).

    By using BLE locally between a concentrator and its nodes and Sub-1GHz between concentrators, I would have two separate networks. Are you suggesting I should instead use only Sub-1GHz by adding a kind of header to specify to which network the transmission was meant to?

    Laurent
  • Why do you want to use two different radio standards to distinguish between two different networks?

    What I would do is to use sub 1-GHz for all the radios but use different frequency and address filtering to keep the different parts of the network apart.
  • Actually, the main reasons for using BLE here would be because it is mainly used in the IoT world (I could easily have access to those data from my phone if needed for example) and that BLE can hop between frequencies. That way, those networks could be more 'independant'.

    But is it technically possible, to use both BLE and Sub-1GHz the way I told you?
  • The disadvantage with BLE is short range. Normally you don't want all nodes to communicate with a user's phone. What type of network (type of nodes) are you planning to implement? Frequency hopping is not limited to BLE, you can implement hopping on sub 1 GHz. (The TI15.4 stack has it implemented)

    CC1350 doesn't support full BLE and sub 1 GHz at the same time, hence you have to either run only BLE or sub 1 GHz + BLE beacons at a given time and switch image when needed.
  • Thanks for the info.

    Oh, I didn't know about TI15.4 stack. In which examples is frequency hopping implemented? Can I easily copy its implementation to use it with the rfWsnDm examples?

    And for the type of networks, I guess the answer is that every node only reports to the concentrator, so a star topology.

  • - implementing frequency hopping in a rfWsnDm project for CC1350 LaunchPad using the frequency hopping implemented in those TI 15.4 examples;
    TER: I haven't checked if the frequency hopping part in the stack is open code or not. Unfortunately we don't have any other examples implementing hopping.
    - the possibility of implementing a basic two-way communication in those rfWsnDm projects;
    TER: For sub 1 GHz two-way communication is implemented. For 2.4 GHz we are only sending beacons, it's not possible to do two way BLE with the same image as you use for sub 1 GHz.
    - how to use those projects for a CC1350 SensorTag.
    TER: Not sure if I understand the question since examples are available for the SensorTag.
  • Thank you for your answers.

    A. Ok, I'll do it without frequency hopping for now.

    B. So, do I just have to find and use the right Easylink functions in each XXXRadioTaskFunction? I actually just need the concentrator to be able to send a message that would change the reporting interval of the nodes. Let me tell you what I tried unsuccessfully until now.

    I thought of using the acknowledgment packet "format" from the concentrator side to send that message, but I don't  really know how the Event_pend function works...

    On the Node side, I tried to do the following:

    1) create different report intervals (5s, 10s, 20s, 30s, 60s) that I will put into a "mode" variable. 

    2) create a new event called "RADIO_EVENT_ASK_MODE" for when the Node gets to be asked to change the mode (=report interval) by the concentrator

    3) change the mode when that event occurs

    But I still don't know how the Event_pend function works, if I wanted to have that new event... 

    So if you have any suggestion, using what I tried or not, I'll be happy with it.

    C. That would have been in the case of frequency hopping, since the TI 15.4 examples are not available for CC1350 SensorTag. But for now, I do have the rfWsnDM examples for the SensorTag.

    Thanks in advance,

    Laurent

  • Well, I get it now, I actually need to check the rxDoneCallback function in the DmNodeRadioTask C file.
    I'll let you know if it works or not.