head

2017年7月28日金曜日

nanoPi NEO で、BLE Gateway Server を設置する




前の raspBerry Pi 2版の BLE Server 環境を、 nano Pi に移植してみました。
Ubuntu core にインストールしてます。
BLE子機も、前回と同じRN4020基板でセンサ値を送信しています。


# 概要



Central device=nanoPi, advertise スキャンしてクラウド転送します。



# version
> uname -a
Linux NanoPi-NEO 4.11.2 #266 SMP Thu Jun 29 17:46:10 CST 2017 armv7l armv7l armv7l GNU/Linux

# bluepy インストール方法は、前回と同じです、
bluez はインストール済みでした。
http://knaka0209.blogspot.jp/2017/07/raspi-5-BLE.html

# python service の起動も前回と同じ systemctl
を使いました。
参考 : http://knaka0209.blogspot.jp/2017/07/raspi-6-BLE.html

# Log



# code ,python server は前回のrasPi版と同じです。
最新のble_gateway_sv2、 public addressに対応しています。
https://github.com/kuc-arc-f/ble_gateway_sv2

関連 blog:
http://knaka0209.blogspot.jp/2017/08/nanoPi-4.html

http://knaka0209.blogspot.jp/2017/09/nanoPi-8.html


*)旧版 server、randam addressも対応できますが、最大送信桁数は短めです
https://github.com/kuc-arc-f/ble_gateway_sv


# まとめ
安定稼動できるか。しばらく様子見としたいと思います。
nanoPi は安価で、rasPi 2と比較して、 1/3程度の価格で
低価格な サーバー機として安定して使えると。良いのですが



=== update:2018/01/13 ====
OS 再インストール時の BLE処理エラー対応 (2018-01 版)
*)新規インストールもほぼ同様
復旧に時間かかったので、メモです。

昨年から半年程度、連続稼動していた。BLE gateway機能ですが
原因は不明で停止した為、復旧作業を行いました。
再度電源投入すると、電源LEDが点灯したり。
ハード故障に見えませんでしたが、ネットワークが起動せず。
ログインできない状況でした。
SDカードの破損が予想されましたが、
予備SDカードにOS書込み、起動確認後。
使用していた元のSDカードに再インストールしています。

# OSインストール、前回と同様のURLからコピー、zip解凍し
imgファイルを取り出し。SD書込み
*) 下記のファイル名
nanopi-neo_FriendlyCore-Xenial_4.11.2_20171122.img

#version、更新版みたいです。
pi@NanoPi-NEO:~$ uname -a
Linux NanoPi-NEO 4.11.2 #38 SMP Tue Nov 21 16:45:21 CST 2017 armv7l armv7l armv7l GNU/Linux

# bluepyのインストール
今回は、gitからinstall
https://github.com/IanHarvey/bluepy

$ sudo apt-get install git build-essential libglib2.0-dev
$ git clone https://github.com/IanHarvey/bluepy.git
$ cd bluepy
$ python setup.py build
$ sudo python setup.py install

# centralでscan機能のチェック
scanのサンプルを実行
bluepy のエラーが発生し、scan出来ませんでした。。

bluepy.btle.BTLEException: Failed to execute mgmt cmd 'scanend'

# lsusb を確認しましたが。問題なく認識してそうです。
> lsusb
Bus 008 Device 002: ID 0a12:0001 Cambridge Silicon Radio, Ltd Bluetooth Dongle (HCI mode)
Bus 008 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub

# いろいろ調べたのですが、下記を参考にしました。感謝です

Raspberry Pi で Bluetooth を使ってみた。(2)
https://qiita.com/tchisaka/items/80d4dcbfe83bb88acf02

sudo apt-get update
sudo apt-get install libdbus-1-dev libdbus-glib-1-dev libglib2.0-dev libical-dev libreadline-dev libudev-dev libusb-dev make
sudo apt-get install bluez

hciconfig を実行し、 hci0 を up変えると、正常に動作しました。
>sudo hciconfig
hci0:   Type: BR/EDR  Bus: USB
        BD Address: 00:1B:DC:06:BD:89  ACL MTU: 310:10  SCO MTU: 64:8
        UP RUNNING
        RX bytes:543588 acl:0 sco:0 events:21808 errors:0
        TX bytes:52112 acl:0 sco:0 commands:6995 errors:0
修正前は、UP RUNNING の部分が、
downと表示されていたので、
下記の upを設定、実行できました。
>sudo hciconfig hci0 up

結局は、初期時はドライバ設定は無効みたいで、
修正が必要みたいですね。


# その他、systemctlのログの設定、
気になったので、
今回はログの容量を制限追加しました。
関連するjournalctl コマンド
ログ確認
journalctl --disk-usage
ログ表示
journalctl -e

# conf の修正
/etc/systemd/journald.conf
SystemMaxUse=3M

# systemctl 再起動、又はOS再起動
systemctl restart systemd-journald

# この設定でしばらくすると、5M程消費していました。
それ以上増えないようです。
pi@NanoPi-NEO:~$ sudo journalctl --disk-usage
Archived and active journals take up 5.0M on disk.

# 関連
systemd(journald)のログ容量を制限する
https://qiita.com/sharow/items/c56e81e4c2a658c3c921

journalctl 最低限覚えておくコマンド
https://qiita.com/aosho235/items/9fbff75e9cccf351345c


=========


# 参考
NANOPI NEO 512MB 初期設定編
http://knaka0209.blogspot.jp/2017/07/nanoPi-1.html



0 件のコメント:

コメントを投稿

google colaboratory お試し編 、GPUも使える機械学習の環境構築

前回続き、機械学習の関連となります。 開発環境まわりの内容となり。先人様の情報を元に調査しました。 google colab(google colaboratory) を試してみました。機械学習系の いくつかのライブラリがインストール済みで、 クラウド上で、ある程度機械学...

AD-parts

Shop
Bluetooth搭載
ベース基板

Social