デザパタ実装例についても書かれた本

実践Python3を購入した。 幾つかに分類されたデザインパターンについてPython3系での実装例を交えて書かれていて便利そう。(まだチラ見) 以下見出しより 生成に関するデザインパターン Abstract Factory Builder Factory Method Prototype Singleton 構造に…

cythonの本

cythonの本が新しく出た(2015/06)みたいなので買ってみた。 今開発中のシステムはCPUボトルネックではなく、通信ボトルネックなので、あまり使わないかもしれないけど。 でも配列と、画像圧縮扱ってるあたりでは部分的に使えるかもなー。Cython ―Cとの融合に…

てるてる坊主をつくってみた

概要 LEDで目が光るてるてる坊主を作成した。 背景 先日某所でフィールド実験をすることになったが、天気予報は雨。てるてる坊主を作ってみたが、某氏の「ワニ口クリップで繋げられてるし、LEDで目でも光るのかと思った」という発言を受け、期待に応えてみた…

CAN通信させてみた(BeagleBoneBlack-RaspberryPi間) - その2(2/3)

概要 BeagleBoneBlackとRaspberryPiの間でCANを利用した簡易通信実験ができるようになるまでに必要な情報をまとめた。 ほぼ先人の情報を参考にしてできたので、内容的には、その際に使用した参考にしたサイトを中心に紹介し、自分で実際にやってみて、間違え…

CAN通信させてみた(BeagleBoneBlack-RaspberryPi 間) - その1(1/3)

CAN

概要 BeagleBoneBlackとRaspberryPiの間でCANを利用した簡易通信実験ができるようになるまでに必要な情報をまとめた。 ほぼ先人の情報を参考にしてできたので、内容的には、その際に使用した参考にしたサイトを中心に紹介し、自分で実際にやってみて、間違え…

固定IP設定失敗の時tips

BBBに載せたdebianで、 /etc/network/interfaceに固定IP設定をしても反映されなくてはまった。 /etc/network/interface~を消したら、ちゃんと反映されるようになった。 多分、一般的にdebian(他のdistr.でも?)全般にそうなのだろう。 /etc/hostsも、/etc/hos…

BBB(Ubuntu12.04)で11ac WLANアダプタを利用する

概要 BeagleBoneBlack(BBB)で802.11ac無線LANアダプタ(WDC-867U3/添付写真も参照)を使えるようにする。 背景 ある探査ロボットを遠隔無線操縦し、画像転送を行う必要があり、帯域を広めに利用したかった。 BBB用に、.11ac WLANドライバをbuildしたので、その…

BBBでシリアル通信

BBB

概要 BeagleBoneBlack(BBB)のシリアルポートUART4(P9 11:RXD,13:TXD)を使えるようにする。 背景 ある探査ロボットのモータ制御をRS485で行う必要があり、RS232でしゃべれるBBBを利用した。 その際に、手始めに、BBBでシリアル制御を行ったのでその備忘録。 …

今後の更新予定/備忘

(自分向け。見たときに思い出せるように) 決意/方針 ドタバタしてていろいろ放置気味だったので、完璧に仕上がらなくても一部でも知見を共有できるように徐々に更新して行こう...。 「あっ、と気付いたこと」、「心に引っ掛かったこと」、「これ知ってると便…

ZMQを使ってみた

概要 // MQって、RabbitMQとかのMQと同じでmessage queue、とか 背景 // 非同期に通信を簡単にさせたかった コード // pythonのSub/Pubとか例でも

シリアル通信(RS232C/422A/485)の特徴まとめ

概要 Beagle Bone Black(以下BBB)/Ubuntu 12.04でのシリアル通信利用方法(RS232C/485)とその際に利用したRS232C-485コンバータのまとめ。(動作実績品ということで) 背景 BBBでモータードライバとシリアル通信する際にRS232Cだけでなく、RS485も使うことにな…

geventでnon blocking - thread1つで多重化コード -

# 編集中 参考: http://methane.github.io/pyconjp2012-gevent-slide/#slide16 http://methane.github.io/gevent-tutorial-ja/ http://d.hatena.ne.jp/hekyou/20120712/p1

cythonでpythonの計算時間を100倍に 〜(1)cythonのcdefを使う〜

概要 ある単純な足し算の計算速度向上をcythonの2つの機能を使うことで試みた。 (1)cdefを使う 純粋なpythonを使った場合と、cythonを使った場合で計算時間を比較を行った。 その結果、cythonで、cdef利用した場合には(ある条件下では)50倍程度高速化された…

celeryでclassのmethodを利用する方法

概要 django+celeryを利用して、あるクラスの処理を非同期に処理しようとした際に、メソッドを利用するところで、「takes exactly 2 arguments (1 given)」と怒られた。 (selfが渡っていないときなどによく見るエラー) 調べてみると、celeryから、classのmet…

Raspberry Piが届いた(7) 実験(GPIO) 〜LEDのチカチカ〜

//編集中 // GPIOの設定の仕方 // outのとき-->LEDチカチカ(写真、動画) // inのとき-->音楽を鳴らしてみた(動画)

Raspberry Piが届いた(6) 環境構築〜dropboxの設定〜

//編集中 // https://www.dropbox.com/help/247/en からsourceを取ってくる // nautilus,libnautilus-extension-devのinstall/configure,make,make install // binaryはできたが、dropboxのsetup中に起動が出来ないとおこられたので、 // gnome入れてみたらi…

Raspberry Piが届いた(5) 環境構築〜sshd,WLAN(client動作)の設定〜

//編集中 //android 端末からssh接続でつなげたこと、 //rasconfig, wpasupplicant, networking, interfacesの設定について書く

Raspberry Piが届いた(4) 環境構築〜日本語環境の設定〜

//編集中 //ibus,anthy,ipa fonts,localeの設定について書く

Raspberry Piが届いた(1) とりあえずつないでみた

一昨日、春頃注文していて待ちに待ったRaspberry Pi(ラズベリー パイ)が届いた。 RaspberryPiはイギリスで教育用に開発された、Linuxベースで動作する低価格(3500円くらい)の名刺サイズのパソコンである。 http://jp.rs-online.com/web/generalDisplay.html?…

Raspberry Piが届いた(3) 環境構築〜VNCの設定〜

基本ここの方の書かれている通りにしてすぐ動いた。 raspberry pi(ラズベリーパイ)を使ってみる - VNCサーバを入れてディスプレイなしでもGUIで操作する- http://www.limemo.net/blog/2012/09/raspberry-pi-vnc-no-display.html やったこと $ sudo apt-get i…

Raspberry Piが届いた(2) 環境構築〜OSのインストール〜

Raspberry Piでは、すでに開発コミュニティ(?)の方がOSを作られているので、それを使ってみることにした。 今回はSDカードは16GBのものを用意した。4GB以上が推奨らしい。Raspbian "wheezy"というRaspberry Pi向けにdebianを改造したもののようだ。 (Raspber…

文字列のフォーマット format() を使ってみたメモ

//編集中 2012/12/05 追記 //formatで変数の展開、kw,list,辞書,変数を*で展開、**で展開、について触れる。 //第6回 Pythonicな文字列フォーマットforamat()メソッド http://gihyo.jp/dev/serial/01/pythonhacks/0006 文字列出力のpythonicな方法 これまで…

django-celeryのインストール

以下、2012/12/02に全面的に追記/改修した。 概要 django-celeryのインストール手順と、簡単な動作確認の方法について以下記載する。 django-celeryとは celeryを使う(CentOS)で書いた"celery"をdjangoと連携して動作させるモジュールである。 これを使うこ…

redisで遊んでみた with python

概要 redisで遊んでた(?)先輩がいたので、自分はmemcachedしか使ったこと無かったこともあり、とりあえず触ってみようと思い遊んでみることにした。 ひとまずは、redisの特徴、インストール手順、コンソールからのset/get、pythonからのset/getの手順につい…

エキスパートPythonプログラミング(1) イテレータ、ジェネレータ、ジェネレータ式

「エキスパートPythonプログラミング」の中からピックアップした話題をベースに、python user3人で勉強会(2012/08/31)しました。 その際の資料を元に、勉強会で話した内容を公開しておきます。 テーマ/キーワード iterator、generator、generator式 以下は、…

celeryの実行でハマったこと2 (loggerが動かない!)

編集中 結論 celeryではloggerに、python loggingモジュールのラッパーを独自に用意している。そのため、呼び出し側のタスクでloggingモジュール(python組込みモジュール)を使用しようとしても、そのままでは競合し利用できない。 taskの中で、get_logger()…

celeryの実行でハマったこと(serializeにpickleが使われていた)

結論 celeryではserialize/deserialize(defaultではpickleを利用)してデータの受け渡しをしているため、celeryに渡すデータは、serialize/deserialize可能なデータにしましょう。 背景 celeryに、タスクを渡した時(do.delay(something))に、decode errorにな…

apache + wsgi + djangoでのdebug方法

※「wsgiファイルにdebugger起動の設定を書いておく」を追記し、「link」に関連するポインタを追記しました。2012/08/05 概要 apache + wsgi + djangoを利用している時、pdbを利用したdebug方法について示します。 背景 djangoでdebugしていて、通常であればm…

celeryを使う(CentOS)

概要 Celery(セロリ)は、非同期処理を行うタスクキュー/ジョブキューで、メッセージブローカーと呼ばれる、メッセージ送受信する仕組みと組み合わせて使用する。 メッセージブローカーは、RabbitMQ、Redis、Databaseなどから選択できるが、お勧めは、RabbitM…

django設定(CentOS)

OS:CentOS 6.2(64bit) django v1.4 python 2.6.6 Ubuntu(10.04)の時の設定と結構異なり、躓いたので備忘のため残しておく。参考にしたサイト (後日記載) (後日記載) httpdの設定 (後日記載) wsgiの設定 (後日記載) djangoのinstall (後日記載) sqliteの設定 …