Here are three examples of enhancements you can do in a custom build for Bluetooth® features.

Enhancement 1 - OBEX

Although Object Exchange (OBEX) is supported at the link layer, it will not work because the user layer components are missing. Obexd is a daemon supported by Ref-OS-IoT. To include obexd in the image, do the following:

Please follow the instructions on how to get the source code.

In file meta-ref-os-iot/meta-edison/recipes-core/images/full-image.bb,add

     IMAGE_INSTALL_append = "\
         ${MACHINE_EXTRA_RRECOMMENDS} \
         obexd \
     "

In file meta-ref-os-iot/conf/distro/distro-include/ref-os-supported-recipes.txt add

obexd@gnome-layer

OR

Disable SUPPORTED_RECIPES_CHECK as in Supported Recipes Check

And build with the following commands:

source 5xx-init-build-env
bitbake full-image

Enhancement 2 - Obexftp

Obexftp is a module for OBEX file transfer. Ref-OS-IoT doesn’t include obexftp in the image. To include obexftp in the image:

Please follow the instructions on how to get the source code.

In file meta-ref-os-iot/recipes-image/images/full-image.bb, add

     IMAGE_INSTALL_append = "\
         ${MACHINE_EXTRA_RRECOMMENDS} \
         obexftp \
     "

In file meta-ref-os-iot/conf/distro/distro-include/ref-os-supported-recipes.txt add

obexftp@openembedded-layer
openobex@openembedded-layer

OR

Disable SUPPORTED_RECIPES_CHECK as in Supported Recipes Check.

In file meta-ref-os-iot/conf/distro/distro-include/ref-os-removed-dependencies.inc

# Remove libusb0 and replace with libusb1
DEPENDS_remove_pn-openobex = "virtual/libusb0"

Create a file with the following content:

meta-ref-os-iot/recipes-connectivity/openobex/openobex_%.bbappend
EXTRA_OECMAKE = " -DBUILD_DOCUMENTATION=OFF"

And build with the following commands

source 5xx-init-build-env
bitbake full-image

To send a file to a Bluetooth* device run the command:

$ obexftp -b MAC_address_of_device -p /path/to/file

To retrieve a file from a Bluetooth® device run the command:

$ obexftp -b MAC_address_of_device -g filename

Enhancement 3 - Gnome Bluetooth

Gnome-bluetooth is a GUI component which can be used to send and receive files from Bluetooth devices. Please see xfce documents on how to integrate gnome-bluetooth to the GUI for the Intel® Joule™ module.

Please follow the instructions on how to get the source code.

In file meta-ref-os-iot/conf/distro/distro-include/ref-os-removed-dependencies.inc comment the following lines as shown below.

#PNBLACKLIST[libogg] ?= "Removed due to review"
#PNBLACKLIST[libvorbis] ?= "Removed due to dependency to libogg"

In file meta-ref-os-iot/conf/distro/distro-include/ref-os-supported-recipes.txt add

gnome-bluetooth@gnome-layer

OR

Disable SUPPORTED_RECIPES_CHECK as in Supported Recipes Check.

In file meta-ref-os-iot/recipes-image/image/full-image.bb add the following

IMAGE_INSTALL_append = "\
     ${MACHINE_EXTRA_RRECOMMENDS} \
    gnome-bluetooth \
 "

And build with the following commands:

source 5xx-init-build-env
bitbake full-image

 

Para obter informações mais completas sobre otimizações do compilador, consulte nosso aviso de otimização.