...
アプリ画面を開いて、下記の画面が表示されていれば成功です。
...
...
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」のように文字列が表示されていれば成功です。
失敗した場合はアプリ画面にアプリ起動失敗を示すメッセージが表示されます。
...