at_takuya.sasaki
2017年7月10日 9時42分
Armadillo-IoT G2に標準でインストールされているmosquittoのバージョンは1.3.5になります。 これを、2017.07.02時点で最新の1.4.12に上げてみました。
1. ATDE5のビルド済のディレクトリ配下のmosquittoに移動
今回はすでに一度以下の手順でユーザーランド/カーネルをビルドしていると仮定します。
11. ビルド手順
また各ソースコードは、/home/atmark/workの下に展開している仮定しています。
atmark@atde5:~/work/atmark-dist$ cd user/mosquitto/
2. 最新のmosquittoのソースコードを入手
ATDE5がインターネットに接続している必要があります。
もしインターネット接続が不可の場合は、以下のサイトからソースコードのアーカイブをダウンロードしてください。
https://github.com/eclipse/mosquitto
atmark@atde5:~/work/atmark-dist/user/mosquitto$ git clone https://github.com/eclipse/mosquitto
3. ディレクトリ名を変更
atmark@atde5:~/work/atmark-dist/user/mosquitto$ mv mosquitto mosquitto-1.4.12
4. Makefileの差し替え
/home/atmark/work/atmark-dist/user/mosquitto/Makefileの内容を、以下の内容に書き換えてください。
#SRC_DIR = mosquitto-1.3.4
SRC_DIR = mosquitto-1.4.12
AR=ar
CC=gcc
CXX=g++
all: build
build: $(SRC_DIR)/Makefile
make -C $(SRC_DIR)
romfs: build
echo "atmark" | sudo -S cp $(SRC_DIR)/lib/libmosquitto.so.1 /usr/arm-linux-gnueabihf/lib/
$(ROMFSINST) -e CONFIG_USER_MOSQUITTO_MOSQUITTO_CLIENT $(SRC_DIR)/client/mosquitto_pub /usr/bin/mosquitto_pub
$(ROMFSINST) -e CONFIG_USER_MOSQUITTO_MOSQUITTO_CLIENT $(SRC_DIR)/client/mosquitto_sub /usr/bin/mosquitto_sub
clean:
make -C $(SRC_DIR) clean
4.ディレクトリを移動します
atmark@atde5:~/work/atmark-dist/user/mosquitto$ cd ../..
5. 一度romfsディレクトリを削除してからmakeします
atmark@atde5:~/work/atmark-dist$ rm -rf romfs/
atmark@atde5:~/work/atmark-dist$ make
6. イメージの書き換え
あとは新しく生成された images配下の romfs.img.gzをArmadilllo-IoTに書き込んでください。
7. mosquittoのバージョンは Armadillo上でhelp コマンドを使って参照可能です。
[root@armadillo-iotg (ttymxc1) ~]# mosquitto_pub --help
mosquitto_pub is a simple mqtt client that will publish a message on a single topic and exit.
mosquitto_pub version 1.4.12 running on libmosquitto 1.4.12.
[root@armadillo-iotg (ttymxc1) ~]# mosquitto_sub --help
mosquitto_sub is a simple mqtt client that will subscribe to a single topic and print all messages it receives.
mosquitto_sub version 1.4.12 running on libmosquitto 1.4.12.
以上