JP7FKFの備忘録

ヒトは,忘れる生き物だから.

macでstm32な環境をとりあえず作る

macでstmな環境を作りたかった.やりかたは全てReferencesのところに書いてあるといえば書いてある.
とりあえずモノを持ってこよう.downloadだ.
SW4STM32 - System Workbench for STM32: free IDE on Windows, Linux and OS X
STM32CubeMX - STM32Cube initialization code generator

STM32CubeMXはSTMicroelectronics のサイトからそのままDLして持ってくる.
で,こんな感じになっているはず. f:id:jp7fkf:20170528230625p:plain:w500
.app になっているのでそのままダブルクリックしてinstall できるかと思いきや,window がすぐに隠れてしまってinstall できない.
こいつをいれるにはちょっとコツが必要で, f:id:jp7fkf:20170528230622p:plain:w500
Show Package Contents をすると
f:id:jp7fkf:20170528230619p:plain:w500
こんなところにブツがある.
こいつをterminal から叩いてやる.
仮にDownloads にDL後の.app があるなら,

/Users/[ユーザ名]/Downloads/SetupSTM32CubeMX-4.21.0.app/Contents/MacOs  
./SetupSTM32CubeMX-4_21_0_macos

という感じで実行してやればよい.バージョンは都度変わるので気をつける必要がある.

Workbenchは,今はOpenSTM32 Community が運用していて,これたしかオープンソースなんだよね(?).
WorkbenchのDLにはOpen STM32 Communityの会員登録が必要です.適当に登録してDLする.
(ロケーション的にはこんな感じらしい Location: OpenSTM32 Community Site » Documentation » System Workbench for STM32 » Installing System Workbench for STM32 » Installing System Workbench for STM32 with installer » Downloading the System Workbench for STM32 installer)
f:id:jp7fkf:20170528230945p:plain 私は適当に install_sw4stm32_macos_64bits-latest.jar をDLした.run をDLしてもいれれると思うんだけど私はやり方がわからなかった. こいつはふつうに.jarを叩いてインストールしてやればOK.
ちなみに当たり前だけどJavaが必要.

なんとか最低限のソフトウェアはいれれたみたいだ.
次はコンパイルとDFUでの書き込みをやってみたいと思う.
ここまでできれば秋月でSTM32のチップを買って色々できるようになる.
まぁもう買ってあるんだけども.

References

ubuntu server 16.04.2でsystemdから自動起動

sysv-rc-confでいくらやってもだめだった〜なんでやろな〜と思ってたらとんだ勘違いだった.
chkconfigからのsysc-rc-confからの今はsystemctrlが正解でした.
sysc-rc-confなんて入れる必要すらなかったのだった.

service zabbix-agent status  
service zabbix-server status    

sudo apt-get install sysv-rc-conf    

sudo sysv-rc-conf --level 35 zabbix-server on  
sudo sysv-rc-conf --level 35 zabbix-agent on  

sysv-rc-conf --list | grep zabbix

ってやってたんだよね.

正解はこっちね.

sudo systemctl status zabbix-agent.service  
sudo systemctl status zabbix-server.service  
sudo systemctl enable zabbix-agent.service  
sudo systemctl enable zabbix-server.service  
sudo systemctl status zabbix-agent.service  
sudo systemctl status zabbix-server.service  
sudo reboot    

systemctl  status zabbix-agent.service   
systemctl  status zabbix-server.service   
systemctl list-unit-files

[checonfig | sysv-rc-conf] --list

的な感じのリストが見れるらしい.
start/stop/status/reload/restart/enable/disableはもちろん使えますHi.

macにnokogiri入れるときに詰まる件

バカだからnokogiriインストールで詰まった.
n回目の事案なのにいちいちggってるのアホっぽいから書いておく.

はじめに

brew uninstall nokogiri

しておこうか.

bundle config build.nokogiri --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib/  
bundle install

やら

gem install nokogiri -- --use-system-libraries --with-xml2-include=/usr/include/libxml2 --with-xml2-lib=/usr/lib/

で,解決.

参考に/usr/localの下にlibxml2とかがあるときのやつを載せておく.linkすればわかるよな.多分.

brew install libxml2 libxslt  
brew link libxml2 libxslt --force  
bundle config build.nokogiri --use-system-libraries --with-xml2-include=/usr/local/include/libxml2 --with-xml2-lib=/usr/lib/  
bundle install

Reference

Mac OSX YosemiteにNokogiriをインストールする

DeNAの障害検知

ただの備忘録.

DeNAでは以下のようなプロセスで、インターネット上で発生するネットワーク障害に対応できるよう備えています。
1. whoisにて、注視したいFQDNとAS番号を紐付ける。
2. 各ASのサンプルページにリーチャビリティがあるかどうかを定期的に確認する。
3. 結果を宛先ASごと・DeNAの使用回線ごとに集計し、失敗率を算出する。
4. 失敗率が予め定めた閾値を超えた場合に、失敗率が高いASに対してmtrを実行する。
5. 障害の原因となった場所を特定する。
6. 可能であれば迂回等の対策を行う。

へー.

Reference

TOTO TKGG31型の水栓のバルブカートリッジを交換した話

家の人から,蛇口の取っ手がガタガタして困っているという報告を受けた. 蛇口の取っ手のネジの緩みかと思ったが,締め直しても改善せず,取っ手を取り外して見てみるとバルブカートリッジの流量調整部の部分そのもの(レバーハンドルが取り付けられる場所)が若干がたついていた.数年使っているので,バルブカートリッジを交換することにした. うちの水栓のバルブカートリッジはTOTOのTKGG31型というのに当てはまるようで,これに適合するTHF29型というバルブカートリッジを発注した.
f:id:jp7fkf:20170503232236j:plain:w500
中身はこんなかんじ.カートリッジ本体とクリックユニット,あとはネジが2つ.
f:id:jp7fkf:20170503232253j:plain:w500
さて,早速水栓をバラしていきます.水道を元栓を閉めて作業を行います.これを忘れると大変. まずはレバーハンドルを取り外します.インデックスをマイナスドライバーやらで外して,蛇口を開き,六角レンチでレバーハンドルを固定しているネジを緩めます.
f:id:jp7fkf:20170503232256j:plain:w500
バーハンドルが外れるとこんな感じ.
f:id:jp7fkf:20170503232301j:plain:w500
カバーを軽く回して引き抜きます.
f:id:jp7fkf:20170503232303j:plain:w500
クリックユニットを外します.取るだけ.
f:id:jp7fkf:20170503232309j:plain:w500
するとステンレスのボルトが3本見えてきます.これとその下のプレートで,バルブカートリッジを押さえつけて止めています.この六角ボルトを緩めて外します.
f:id:jp7fkf:20170503232318j:plain:w500
するとバルブカートリッジが外れます.これを交換してやります. f:id:jp7fkf:20170503232531j:plain:w500
バルブカートリッジを入れるときは,向き等に注意して位置合わせをしっかりとやります.突起があるのでわかりやすい.
戻すときは全く逆の手順で戻します.これで終了です.簡単.
見事レバーハンドルのがたつきも解消し,水栓の開閉時の抵抗も少なくなりました.めでたし.

ULVAC GCD-051Xのオーバーホール

ダメになってる真空ポンプをオーバーホールしてみたので書いて見ます.
雑にオーバーホールしただけなので,精密なことや,消耗品交換はしていません.
しかしながらサビやらなにやらで回らなくなっていた真空ポンプは回るようになり,普通に使えるレベルになったのでとりあえずはいいかなという感じ. オイルを抜いて,モータを外して,オイルで満たされている部分を開けるとこんな感じのポンプ部が出ます.
f:id:jp7fkf:20170503225333j:plain:w500
ちょっとこの取り付け間違っていて,本当は一番手前の部品,45度反時計回りにつけるべきものです.間違えた時に撮影してしまって….
f:id:jp7fkf:20170503225342j:plain:w500
その部品を外して,開けてやるとこんな感じ.
f:id:jp7fkf:20170503225355j:plain:w500
さらに分解を進めて…
f:id:jp7fkf:20170503225425j:plain:w500
この下が2ndステージ,さらに下が1stステージです.
この先の写真を撮るのを忘れてしまっていました….
f:id:jp7fkf:20170503225441j:plain:w500
全部バラすとこんな感じになります.
f:id:jp7fkf:20170503225458j:plain:w500
ロータリ部分のブラシ?はカーボン製,バネが入っていて外壁にカーボンブラシが密着するようになっています.
ツーステージポンプなので,部屋が2つあって,1段目は大きく,2段目は少し小さい部屋です.1stステージで圧縮したものをさらに2ndステージで圧縮して,ワンステージポンプよりも高真空が得られるようになっています.
部品点数はそれほど多くなく,簡単に分解清掃できました.
サビを落としたり洗浄して,適度に真空ポンプ用オイルを塗りながら再度組み上げを行い,モータを取り付ける前に人間の力で軽く数回回してあげて抵抗がありすぎてモータがストールするようなことがないかをチェックします.六角レンチとかをカップリングのところに噛ませてよいしょと回す感じ.交流モータの力で回る程度なら問題ないでしょう.最初は周りがしぶくてモータをストールさせてしまいました.モータに安全ブレーカが入っていた(過電流時にボタンが飛び出るタイプのアレです)のでなんとか助かりました.焼けるところだった.
そして数時間ほどガスバラストバルブを開けて,吸気口には適当に抵抗をかけて(ふさいで)あげて(この真空ポンプは10kPa以上の高真空が不得意ですので),慣らし運転をしてあげます.これでポンプのお部屋もカーボンによって研磨されて,可動部の細かなサビも擦れて取れてくることでしょう.一旦回るようになればあとは回すことで抵抗はだんだんと減って普通に使えるポンプになるはずです.直して動かした感じではちゃんと引けてそうでした.もとの到達圧力になるか,排気速度は保てているか,など,評価の指標はたくさんありますが,必要に応じて測定すればよいでしょう.私の用途ではそれは重要ではないので,ある程度きちんと引けてくれればよし,ですので,これでOKです.というか油回転ポンプなんてそんな用途でしか使わないことが多いでしょうから,そこまで厳密な性能は多くの場合で必要ないのではないでしょうか,と思います.
というわけでオーバーホールできました.めでたし.

DC Blockを作ってみた話

DC Blockとは何か

スペアナとかネットアナとか,高周波測定器とかを使うようになると, DC Blockと呼ばれるものが欲しくなったりする.
これは一体何かと言うと,その名の通り,高周波のみを通過させ,DCを通さないようにする部品である. 感の良い人はすぐにわかるであろうが,つまりキャパシタを伝送線路に対して直列につければよい.というわけで私でも作れるはずである. しかしながらこれがなかなか曲者なのである.高周波部品である以上,できるだけS21特性,S11特性などがよいものであってほしいものだ. S21パラメータは周波数が上がるにつれ,小さくなって行く傾向にあり,S11特性は大きくなる傾向にある.GHz帯で用いるパーツとしては,この特性が良好な機材を作りたいものである.

作った

今回は,〜8GHz程度までを対象としたDC Blockを2つ作製した. 伝送線路はマイクロストリップ線路を用い,コネクタはSMAコネクタのメス(秋月の安いやつ)をつけた. 1つ目は1000pFのチップキャパシタ(1608)をつけたもの. 2つ目は1000pF,2200pF,3300pFを並列にしたものを伝送線路に対して直列につないだものだ. それぞれ制作したものの画像は以下のようになっている.
- 1000pF
f:id:jp7fkf:20170404221936j:plain:w500
- 1000pF, 2200pF, 3300pFパラ
f:id:jp7fkf:20170404221932j:plain:w500

これらをネットワークアナライザを用いて測定し,S21,S11パラメータを測定した. 特性の参考にMini-CircuitsのBLK-89+というDCブロックと比較をしてみた.
f:id:jp7fkf:20170414141625p:plain:w500
f:id:jp7fkf:20170414141642p:plain:w500
さすが製品なだけあって,Mini-Circuitsの特性は非常に良い.
DC_Block_001が1000pFをつけたもので,DC_Block_002が3つキャパをつけたやつ.DC_Block_001の特性はお世辞にも良いとは言えない.3GHz付近でS11は-20dBを超えてしまっている.S21も7GHzあたりでは-2dBくらいある.DC_Block_002では,概ね8.5GHzまでS11は-20dB以下,S21は-1.5dB以下となっている.こちらは使い物になりそうである. BLK-89+はさすがであり,S11は概ね-25dB以下,S21は-0.5dB以下である.曲線も美しく,素晴らしい特性である.DC_Block_002のほうは,S11的にはBLK-89+に引けを取らないような感じに見える.5dBくらい負けていたりするけど.S21のほうは悪くないが,BLK-89+と比較してしますとやはり劣るように見える.しかしながらそれなりに使い物にはなりそうである.おそらくSMAコネクタの損失等でS21が低下している部分もあるのだろうなぁと思う.まともなコネクタをつけて,半田付けをもっと上手にするとか工夫すればもっとよくなりそう.とりあえずは使えそうなのでこれでしばらく使ってみようと思う.

References

Mini-Circuits, DC Block, BLK-89+ Datasheet