Community
cancel
Showing results for 
Search instead for 
Did you mean: 
TOyam3
Beginner
1,568 Views

Curie to Curie Bluetooth communication

Hello,

I am currently using the Arduino 101 and running the M Tree from the ODK in a full Linux system. I have two Arduino 101s and I want them to ping each other via Bluetooth. How would I go about doing this? Are there any specific libraries I should include? Is the M tree adequate or should I be looking into the Z tree to gain control of the Bluetooth? I also want to transition to tinyTILE in the near future.

Thanks!

0 Kudos
10 Replies
idata
Community Manager
77 Views

Hi Tamrako,

 

 

Thanks for reaching out.

 

 

This is an interesting question!

 

 

Yes, you are right, to have access to Bluetooth you should use the Z Tree. Check this guide to install it: https://software.intel.com/en-us/node/675544

 

 

If you want to ping your Arduino 101s using Bluetooth, I recommend you to check the zephyr's samples, there are a lot of samples that use Bluetooth and you can use them as a reference for your code: https://github.com/zephyrproject-rtos/zephyr/tree/master/samples/bluetooth.

 

 

Please consider that the Z Tree is full Zephyr RTOS, so if you need more information about how to use it check their documentation: https://www.zephyrproject.org/doc/index.html, in case you still need help, try to contact zephyr, they might provide you a better response.

 

 

I hope you find this information useful.

 

 

Have a nice day.

 

 

Regards,

 

Leonardo R.
TOyam3
Beginner
77 Views

Thank you for your response. Will C++ compile in the Z tree or does it have to be C?

TOyam3
Beginner
77 Views

When I try to compile a file in zephyr using make config, there are a bunch of choices I need to pick. Is there a standard or default way to set up the zephyr compiler in the Z-tree?

idata
Community Manager
77 Views

Hi Tamrako,

 

 

It seems that you can use C++ too, but you must configure the kernel to include C++ support, take a look at this link: https://www.zephyrproject.org/doc/kernel/other/cxx_support.html, I have not tried this yet, so I can't assure you that it will work.

 

 

About the choices when you are using make config, I'm not sure if there is a standard way to do this, but I recommend you to check the zephyr documentation: https://www.zephyrproject.org/doc/application/application.html, it is an awesome and complete documentation.

 

 

As I mentioned before, personally the best suggestion that I can give you is to contact zephyr if you still have doubts, they will be able to assist you in a better way.

 

 

Have a nice day.

 

 

Regards,

 

Leonardo R.
TOyam3
Beginner
77 Views

Hello Leonardo,

In Z tree and following this link: https://software.intel.com/en-us/node/675547 Connecting and Verifying the Board Proof of Life | Intel® Software I was able to compile the "Hello from ARC!" with the FTDI USB to serial converter cable. How would I go about compiling the bluetooth examples in the zephyr file. Is it possible to compile these examples in the Z-tree or do I need to do this in the zephyr folder.

https://github.com/zephyrproject-rtos/zephyr/tree/master/samples zephyr/samples at master · zephyrproject-rtos/zephyr · GitHub

Thank you,

Tamra

idata
Community Manager
77 Views

Hi Tamra,

 

 

I think that you have to do this in the Zephyr folder, if you need help doing this, I recommend you to check this section in the Zephyr's documentation: https://www.zephyrproject.org/doc/samples/bluetooth/bluetooth.html# bluetooth-setup.

 

 

I also found this section that can be very helpful for you: https://www.zephyrproject.org/doc/boards/x86/arduino_101/doc/board.html

 

 

I was investigating more about this, and I found that it is possible to use Bluetooth with the M Tree, but I will test it and I will let you know if it is possible.

 

 

Have a nice day.

 

 

Regards,

 

Leonardo R.
TOyam3
Beginner
77 Views

Hello Leonardo,

In the zephyr folder, I am trying to compile the beacon file in the zephyr folder (CODK/zephyr/samples/bluetooth/beacon). It compiles when I write the command, "make", however I am unable to upload it to my Curie on the Arduino 101 using the "make run SERIAL_PORT=/dev/ttyUSB0 command." This results in the following errors:

make[1]: Entering directory '/home/tamrako/CODK/zephyr/zephyr-project'

make[2]: Entering directory '/home/tamrako/CODK/zephyr/zephyr-project/samples/bluetooth/scan_adv/outdir/qemu_x86'

make[2]: *** No rule to make target 'upload'. Stop.

make[2]: Leaving directory '/home/tamrako/CODK/zephyr/zephyr-project/samples/bluetooth/scan_adv/outdir/qemu_x86'

Makefile:177: recipe for target 'sub-make' failed

make[1]: *** [sub-make] Error 2

make[1]: Leaving directory '/home/tamrako/CODK/zephyr/zephyr-project'

/home/tamrako/CODK/zephyr/zephyr-project/Makefile.inc:136: recipe for target 'upload' failed

make: *** [upload] Error 2

Do you know the appropriate command to do this?

Thank you,

Tamra

idata
Community Manager
77 Views

Hi Tamra,

 

 

I haven't tried this, but I recommend you to take a look at the hello world application that is available here: https://www.zephyrproject.org/doc/boards/x86/arduino_101/doc/board.html. This application will help you understand the required steps in order to upload your application.

 

 

On the other hand, I have been checking the M tree from the Curie ODK and I think it would be a better approach for you to use this tree instead of the Z one. You can use Bluetooth with the CurieBLE library which is compatible with the M tree. This is an alternative approach that could be easier to follow instead of going forward with the Z tree which is more complex. You can try to run the hello world example to start using this option.

 

 

Have a nice day.

 

 

Regards,

 

Leonardo R.
TOyam3
Beginner
77 Views

Hello Leonardo,

Thank you for your quick reply. I have looked at the hello world example previously for zephyr and was able to compile it just fine. In that example, nothing is uploaded to the board. I can run hello world without connecting the Arduino 101 at all. I was wondering what the specific command was to upload to the board in zephyr. I cannot seem to find any documentation on the zephyr website or through their support regarding this issue. I know I am able to use cutecom for the M and Z tree. Do you think cutecom would still be appropriate for zephyr and if so do you know what the upload command is using USB for the serial port?

Thank you,

Tamra

idata
Community Manager
77 Views

Hi Tamra,

 

 

I'm not sure how to do this, and unfortunately I can't test it because we don't have a host Linux machine to do it. Nevertheless, I was checking the documentation and I think that you have to specify the board when you use the make command, take a look at this blink sample: https://www.zephyrproject.org/doc/samples/basic/blinky/README.html.

 

 

When you run the application, I think that you shouldn't add the port, you should add the board instead: https://www.zephyrproject.org/doc/application/application.html# run-an-application.

 

 

If you still have issues, the best recommendation that I can provide you is to contact zephyr support or submit your issue in their repository: https://github.com/zephyrproject-rtos/zephyr/issues.

 

 

I hope you find this information very helpful.

 

 

Have a nice day.

 

 

Regards,

 

Leonardo R.
Reply