SACM (Service Adapter Control Manager) は、IIJ が提供する機器の自動接続、一元管理を可能にするマネージメントシステムサービスです。
MA-E3xx シリーズにパッケージの追加などをすることで、MA-E3xx シリーズの機器を SACM から管理することが可能になります。
libarms を組み込んだ機器との連携動作を確認できる、libarms 動作検証用 SACM が無償で提供されていますので、下記 URL よりアカウントを取得します。
libarms および armsd のパッケージをインストールします。
ファームウェアに含める場合は PC上で root filesystem を変更する(QEMU使用) を参考にして、root filesystem にインストールします。
簡単に試すには、実機上でインストールします。
File | Stat | SHA1SUM | Note |
---|---|---|---|
libarms_5.41_armhf.deb | 2017/01/12 10:12 100.5 KB | 6d2a4893cf57d08924afc94af04105995c515ee9 | |
libarms-dev_5.41_armhf.deb | 2017/01/12 10:12 7.6 KB | 2539ca0e61c9c1141f53f22912b23b0d63aefa6f | 開発用ヘッダファイル1) |
armsd_1.0.7_armhf.deb | 2017/01/12 10:12 22.5 KB | 2afcd226879b5a1876ec5d1a9ee7b4424f4e61b6 |
user1@plum:~$ sudo dpkg -i /tmp/libarms_5.41_armhf.deb /tmp/armsd_1.0.7_armhf.deb [sudo] password for user1: Selecting previously unselected package libarms. (Reading database ... 20950 files and directories currently installed.) Preparing to unpack /tmp/libarms_5.41_armhf.deb ... Unpacking libarms (5.41) ... Selecting previously unselected package armsd. Preparing to unpack /tmp/armsd_1.0.7_armhf.deb ... Unpacking armsd (1.0.7) ... Setting up libarms (5.41) ... Setting up armsd (1.0.7) ... Processing triggers for libc-bin (2.19-0ubuntu6.9) ... user1@plum:~$
armsd パッケージには init script が含まれていませんので作成しておきます。
Upstart/SysV init どちらでもかまいません。
# SACM armsd # description "SACM armsd" start on runlevel [2345] stop on runlevel [!2345] respawn pre-start script [ -f /etc/default/armsd ] || { stop; exit 0; } . /etc/default/armsd [ "x$START" = "xyes" ] || { stop; exit 0; } end script script . /etc/default/armsd [ "x$START" = "xyes" ] || { stop; exit 0; } exec /usr/sbin/armsd -D -f /etc/armsd/armsd.conf end script
START=yes
動作検証用の無料SACMアカウント取得 で送られてきたアカウント情報を、設定ファイルに反映します。
/etc/armsd/armsd.conf
distribution-id: 0001-0000-0101-0000-0000-0000-DEAD-BEEF <----- ls-sa-key: deadbeef <----- #sa-model-name: arms client daemon #sa-version: 0.00 #path-iconfig: /etc/armsd/initial-config #path-state-cache: /var/cache/armsd/state #https-proxy-url: http://192.168.0.1:8080/ #hb-disk-usage0: / #hb-traffic-if0: eth0 ### see sample scripts in /usr/share/armsd-X.X/examples #script-app-event: /etc/armsd/scripts/app-event #script-clear: /etc/armsd/scripts/clear #script-command: /etc/armsd/scripts/command #script-post-pull: /etc/armsd/scripts/post-pull #script-reconfig: /etc/armsd/scripts/reconfig #script-start: /etc/armsd/scripts/start #script-status: /etc/armsd/scripts/status #script-stop: /etc/armsd/scripts/stop #script-reboot: /etc/armsd/scripts/reboot #script-line-ctrl: /etc/armsd/scripts/line #script-state-changed: /etc/armsd/scripts/state-changed
armsd を起動させてみます。
user1@plum:~$ sudo service armsd start [sudo] password for user1: armsd start/running, process 5176 user1@plum:~$
user1@plum:~$ ps ax|grep armsd 5176 ? Ss 0:00 /usr/sbin/armsd -D -f /etc/armsd/armsd.conf 5200 pts/1 S+ 0:00 grep --color=auto armsd
起動しました。
SACM の Web 画面で確認すると、状態が『接続中』になることが確認できます。
CPU使用率などのグラフを見ることもできます。
あとは、アプリケーションの要件ごとにコールバックスクリプトを適宜作成し、
などを実装することができます。
armsd に関するドキュメントは こちら を参照して下さい。
libarms, armsd および init script を組み込んだサンプルファームウェアです。
File | Stat | SHA1SUM | Note |
---|---|---|---|
mae3xx_trusty_sacm_v2_6_12.img | 2017/01/13 14:57 67.2 MB | 91492c0cd048c4ecd2e79aca8e58cc830ff4cf2d | v2.6.12 ベース |
mae320_rootfs_trusty_sacm_v2_6_12.tar.xz | 2017/01/13 14:57 52.0 MB | 5b8b98cf125ae82636b440398a28a1e18a23b9c1 |