焼肉on寿司onピザ

プログラミングとか、かっこいい音楽とかの話を

【Python3】【Windows10】状態遷移パッケージtransitionsをAnaconda, pygrapgvizなしで使用する方法

はじめに

pythonの状態遷移管理パッケージtransitionsは、簡単に状態遷移を記述できる非常に便利なパッケージです。以下のページで日本語で非常に詳しくまとめてくださっています。(ありがたい)
qiita.com

基本的に、ここに書いてある通りに試していけばいいのですが、ライブラリのインストールで壁にぶち当たったので書いておきます。

環境

Windows10
Python3.7.4
Anacondaは非導入
【追記】transitions 0.7.1

発生した問題

Pygraphvizが入らねえ
Anaconda入れたくねえ

発生した経緯

今回の問題の原因は、状態遷移を表示する画像パッケージのインストールで問題が発生しているようです。transitionの開設サイトに書いてある通り(conda無しver)に進めると

pip install git+https://github.com/pytransitions/transitions.git@dev-graphviz

このコマンド試すとエラーが...
gitから直接ダウンロードしてsetup.pyしてもダメでした
結局原因がわからず、pygraphvizをどうにか入れる方法を探したのですが...

「Anacondaを使わずに」pygraphvizを導入する方法の一つで、以下も試しましたが、うまくできず...(雑魚)
hytmachineworks.hatenablog.com

解決方法

transitions解説サイトをよく読むと次のような記述が...

※ちなみに次期Versionの0.70ではPyGraphvizは使用しない方向になっているので、Version0.69までの対応となる見込みです。(「Windowsの場合」参照のこと)

な~~~んだ、じゃあpygraphvizを使わないtransitionsのコードを書けばええのか~~
というオチでした
ちゃんと読めよ

てことで、pygraphvizを使わないでtransitionsを使う方法をご紹介します

pygraphvizを使用せずにtransitionsを使う

日本語でこの解説してるページがなかったので書いておきますv
transitionsのソースが載ってるgithubと先述の日本語解説サイトを参考にしています
github.com

インストール

まずは最新版のtransitionsとgraphvizをインストールしてください
graphvizは公式サイトから、Stable 2.38 Windows install packagesをインストールしてからpipしましょう。その後、パスも/binまで通して再起動
https://graphviz.gitlab.io/download/

pip install transitions
pip install graphviz

dotが通っているか確認、バージョンが出てきたら成功です

dot -V

出力例

dot - graphviz version 2.38.0 (20140413.2041)

transitionsで状態遷移図の出力

例の開設サイトに載っているwindows向けのコードですが、実行すると
"Exception: AGraph diagram requires pygraphviz"というエラーが発生します
pygraphvizを要求してくるわけですね

import graphviz
from IPython.display import Image, display
from transitions.extensions import GraphMachine

states = ['A', 'B', 'C']        #状態の定義

class Matter(object):
    def __init__(self, filename=None):
        self.output = filename

    def action_output_graph(self, *args, **kwargs):
        dg = model.get_graph(*args, **kwargs).generate()
        if isinstance(self.output, str):
            graphviz.Source(dg, filename=self.output, format='png').render(cleanup=True) 
        else:
            display(Image(dg.pipe(format='png'))) 

model = Matter('test')         #ファイル出力する場合は、Matter('test')にする。
machine = GraphMachine(model=model, states=states, initial='A', 
                       auto_transitions=False, ordered_transitions=True,
                       title='', show_auto_transitions=False, show_conditions=False, 
                       finalize_event='action_output_graph')    

model.action_output_graph()     #初回のみ手動実施


こちらを次のように書き換えるとうまく実行され、同じフォルダに状態遷移の画像が出力されます

変更後のコード

import graphviz
from IPython.display import Image, display
from transitions.extensions import GraphMachine

states = ['A', 'B', 'C']        #状態の定義

class Matter(object):
    def __init__(self, filename=None):
        self.output = filename

    def action_output_graph(self, *args, **kwargs):
        dg = model.get_graph(*args, **kwargs).generate()
        if isinstance(self.output, str):
            graphviz.Source(dg, filename=self.output, format='png').render(cleanup=True)
        else:
            display(Image(dg.pipe(format='png')))

model = Matter()
machine = GraphMachine(model=model, states=states, initial='A',
                       auto_transitions=False, ordered_transitions=True,
                       title='', show_auto_transitions=False, show_conditions=False,
                       finalize_event='action_output_graph', use_pygraphviz=False)
# use_pygraphviz=Falseを追加

model.get_graph().draw('test.png', prog='dot') #画像出力 ファイル名をここで指定

変更点としては2つです

  1. GraphMachineの定義に"use_pygraphviz=False"を追加(19行目)
  2. 画像出力の関数を変更(最終行)

pygraphvizを使わないことを明示して、dotで出力しろ!
って書いてあげてるわけですね

出力された画像

f:id:dokataponiti:20191008201929p:plain
解説サイトと同じ画像が出て、うまく動いてそうですね!!!


という感じでpygraphvizやcondaを使わずにtransitionsが使えそうです~やったね~
winでpygraphviz入れるのはあきらめそう!

余談ですが、anaconda入れたくなかったのは最近はpipでだいたいどうにかなるので新しいの入れると環境がぐちゃぐちゃになりそうなのを懸念してました。
ばいちゃ

知識ゼロからのダイハツ タント カーオーディオ取り付け③車搭載編

はじめに

前回は赤タップをギボシ加工してダイハツ車用カプラーに接続しました

今回はいよいよ車に搭載して使えるようします

 

過去記事はこちらからどうぞ

poniti.hatenablog.com

poniti.hatenablog.com

 

この記事の要約

タントのカーオーディオを入れ替えた

ネットの知識でカーオーディオ付け替え&ギボシ加工は可能

 

オーディオ取り替え

やっていきましょう。こいつを取り外していきます

このやり方もネットでググりながらやってます、インターネット最高!

f:id:dokataponiti:20190822202253j:plain

 

①車のバッテリーのプラス(+)を外す

安全のためにバッテリーのプラス(手前側)を外します

ここで10mmレンチが必要になりますね

(外車は規格が違うようです)

f:id:dokataponiti:20190822202442j:plain

 

②エアコンパネルの取り外し

カーオーディオを外す前にエアコンパネルから取り外す必要があります

右上から内張剥がしやHARD OFFピックで隙間をぐいぐいして外しましょう

f:id:dokataponiti:20190822203528j:plain

出てきたネジ(赤丸部)も外してしまいましょう(ネジは使うので回収してください)

 

③オーディオ取り外し

ネジを外したらエアコンパネルと同様に、ツメを剥がして外します

f:id:dokataponiti:20190822203346j:plain

 

取り出せたらカプラーを外しましょう(ボケ)

f:id:dokataponiti:20190822203851j:plain

 

裏側はこうなっています、ツメを握って、手前に引っこ抜く!

結構硬くて指先が死にました

f:id:dokataponiti:20190822204341j:plain

 

 

④新オーディオ取り付け

ダイハツ車用カプラーを接続!写真これしかなかった...

カプラーとオーディオ電源を繋いでからさした方が絶対楽

f:id:dokataponiti:20190822204030j:plain

あとアースも撮りましょう、固定具のネジに挟む感じで噛ませればいいと思います

(正しいのかこれ?) 

 

一応ハマった!固定する前に接続確認をしましょう

バッテリーのプラス端子を戻し忘れないように

f:id:dokataponiti:20190822204841j:plain

 

接続確認👍

f:id:dokataponiti:20190822205447j:plain

 


⑤オーディオを固定具で固定

接続確認できたら、取り付けキットの固定具とネジで固定しましょう

ネジが足りなかったから半分くらいしかつけてない...でも固定できます

(画像無)(撮り忘れ)

 

⑥オーディオパネル取り付け

取り外しと同様にツメに合わせて取り付けていこう

こんな感じにオーディオがはまる

f:id:dokataponiti:20190822205614j:plain

 

DVDも再生できます!車内でいっぱい映画観れるぞ〜

f:id:dokataponiti:20190822210017j:plain

 

おまけ

ついでにドラレコも自分で取り付けました

f:id:dokataponiti:20190822210838j:plain

 

配線は前の方のこういう奴を外して中にねじ込みました

f:id:dokataponiti:20190822211203j:plain

 

ここですね

f:id:dokataponiti:20190822211111j:plain

バックカメラの配線はドアのゴムんとこにねじ込みましょう

 

終わりに

これで全行程完了!ギボシ加工さえなければこんなに苦労しなかった笑

 

この記事を通して言いたかったのは

ネットの知識でカーオーディオ の取り替え&ギボシ加工は可能 

なんで苦学生の君は、お店に頼む前に自分でやってみよう!

 

次はUSBポートでも取り付けるか〜とか考えてます

 ご精読ありがとうございました。

知識ゼロからのダイハツ タント カーオーディオ取り付け②赤タップ→ギボシ加工編

はじめに

この記事の続きです、読んでない方はこちらからどうぞ

poniti.hatenablog.com

 

次の記事はこちら

poniti.hatenablog.com

 

記事の要約

カーオーディオのギボシ加工を自分で行ったのでその記録

ギボシ加工は簡単で誰でもできる!

中古のカーオーディオはカプラーとハーネスの形状に注意しよう!

 

以下に続きます

 

オーディオ取り付け!のはずが...

さて家に届いたカロッツェリアを早速取り付けようとしたら...

カプラーが赤タップ加工になっていました!

言い換えると、そのままではダイハツ車に配線できない仕様でした

配線には赤タップを外してギボシ加工する必要があります

 

取り外した配線がこちら

f:id:dokataponiti:20190822170519j:plain

左:元々ついてたホンダ車用カプラー 右:カーオーディオ側のカプラー

 

これが問題の赤タップ(奥のやつは開いてます) 

f:id:dokataponiti:20190822182936j:plain

 

ギボシ端子はこんなやつです。これに接続する為に赤タップ加工が必須な訳です

f:id:dokataponiti:20190822185204j:plain

 

 

解決手法

ここでいくつか検討した案とボツ理由をご紹介します

  1. お店に持ち込む→お金がかかりそうなので❌
  2. カーオーディオの電源ケーブルを購入する→爪の向きが違う端子しか売ってなかったため❌
  3. 自分でギボシ加工する

カーオーディオ用の電源ケーブルの替えがあるならそっち買うほうが手っ取り早いと思いますね...

(パイオニア用の電源ケーブルイエローハットとかで売っていますが、古い機種は爪の形が違うので注意!)

 

f:id:dokataponiti:20190822183740j:plain

古い機種の電源ケーブルはこんな形してます、

↓これが使えれば楽だったのになー...形が違うことがあるので買う前に確認しましょう

ちなみに、お店でギボシ加工だけでの請負はしてないとのこと...

 

 と言うわけで、前回紹介した電工ペンチを使って自分でギボシ加工することに!

 

余談

逆に、タント側のカプラーを赤タップ用に加工すれば?という発想もありましたが

どうやら赤タップよりカプラーの方が電流(?)が安定するらしい[車屋店員談]ので、そちらは試しませんでした

 

ギボシ加工

この記事が大変わかりやすいです。自分もここを見ながら加工しました

www.diylabo.jp

 

さあさあやっていきましょう!

右側2つがダイハツ用カプラーです

f:id:dokataponiti:20190822193757j:plain


 

 

手順

①赤タップの取り外し

HARD OFFピックの先っちょを赤タップの穴にねじ込んで、グイッと開けます

赤タップHARD OFFCAST OFF しましょう (ドッ

f:id:dokataponiti:20190822190554j:plain

 

開けるとこんな感じです

f:id:dokataponiti:20190822191124j:plain

中の導線を慎重に力を入れて引っ張って外しましょう(結構硬い)
 

②ゴムはがし

取り出した導線のゴムを剥がします、細かいやり方は上の記事を読んでください

ボケすぎてた(反省)

f:id:dokataponiti:20190822191841j:plain

 

③カバー装着

取り付ける先の端子の形に注意しよう!

f:id:dokataponiti:20190822192150j:plain

 

④金属部分のかしめ

電工ペンチで慎重にかしめていきましょう

導線がはみ出た部分は絶縁テープで補強...

f:id:dokataponiti:20190822193256j:plain

 

うまく刺さりました!ちょっと感動した

f:id:dokataponiti:20190822193415j:plain

 

接続完了!

f:id:dokataponiti:20190822194138j:plain

カーナビ用端子以外は、これで全部つながりました!

あとは車に搭載するだけ!

本来はこんなことしなくても取り付けれるはずだったのに...技術が身についたので良しとするか(前向き)

 

 

次回は車に取り付けます!↓

poniti.hatenablog.com

知識ゼロからのダイハツ タント カーオーディオ取り付け①準備編

記事の要約

愛車(ダイハツ タント)のカーオーディオを取り替えた

今回は準備編と言うことで使った機材と料金を整理

やはり初期投資でなんだかんだ金がかかる...

 

ギボシ加工不要な場合

オーディオ外して配線するだけです。

以下使用する工具

  • ドライバー
  • ギターピック(or内張剥がし)
  • 車のバッテリー抜く10mmペンチ

これだけあればできると思います。 

 

ギボシ加工必要な場合

ギボシ加工には電工ペンチが必要です

工具持ってないなら+3000くらいの出費くらいですかね

まあ、ギボシ加工は結構簡単ですのでご安心を!

 

はじめに

旅行の予定もあったため、長距離ドライブを快適にするためにカーオーディオを入れ替えたいと思いました。

お金もなかったため全て自分でカーオーディオ入れ替え作業を行うことにしました

果たしてネットで仕入れた知識でどうにかなるのか???

(ついでにドラレコも取り付けました)

 

使用した機材

①カーオーディオ

イオニアカロッツェリア(中古) 7250yen

タッチパネルでCD/DVD対応 AUX USB搭載でええんじゃないかという感じ

(しかしこの後大きな問題が判明する)

f:id:dokataponiti:20190819164843j:plain

 

② ダイハツ タント用ナビ・オーディオ取付キット

これにハーネスとか固定する金具とかオーディオ周りにはめるパネルがセットになっています。いや〜お値段が結構高い...6113yen

オーディオつけるならこれは必須な気がします

しばらくヤフオクで狙ってみましたが、送料考えると相場はあんま変わりませんでした

 

 

 

ドラレコ

本記事に関してはおまけ 5680yen

f:id:dokataponiti:20190819170105j:plain

 

工具

①ギターピック(HARD OFF)

多分108yen 硬いやつがいいです

オーディオの内張を剥がすのと赤タップを開けるのに大活躍しました

f:id:dokataponiti:20190822155701j:plain

 

②電工ペンチ

ギボシ加工するなら電工ペンチは必須です

レンチと内張剥がしなど色々ついて2300yenくらい

電工ペンチ単体でも1800くらいだったからお得なのか?

f:id:dokataponiti:20190822155823j:plain

この辺買っとけば良さそう

 

エーモン 電工ペンチ 全長約255mm 1452

エーモン 電工ペンチ 全長約255mm 1452

 

 

③ドライバー(画像なし)

家にあった物を使いました、オーディオの固定具の取り外しに使います

電動でもいいね

 

さて、次は端子加工を行います

次回に続く↓

poniti.hatenablog.com

 

ギボシ加工興味ない方は取り付け編へ↓

poniti.hatenablog.com

オートバックスでETCをつけるときにETCカードは必要か?→提示は要求されなかった

本記事まとめ

オートバックスでETC取り付け・セットアップの際にETCカードの提示は要求されない

ETCカードが無くてもETC取り付け・セットアップは可能

ETCカードを車載器に挿入してないとETCゲートは通れません(当然)

※店舗によって対応が異なる可能性があるので鵜呑みにはしないように

 

はじめに

ETCカードは他人のでも使える!」とか「セットアップは個人ではできない!」みたいな言う記事はいっぱいあったけど、「セットアップの時にETCカードは必要か?」と言うことに言及した記事はなかった。

「ETC取り付けたいけどまだカードないからセットアップできるか不安!」と思ってる人のためにこの記事を書いておきます。

 

「当たり前すぎて書く必要がないでしょw」とか言う人はキライ 

 

経緯

「えーマジETC非搭載⁉︎」

「キモーイ」

「ETC非搭載が許されるのは平成までだよねー」

「「キャハハハハハハハ」」

 

と言う訳で愛車の軽自動車にETCをつけてきました。

オートバックス通販で10000円でセットアップ取り付け込みでやってくれます。↓

www.autobacs.com

その場で買うより安いぽい?

 

と言うことでオートバックスで取り付け作業をすることにしました。

 

問題

通販でETCを注文して、注意書きを眺めてみるとこんなことが書いてありました
"ETCをご利用になるためにはETCカードのご用意、及び車載器の取付け・セットアップが必要です。"

このとき自分のETCカードを持っていなかったので「やべえよやべえよ」と思い、お店に電話で確認してみることに

 

解決

わい「今はETCカード持ってないんご...取り付けだけでもできる?」

店員ニキ「できますよ(爆笑)」

わい「やったぜ。」

 

と言うことで軽い感じでできるっぽいです。

まあETCカードないとゲート通れないから、こういう注意書き書いてあるんですよね。

カード未所持だから取り付けができない、ということはないっぽい。

 

そもそもETCのセットアップってのは車両情報をどっかに登録するだけなのでETCカードの情報は使わないんぽいですね。そういう仕組みだったか

 

取り付け

取り付けは1時間くらい待つので暇つぶしグッツ持っていくといいですね。

手続きは、車検証見せてキー渡して色々書類に個人情報書いて金払うだけ。

ETCカードの提示は要求されませんでした。

あ、車検証の名義の人がお店に行きましょうね。違う人だと委任状が必要だとかなんとか

 

 

以上

Visual Studioでwebsocket-sharpのビルドができない場合の対処法(Win, Mac共通)

数ヶ月前にUnityでwebsocketを使おうとしてダウンロードしてビルド使用した所、

ビルドのエラーが出てビルドできない現象が起こりました。 

その対処方法についてまとめます、と言っても自分の場合はコードをコメントアウトするだけですが

エラーの経緯

基本的には

①ファイルをダウンロード

②Exampleを削除

③ビルドしてwebsocket-sharp.dllを生成

④websocket-sharp.dllをUnityにインポート

という手順ですが③のビルドでエラーが出て、ビルドを実行できない場合があります

VSの個人の環境もあると思いますが、私の場合はUnity2018 3.5と一緒に入れたままのVSでエラーが出ました

最新版のVSではこうなんですかね?ようわからん

 

またWindowsMac両方で同じ対処法でビルドが通ったのでメモ程度に対処法をあげておきます、初めて入れたVSでビルドエラー探しから始めるのだるかった

 

問題のエラー

VSのスクショですが、今回はこういうエラーが出ました

f:id:dokataponiti:20190622212050p:plain

ISerializableがなんかに含まれてない...みたいな感じですかね

エラーが起こってる部分はここです

f:id:dokataponiti:20190622212410p:plain

CookieException.csの155行目でエラーが起こっています 

解決方法

CookieException.csの155行目を次のようにコメントアウトします

.GetObjectDataをコメントアウトするとビルドが通ります

f:id:dokataponiti:20190622213001p:plain

 詳細などわかればコメントで教えてください…

関連記事

websocket-sharpのダウンロード

https://github.com/sta/websocket-sharp

 

基本的なやりかたは色々な人がまとめてくださっていますね

https://qiita.com/oishihiroaki/items/bb2977c72052f5dd5bd9

https://www.washio.net/wacode/websocket-unity-server-com-2/

幸せになれるブルータルデスメタルのすすめ

今回は初めてのブログ記事で定番の、”ブルータルデスメタル”について書く

 

概要

ブルータルデスメタルを聴け。黙って聴け。お前は幸せになれる。 

はじめに

幸せになりたいならブルータルデスメタルを聞く、それは直感的で合理的な判断 

[1]はこのジャンルがどのくらいかっこいいか書いている

[2]は最高の音楽がまとまっている、おそらく楽園

関連記事

  1.  https://ja.wikipedia.org/wiki/%E3%83%96%E3%83%AB%E3%83%BC%E3%82%BF%E3%83%AB%E3%83%BB%E3%83%87%E3%82%B9%E3%83%A1%E3%82%BF%E3%83%AB
  2. https://www.youtube.com/slamworldwide

おススメ楽曲

今回は、時間がないので有名なバンドを紹介する

Infant Annihilatorはイギリスのバンド

こんなにブルータルなバンドはなかなかないブルータルマジでブルータル

www.youtube.com

このバンドはドラムがすごい早くてブルータル

朝とかに聞くと生きる活力が出る

早すぎてスティックが鉛筆ぷるぷるするやつみたいになってる所もブルータル

www.youtube.com

 

WITHIN DESTRUCTIONもブルータルなバンドの一つ、かっこいい

しかし、さっきのバンドのMVもそうだが、なぜセクシーなのか

www.youtube.com

 

SIGNS OF THE SWARMも最高にブルータルでかっこいい

www.youtube.com

 

番外編として、ラブライブのブルータルデスメタルカバーアルバムを紹介する

内臓出ちゃってるがブルータルで大変良い

「僕らのSLAM 君とのSLAUGHTER」という曲名もブルータルで好きだ

よく聞くと原曲がわかる(わからない)

www.youtube.com

まとめ

この記事を読んだお前は幸せになった

調べる段階で、音楽ジャンルがSlam Death Metalとか英語wikiに書いてある、詳細の調査が必要だ、続きはまた書く