freedom-man.com

ブログは俺のセーブポイント

Category: 未分類

macOSでGNU dateを使う

macOSで初期にインストールされているdateコマンドはBSDバージョンなので、GNUバージョンを使うには以下のコマンドでインストールすればOK。

このままだとgdateと打たないといけないので、dateコマンドとして使いたい場合はrcスクリプトに以下のaliasを張っておけば良い。

 

Protocol Buffersを触ってみた

Protocol Buffersはデータ構造をシリアライズする技術になります。いわゆるXMLやJSONみたいなものではありますが、バイナリ形式なので「サイズが小さい」「シリアライズ、デシリアライズが高速」でprotoファイルによってメッセージ定義を「シンプルに記述可能」なのが売りです。またメッセージ定義はプログラムにコンパイルされるため、プログラムから利用しやすいのも利点です。

ということで今回はProtocol Buffersを触ってみました。

Continue reading

Rapiroで遊ぶ【カスタマイズ編】

今回はRapiroをRaspberry Piでさらにカスタマイズしていきます!

 

Rapiroの拡張というよりは、機能拡張したRaspberry PiをRapiroに載せる感じです。

 

今回の参考サイトは以下になります↓

[Raspberry Pi搭載系]

RAPIRO に Raspberry Pi を搭載する | アンドロイドな日々

RAPIRO: The Humanoid Robot Kit for your Raspberry Pi by Shota Ishiwatari — Kickstarter

[Bluetooth&PS3コントローラで遠隔操作系]

RapiroをPS3のDUALSHOCK3で動かしてみる | Makuake(マクアケ)NOTE クラウドファンディングブログ

シリコンハウスへようこそ:RAPIRO製作日誌 ~無線化への道~ Raspberry pi 搭載編 続章 bluetooth設定

工作と小物のがらくた部屋: Raspberry Pi で Dualshock3 (Bluetooth接続ゲームコントローラ)

[カメラモジュール系]

How to install / use the Raspberry Pi Camera | The Pi Hut

Raspberry Pi メモ (23) – カメラモジュールの使い方

無線LAN対応

Webに接続できるようにしないと、外部から遠隔操作したり

Webサービスとつないだりできないので、まずは無線LANに対応させます。

Raspberry PiにUSBの無線LANのドングルを繋いで色々と設定すればOKです。

詳細忘れちゃったので、「RaspberryPi LAN」とかで調べてもらえばハマること無く設定出来ると思いますw

Raspberry Piからのシリアル通信&Rapiro操作

Raspberry PiとRapiroは6極ケーブルを使って接続します。

rapiro-raspberrypi

あとは単純にシリアル通信すればOKでPythonだとpyserialを使って通信可能です。

pip経由でインストールするとこんな感じ

コードはこんな感じでOK

Raspberry Piに既にssh経由でログインできるようにしている場合は

sudo pythonから上記コードを実行して遠隔操作が出来るようになります。

 

ただし、このままだとシリアル接続をしてしばらく経つと、”input/output error”と表示されて

シリアル通信が出来なくなります。

これを防ぐにはRaspberry Pi側のシリアルコンソールを止める必要があるらしく

以下のコマンドで対応できます。詳細はこちらを参照してください。

Bluetooth対応

Bluetoothに対応するとPS3のコントローラで接続できたり

iBeaconを検知できたり発信できたり遠隔操作の幅が広がります。

BluetoothのアダプタはBSHSBD04BKを使いました。

 

PS3のコントローラでRapiroを操作する設定に関しては以下の記事通りにやればOK。

シリコンハウスへようこそ:RAPIRO製作日誌 ~無線化への道~ Raspberry pi 搭載編 続章 bluetooth設定

工作と小物のがらくた部屋: Raspberry Pi で Dualshock3 (Bluetooth接続ゲームコントローラ)

 

BluetoothアダプタとPS3のペアリングをするために

一時的にお互いをUSBで接続する必要があり、PS3コントローラを接続するポート

無線LANのポート、Bluetoothのポートの3つが必要になるので

Raspberry Piに搭載されているUSBポートでは足りなくなります

USBハブ(電力不足を防ぐためにセルフパワータイプが良い)を使ってポートを増やすか

Raspberry Piの有線LANを使うようにして無線LANのアダプタを使わないようにするか

いずれかの方法を取る必要があります。

カメラモジュール

専用のカメラモジュールをRaspberry PIに取り付けて、rapiro視点で静画/動画を撮影できます。

設定に関してはこちらのサイトが詳しいです。

raspberry側はraspi-configコマンドを実行してcameraをenableにすればOK。

あとはraspistillコマンドで静画を撮れます。

 

Rapiroに取り付けるときは天地が逆になるので

とすれば正しく静画を撮ることが出来ます。

動画も取ることができるので、ちょっとした監視ロボも作れちゃいます。

その他

Rapiroに搭載する場合はRaspberry PiはArduinoから電力を供給してもらうことになります。

よってカスタマイズすればするほど、Raspberry Pi自体の電力も下がってくるので

電力低下によりRaspberry Pi自体がうまく動かなくなることもあるらしいです。

USB経由のカスタマイズであればセルフパワータイプのUSBハブを使って電力をカバーするとか

無線LANは有線LAN+無線LANコンバータにして消費電力を減らす等の工夫が必要です。

据え置き型ロボであれば有線LANでも良いですね。

 

無線LAN、Bluetooth、カメラモジュール搭載のRapiroはこんな感じ↓

rapiro-equipment

USB部分が後頭部から飛び出します↑

額部分にカメラが埋め込まれます↓

rapiro-camera

windowsのパッケージ管理システムChocolatey触ってみた。

Linuxにはyumとかapt-getとかのパッケージ管理システムがあり、

インストール時に依存関係とか解決してくれるし、

インストールもコマンド叩くだけで自動的にやってくれるから

windowsにもこういうの欲しいなーと思っていたところで

chololateyというパッケージ管理システムがあることを知りました。

 

公式サイトに有るように、インストールは非常に簡単で

をコマンドプロンプトで叩くだけ!

 

あとはここにあるパッケージをcinstコマンドでインストールしていくだけ!

よく使うプログラムは大抵登録されているので、非常に便利。

 

ちなみに、chefも対応しているのでクリーンな環境で

自動的に必要なプログラムをインストールすることも可能みたい。

ただ、windowsの場合はlinuxと違ってディストリビューションによるコマンドの差異がないし、

作業用の環境として利用するだけで、サーバと違って細かい設定もあまりないので、

単なるbatファイルとかでも十分だと思う。

 

更にパッケージは開発者登録をしたユーザがアップロードすることが出来ます。(https://github.com/chocolatey/chocolatey/wiki/CreatePackages)

 

chocolateyは最近のものじゃないみたいで、

あんまり盛り上がっていないのが不思議でしょうがない。

最近、会社のPC壊れたりしてPCの環境を設定するのに時間がかかってたから、

こういうのあると嬉しい。

 

ただし、必ずしも最新のものを取ってきているわけじゃないので、

最新のもので検証したい場合は、別途インストーラでインストールした方が良いけど

最新じゃなくてよいプログラムは一括でchocolateyで登録した方が良いと思う。

色々と取得

だいぶご無沙汰な更新。

年末年始にかけてLPIC Level1の試験勉強をしてたり、

この一週間はOSS-DB Silverの試験勉強をしてたりでなかなか更新できない&更新のネタがない状況でしたorz

 

その甲斐あってか(?)、無事上記2つの資格を取得できました!

LPIC Level1は実質10日間くらいでOSS-DBは1週間くらい。

どちらも8~9割で合格できたので(合格点65%くらい)、結構満足です♪

 

1週間前後で取得できる資格って持っていても意味あるのか?っていう感じですが、

資格取得はステータスの獲得もそうですが、”試験勉強をした本人が知識の整理ができる&当分野における知識の偏りを減らすことができる”

というのが大きなメリットだと思います。

 

資格があれば仕事が出来るわけじゃないけど、

知識があまりない状態での経験っていうのもどうかと思ってます。

経験から知識を吸い上げるのは非常に大切なことだけど、それが先人がやっているのであれば

知識を別の媒体から取り入れる(先人の真似をする)ことでさらに進歩できるのだと思います。

 

もちろん、知識だけあって経験がないのは俗に言う頭でっかちな状態で、

「知識」は経験を伴った「知恵」には数段劣ってしまいますので、ダメダメです。

 

知識はレベルアップの前提条件みたいなもんですね。

そんな訳で、今年は続けてLPIC Level2,簿記2級,応用情報技術者あたりを取得しようかと思っております。

© 2017 freedom-man.com

Theme by Anders NorenUp ↑