RaspberryPiにsambaをインストールしてWindowsからアクセスする。

sambaをインストールします。

//インストールして、
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install samba

//確認!
smbd -V
Version 4.1.17-Debian

設定を追記します。

sudo vim /etc/samba/smb.conf
//末尾に追記
[pi]
comment = Raspberry Pi
path = /home/pi
guest ok = yes
read only = no
public = yes
browsable = yes
force user = pi

sambaを再起動します。

$ sudo service smbd restart
$ sudo service nmbd restart

Windowsからアクセスします。

エクスプローラのアドレスバーに ラズパイのIPを入力すると見えます。

//こんな感じ
\\xxx.xxx.xxx.xxx

以上おわり。

atomでplantUMLを使ってみる

シーケンス図やフローチャートは、ビジュアル的に言いたい事を表現できるので便利ですよね。 普段はvisioを使っていますが、きれいな図を描こうと思ったら体裁を整えるのにある程度時間をとられます。 これが退屈。なのにツッコミが入りやすいのが見栄え。 なので、ツール様にやってもらおうという作戦です。

材料

  • atom
    • plantuml-viewer
  • Graphviz
  • JavaJREのほうでいい。portableでパスを通すのでもいけそう)
  • 先達の知恵

plantuml-viewerの導入

だいたい分かるな? SettingsのCharsetは"utf-8"

Graphviz(の中のdot.exe)

  1. Graphviz Download

windows | Graphviz - Graph Visualization Software

  1. 環境に合ったzipを落としてきて解凍する これを書いたときは graphviz-2.38
    .../graphviz-2.38\release\bin\dot.exe

  2. plantuml-viewerの GraphvizDot Executableに上記パスを入力する。

以上で準備完了

動作確認

ここが役に立ちそう PlantUML Cheat Sheet - Qiita

plantuml-viewer ショートカット:Ctrl+Alt+p

atomは一度落とさないとだめかも


なんとなく動作確認的なことをしてみたものの、、、微妙

digraph G {
size ="4,4";
subgraph cluster0{
  start [shape=box]; /* this is a comment */
  start -> step1;
  edge [color=red]; // so is this


  node [shape=box,style=filled,color=".7 .3 1.0"];
  step1 -> step2;
}

  node [shape=default,style=outline,color=black];
  step2 -> step3 [style=bold,label="comment"];

subgraph cluster1{
  step3 [shape=diamond];
  step3 -> step4 [style=dotted];
  step4 [shape=ellipse];
  step4 -> end [style=dotted];
  end -> end[label="hoge"];
}

step1 -> make_string;
make_string [label="branch"];

}

python3.6.2のインストール

python3.6.2のインストール

どうやら最初に書いた方法では、pipが使えなくなるようだ。


おソースを取ってきてmakeしてインストールする。 'python'のシンボリックリンクを更新して完了。

# インストール
sudo wget  https://www.python.org/ftp/python/3.6.2/Python-3.6.2.tar.xz
xz -dc Python-3.6.2.tar.xz | tar xfv -
cd Python-3.6.2
./configure # defaultでは/usr/local/binに入る
make
sudo make install

# 後日pipが入っていなくて困った。
# 同じディレクトリで下のようにやる。
sudo apt-get install libssl-dev
sudo make install

※エラー 404 Not Foundで うまくいかなかったら
sudo apt-get updateしてね

# おまけ
python3 -m pip -V # pipが入っているか確認
python3 -m pip freeze # 入っているパッケージの確認

シェルスクリプトをpythonで書くときに役立ちそうな記事

Shebang

  • シバンは環境にあわせて
  • マジックコメントは、文字エンコードを指定する。あとあと困りたくないならutf-8にしておく。
#!/usr/bin/python
# -*- coding: utf-8 -*-

print("Hello World!")

ファイル関連

# 存在確認
os.path.isfile(path)

# ファイル名を取得
os.path.basename(path)

# ファイルコピー
shutil.copyfile(src, dst, *, follow_symlinks=True)

# ファイル削除
os.remove(path)

# write file
f = open(filename, 'w') # 追記は'a'
f.write(text)
f.close()

# read file
f = open(filename, 'r')
text = f.read()
f.close()
print(text)

ディレクトリ関連

# ディレクトリ作成
os.mkdir(path)

# 存在確認
os.path.isdir(path)

# パス名を取得
os.path.dirname(path)

# ディレクトリコピー(上書きはエラー)
shutil.copytree(src, dst)

# ディレクトリコピー
from distutils.dir_util import copy_tree
copy_tree(src, dst)

# ディレクトリ削除(ファイルがあるとエラー)
os.rmdir(path)

# ディレクトリ削除(ファイルがあってもOK)
shutil.rmtree(path)

# カレントディレクトリを取得
os.getcwd()

リンク関連

# シンボリックリンク作成
os.symlink(src, dst)

# 存在確認
os.path.islink(path)

その他

# パスの存在確認
os.path.exists(path)

bashrcに加えた変更をまとめる記事

またイチから作り直し。。。という状況になっても困らないために。 随時追加する。

プロンプトの変更

export PS1="\[\e[1;32m\] [\u@\h: \w]$ \[\e[00m\]"

.bashrcの最後に加える。本当は別ファイルを用意してsourceしたかったのですが、コマンドを打つと行頭から入力されてプロンプトを上書きするようになってしまうようなのでそのようにする。

alias

alias ll='ls -ltr'

‘='の前後にスペースがあるとエラーとなる。PEP8とは違う。

ラズパイにインストールしたツールをまとめる記事

導入したツールの一覧記事を作っておきます。随時更新します。


  • 導入前の儀式
sudo apt-get update
  • terminator
sudo apt-get install terminator

Xmingを通したssh接続でterminalを複数使いたいため入れた。

  • fcitx-mozc
sudo apt-get install fcitx-mozc -y
im-config -n fcitx
reboot

日本語環境です。

sudo apt-get install firefox-esr

winからラズパイへのssh接続失敗

しばらく時間が空いてしまい、ラズパイの状態がどんなだったかも忘れかけていて、さらに悪いことにはwinマシンからssh接続できなくなってしまいました。

さくっと解決しようと思っていたら、ハマってしまいこんな時間です。 本業に響くといけませんから、本日はメモだけ残して終わります。


後日改めて試してみたらすんなり繋がりました。
「何がマズかったのかわからないけど動きました!」

さすがに仕事では言えませんが、お遊びなので軽く考えることにしましょう。