読者です 読者をやめる 読者になる 読者になる

脳汁portal

アメリカ在住(だった)新米エンジニアがその日学んだIT知識を書き綴るブログ

AWSのEC2のネットワークの速度を測定する

AWS

speed-cliを使ってAWSインスタンスのネットワーク速度の測定をします

AWS

今回は以下の環境のインスタンスを作成しました

  • Tokyoリージョン
  • t2.micro

測定方法

install speedtest-cli

sudo apt-get install python-pip
sudo pip install speedtest-cli
sudo pip install speedtest-cli --upgrade

測定

$ speedtest-cli --bytes
Retrieving speedtest.net configuration...
Testing from Amazon (*************)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by at2wn (Yokohama) [24.99 km]: 35.168 ms
Testing download speed................................................................................
Download: 37.36 Mbyte/s
Testing upload speed....................................................................................................
Upload: 13.65 Mbyte/s

こんな感じで回線の速度測定がcliで出来ました

ubuntu16.04でApacheのDirectoryIndexを変更する

vi /etc/apache2/mods-available/dir.con
### 以下を修正してapacheをrestartすればよい
<IfModule mod_dir.c>
        DirectoryIndex index.html index.cgi index.pl index.php index.xhtml index.htm
</IfModule>

ubuntu16.04にapacheをinstallしてbasic認証をかける

1. install apache

apt-get install apache2

アクセスできることを確認
f:id:portaltan:20170321120846p:plain

2. basic auth

touch /etc/apache2/sites-available/auth-basic.conf
vi /etc/apache2/sites-available/auth-basic.conf
### 以下を入力して保存
<Directory /var/www/html>
    AuthType Basic
    AuthName "Basic Authentication"
    AuthUserFile /etc/apache2/.htpasswd
    require valid-user
</Directory>

htpasswd -c /etc/apache2/.htpasswd hoge
  New password: ******
  Re-type new password: ******
  Adding password for user hoge

cd /var/www/html
a2ensite auth-basic
  Enabling site auth-basic.
    To activate the new configuration, you need to run:
    service apache2 reload

sudo /etc/init.d/apache2 restart

もう一度アクセスしてbasic認証がかかっていることを確認
f:id:portaltan:20170321121815p:plain

raspberryPIにmp3再生ソフトmpg321をinstallする

電子工作

1. 出力先の変更

  • raspi-configから音声出力をAutoから3.5mmジャックに変更(一応)

2. スピーカーのテスト

$ speaker-test -t sine -f 1000

3. mpg321のinstall

### library install
$ sudo apt-get install mpg321 

4. 確認

### 普通に再生
$ mpg321 foobar.mp3

### 音量指定(1-100)
$ mpg321 foo.mp3 -g 10
  
### ループ(0は無限ループ)
$ mpg321 foo.mp3 -l 3
  
### デーモンで起動する場合
$ mpg321 foo.mp3 -l 3 > /dev/null 2>&1 &

聞こえないときはraspi側の音量を最大にしてみる

$ alsamixer

f:id:portaltan:20170315123901p:plain
|

raspberryPiのバックアップ

電子工作

raspberryPiはSDカードのバックアップをとることで簡単にコピーすることができます。

必要なツール

方法

読み込み(バックアップ)

Win32 Disk Imagerを起動すると以下のようなWindowが出てくるので、適当にイメージファイル名を入力して、Readを押すとイメージファイルの作成がはじまります
f:id:portaltan:20170313104134p:plain

書き込み(復元)

逆にバックアップしたイメージファイルをもとに復元したい時は以下の手順を行います

  1. SDカードをフォーマット
  2. imageファイルを指定してWriteボタンを押す

openCVのGaussianBlurで画像をぼやけさせる

opencvで以下のmballの画像をぼやけさせます
f:id:portaltan:20170209171749j:plain

method

cv2.GaussianBlur(img_src, average_square, sigma_x)
  • img_srcは読んで字のとおり画像
  • average_squareは正方形を画素数で指定して、その正方形内の色をまとめて平均化してしまう
    • だから(1,1)だとほとんど変わらない(んだと思う)
  • sigma_xはX軸方向の標準偏差らしい(よくわからん・・・)

試してみた

import cv2

# read image file
img = cv2.imread("mball.jpg")

# blur
blur_img = cv2.GaussianBlur(img, (25, 25), 0)

# write image file
cv2.imwrite('blur.jpg', blur_img)

出来た画像がこちら
f:id:portaltan:20170209172354j:plain
ちゃんとぼやけた画像にすることが出来た!

ちなみに色々値を変えると

cv2.GaussianBlur(img, (25, 25), 1)

f:id:portaltan:20170209172430j:plain
ぼやけ具合がかなり減った

cv2.GaussianBlur(img, (5, 5), 0)

f:id:portaltan:20170209172455j:plain
こちらも同じくぼやけ具合がかなり減った

cv2.GaussianBlur(img, (1, 1), 0)

f:id:portaltan:20170209172509j:plain
こちらはほとんど元画像と変わらない

raspberryPiにinfluxdb1.2をinstallする

以前v1.0.2のinstall方法を書きましたが、今回は最新版のinfluxdb1.2をraspberryPiにインストールする方法です。
必要であれば前のパッケージは以下のコマンドで削除しておきましょう

$ sudo dpkg --purge influxdb

手順

repositoryの設定

$ sudo apt-get update
$ sudo apt-get install apt-transport-https

$ curl -sL https://repos.influxdata.com/influxdb.key | sudo apt-key add -
$ source /etc/os-release
$ test $VERSION_ID = "7" && echo "deb https://repos.influxdata.com/debian wheezy stable" | sudo tee /etc/apt/sources.list.d/influxdb.list
$ test $VERSION_ID = "8" && echo "deb https://repos.influxdata.com/debian jessie stable" | sudo tee /etc/apt/sources.list.d/influxdb.list

$ sudo apt-get update

install influxdb

$ sudo apt-get install influxdb

influxdb 起動

$ sudo service influxdb start

確認

### プロセス確認
$ ps aux | grep influx
    influxdb 14488  0.3  2.1 800724 18936 ?        Ssl  12:55   0:07 /usr/bin/influxd -config /etc/influxdb/influxdb.conf
    pi       14569  0.0  0.2   4280  1852 pts/0    S+   13:31   0:00 grep influx

### port確認
$ ss -lntp | grep 808
    LISTEN     0      128                      :::8086                    :::*
    LISTEN     0      128                      :::8088                    :::*

### pingチェック
$ curl -sl -I  http://localhost:8086/ping
    HTTP/1.1 204 No Content
    Content-Type: application/json
    Request-Id: 93e1c7d3-edb7-11e6-800a-000000000000
    X-Influxdb-Version: 1.2.0
    Date: Wed, 08 Feb 2017 04:32:19 GMT

### queryチェック
$ curl http://localhost:8086/query?pretty=true --data-urlencode "q=SHOW DATABASES"
{
    "results": [
        {
            "statement_id": 0,
            "series": [
                {
                    "name": "databases",
                    "columns": [
                        "name"
                    ],
                    "values": [
                        [
                            "_internal"
                        ]
                    ]
                }
            ]
        }
    ]
}

※ちなみに今までport8083で立ち上がっていたweb interfaceは廃止されたようです
InfluxData | Documentation | Web Admin Interface