Filter results by

Customizing ARTIK 053

Having compiled, loaded, and played with the base version of Tizen RT, you can now customize it to use your chosen applications. Although you can manually edit the configuration files, the kconfig-frontend tools are the best choice to add and remove apps and features from the base version of Tizen RT.

Customization Overview

You can choose the apps that you want to be able to run from the command line interface (CLI). First, we'll explain how it would be done manually. This definition file:

build/configs/artik053/<cfg>/defconfig

selects the apps you want to have listed by the TASH> help command. You'll see from the format of the defconfig file how an app is enabled or disabled.

If you were using the nettest configuration, for example, you'd might edit the file like this:

  vim build/configs/artik053/nettest/defconfig

defconfig must be edited prior to configuring the build with configure.sh, which creates a hidden os/.config file based on defconfig. If you want to make changes after that, edit os/.config directly or use Kconfig tools.

Editing manually is not advised, as you may miss dependencies that Kconfig takes care of automatically.

Installing Kconfig Tools

The Tizen RT system is highly configurable and the configuration files are maintained through the kconfig-frontends tool. Each Kconfig file contains declarations for the required configuration variables and provides one configuration option for Tizen RT.

  1. Open a bash terminal window.

  2. Change to main directory.
    cd ~/ARTIK053

  3. Install the Kconfig-frontend for Tizen RT menu configuration.

    git clone https://patacongo@bitbucket.org/nuttx/tools.git tools

    cd tools/kconfig-frontends

    ./configure --enable-mconf --disable-gconf --prefix=/usr

    make

    sudo make install

Adding/Removing Apps

Use the Kconfig GUI menu to set options. We're going to start you off on the Sensor Board app.

  1. From within your tinyara/os directory, run:
    make menuconfig
    to arrive at the entry screen.

  2. Scroll down to Application Configuration (it may initially be below the bottom of the screen) and hit Enter to select.

  3. On the sub-menu select Examples....

  4. Scroll down to Sensor Board Example and hit the space bar to select.

  5. Select Save and then exit from the program.

All the settings are stored in the hidden os/.config file. If you re-initialize your configuration (make distclean) you will lose any changes you made.

Coding

You built the unmodified code in the previous article to verify that it would run as expected. Now, as you get started on coding for real, here is some information to get you familiar with the layout.

  • build/configs/artik053 contains the <cfg> directories for selecting the project type (minimal, typical, extra, nettest).
  • build/configs/artik053/<cfg>/defconfig lists the specific apps to include or exclude for each configuration.
  • apps/examples/ contains the source code for each of those apps.
  • Running the configure.sh script generates an os/.config file from defconfig.
  • You customize the contents of os/.config using the menuconfig command associated with Kconfig.
  • os/arch/arm/src/artik053/src/artik053_boot.c contains the mapping of GPIO pins.

The Sensor Board example is a good place to start to try modifying code. You'll find it under apps/examples/sensorbd_demo/examples. You can play with your app in the first Tutorials article.

MQTT Example

If you're familiar with MQTT, try out this easy exercise to see how quickly you can be publishing from your ARTIK 053 module.

Prerequisites

You'll need an MQTT broker to be set up and ready to receive your publications. You could set up mosquitto as a broker and MQTT.fx as a subscriber or publisher on your development PC, for example.

If you have an ARTIK 5/7/10 module, you can use it instead with our Node-RED tutorial. That is, with Wi-Fi up and running on your board, enter:
   mosquitto -v &
   node-red &

Preparation

Starting from a fresh configuration and kconfig running, do the following.

  1. Scroll down to Application Configuration.

  2. Go to Network Utilities... and select MQTT followed by MQTT with security

  3. Exit from that page.
  4. Go to Examples... and select "MQTT Test" example

  5. Save your changes and exit the configuration tool.
  6. Build and load the image to your ARTIK 053 board as always.

Procedure

Have your MQTT broker ready to receive your message. You'll need to know its IP address.

  1. Reset your board and get to the TASH> prompt. Verify that mqtt_pub is now in your help list.

  2. Manually set up Wi-Fi as you did here. Make sure you're using the same Wi-Fi access point as your MQTT broker is using.

  3. Send an MQTT publish request, specifying host, port, topic, and message.

For example:

mqtt_pub -h 10.0.0.36 -p 1883 -t brightness -m "100"

That's all there is to it! You should see the message pop up on your MQTT broker screen.

Summary

Here's a quick review of file locations and commands.

Toolchain prefix:
export CROSSDEV=arm-none-eabi-

File locations within the ~/ARTIK053/tinyara/ directory:

Step Subdirectory Function
Modify app apps/examples/ code the app
Configure apps build/configs/artik053/< cfg >/ edit defconfig
Build os make
Flash image build/configs/artik053/tools/openocd  
Binary output build/output/bin  
Last updated on: