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.
以上