Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

アプリ画面を開いて、下記の画面が表示されていれば成功です。

...

...

Pythonモジュールをコンパイルする(Pycurl)

SQLiteのコンパイルを実施できました。

次のチュートリアルとして、任意の外部ライブラリを利用する方法を説明します。

ここでは例として、前項で作成したサンプルアプリ「sqlite_app」にPycurlの外部ライブラリを読み込んでみます。次のチュートリアルとして、Pycurlのコンパイルを実施します。

ソースコードをダウンロードする

PyCurlとOpenSSLのソースコードを以下URLからダウンロードしてください。

...

Code Block
#!/bin/sh -x

HOME_PATH=/home/docker

OPENSSL_ARCHIVES=openssl-OpenSSL_1_1_1i.tar.gz
OPENSSL_DIR=openssl-OpenSSL_1_1_1i

PYCURL_ARCHIVES=pycurl-7.45.2.tar.gz
PYCURL_DIR=pycurl-7.45.2

apt update
apt install libcurl4-openssl-dev libssl-dev

cd ${HOME_PATH}
tar zxf ${OPENSSL_ARCHIVES}
cd ${OPENSSL_DIR}
./Configure linux-aarch64
make

export PYCURL_SSL_LIBRARY=openssl
export CPPFLAGS=-I${HOME_PATH}/${OPENSSL_DIR}/include/openssl
export LDFLAGS=-L${HOME_PATH}/${OPENSSL_DIR}

## for pycurl
cd ${HOME_PATH}
tar zxf ${PYCURL_ARCHIVES}
cd ${PYCURL_DIR}
python3.7 setup.py --with-openssl --openssl-dir=${HOME_PATH}/${OPENSSL_DIR} build

コンパイルする

Dockerを用いてsqliteモジュールとPythonモジュールをコンパイルします。Dockerを用いてpycurlモジュールとOpenSSLモジュールをコンパイルします。

${SDK_DIR}/external/build/sample/docker ディレクトリでDockerを実行してください。

...

作成されたモジュールを、AdamAppで使用できるように配置します。

チュートリアルではsrc/adamapp-py/sqliteadditional_info_sample_appを例とします。

PyCurlを配置する

PyCurlライブラリは以下のディレクトリにインストールされています。

...

${SDK_DIR}/src/adamapp-py/sqliteadditional_info_sample_app/python/site-packages

Code Block
$ cp -R ${SDK_DIR}/external/build/sample/docker/docker_volume/pycurl-7.45.2/build/lib.linux-aarch64-3.7/pycurl.cpython-37m-aarch64-linux-gnu.so ${SDK_DIR}/src/adamapp-py/sqliteadditional_info_sample_app/python/site-packages

...

${SDK_DIR}/src/adamapp-py/sqliteadditional_info_sample_app/python/site-packages/pycurl.cpython-37m-aarch64-linux-gnu.so

サンプルアプリをビルドする

サンプルアプリ「sqliteサンプルアプリ「additional_info_sample_app」をビルドして、カメラにインストールします。

ビルド方法はSDK同梱のドキュメント「AdamAppDevelopmentManualForIpro_Vx_xx.pdf」の「How to develop AdamApp」を参照してください。

アプリ画面を開いて、下記の画面が表示されていれば成功です。

...

アプリ画面を開いて、「body」のように文字列が表示されていれば成功です。

失敗した場合はアプリ画面にアプリ起動失敗を示すメッセージが表示されます。

...