Android+arduino+USB OTG

 

UsbSerial

https://github.com/felHR85/UsbSerial/releases

 

Android Studio

File>New>New Module>Import JAR,AAR Package

usbserial-release.aar

 

File >Project Structure > app > Depemdencies > file dependency >:usbserial-release

 

AndroidManifest.xml

<uses-feature android:name="android.hardware.usb.host" />
<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
    <intent-filter>
        <action android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED" />
    </intent-filter>

    <meta-data
        android:name="android.hardware.usb.action.USB_DEVICE_ATTACHED"
        android:resource="@xml/device_filter" />
</activity>

 

res/xml/device_filter

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <usb-device vendor-id="9025" />
    <!-- Vendor ID of Arduino -->
</resources>

 

 

SSH鍵認証 設定

【osx 】

sshkeygen t rsa で公開キー作成

ls ~/.ssh

id_rsa

id_rsa.pub

【server】

ssh-keygen

cd ~./ssh

touch authorized_keys

id_rsa.pubの中身をauthorized_keysへコピー

chmod 600 authorized_keys

 

・/etc/ssh/sshd_config の内容確認。

PubkeyAuthentication yes

PasswordAuthentication no

python3 + OSX(El Capitan)

$ xcode-select –install

pyenvのinstall

brew install pyenv

 

.bash_profile

PYENV_ROOT=”$HOME/.pyenv”
export PATH=”$PYENV_ROOT/bin:$PATH”
eval “$(pyenv init -)”

pythonのversion確認

$ pyenv install --list

python の最新版をinstall

$ pyenv install 3.5.1

python切り替え

pyenv global 3.5.1
pyenv rehash

切り替わっているか確認

python --version
Python 3.5.1

【MongoDB】setup

mongoDBとpymongoのインストール

 

Ubuntu 14.04

## install ##
https://docs.mongodb.com/master/tutorial/install-mongodb-on-ubuntu/?_ga=1.240417411.1898667525.1463549990

sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv EA312927
echo “deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.2 multiverse” | sudo tee /etc/apt/sources.list.d/mongodb-org-3.2.list

sudo apt-get update
sudo apt-get install -y mongodb-org

sudo service mongod start
### python driver ###
sudo apt-get install python3-pip
sudo pip3 install pymongo

※エラーが出たら
easy_install -U setuptools

 

OSX

## install ##

brew install mongodb

## 自動でPC起動時に起動 ##

launchctl load ~/Library/LaunchAgents/homebrew.mxcl.mongodb.plist

## 手動で起動 ##

mongod --config /usr/local/etc/mongod.conf

## python

brew upgrade python3

## pymongo install

brew install pip3

## pymongo install

pip3 install pymongo

pip list | grep pymongo

# データベース接続(クライアント)
$ python3

>>> import pymongo
>>> cli = pymongo.MongoClient()
>>> cli = pymongo.MongoClient(host='localhost', port=27017)

# データベース作成(sample)

>>> db=cli.sample

#コレクション作成(テーブル)

>>> db.user

#コレクションに一件追加(レコード追加)

>>> col=db.user
>>> col.insert_one({'name': 'ryo', 'age': 10})

#データを一件検索

col.find_one()
col.find_one({‘name’: ‘ryo’})
#データを検索(複数県)
list(col.find())
list(col.find({‘age’:{‘$gt’:15}}))
list(col.find({‘age’:{‘$lt’:15}}))
list(col.find({‘name’: {‘$regex’: ‘^b’}}))

#and/or条件
list(col.find({‘$and’:[{},{}]}))
list(col.find({‘$or’:[{},{}]}))
list(col.find({‘$and’: [{‘age’: {‘$gt’: 10}}, {‘name’: {‘$regex’: ‘^b’}}]}))

[{‘_id’: ObjectId(‘570380ea87f0746e34587a5f’), ‘name’: ‘bar’, ‘age’: 20}]
# 特定のフィールド findの第二引数で指定
list(col.find({}, {‘name’: True, ‘_id’: False}))
[{‘name’: ‘foo’}, {‘name’: ‘bar’}, {‘name’: ‘baz’}]
#sort
list(col.find().sort(‘age’)) // 順
list(col.find().sort(‘age’,-1)) // 逆

#検索数の制限
list(col.find().limit(1))

# update ※検索条件、更新フィールド/値($set)
col.update({‘name’: ‘bar’}, {‘$set’: {‘age’: 5}})
list(col.find({},{‘_id’:False}))

#update ※検索条件、更新フィールド/値($set)、multi=Trueをつける)
col.update({‘age’: {‘$gt’:3}}, {‘$set’: {‘age’: 100}}, multi=True)

col.update({‘name’: ‘bar’}, {‘$set’: {‘age’: 5}})
col.update({‘name’: ‘ryo’}, {‘$set’: {‘age’: 10}})

# 削除
col.remove({‘age’:5})
# コレクション削除
col.drop()
db.drop_collection(‘user’)
# データベース削除
client.drop_database(‘sample’)