投稿

6月, 2011の投稿を表示しています

メールサーバの移行

イメージ
 自前のメールサーバを停止 これまで、自ドメインのメールサーバはVPS上に構築していた。 ・Ubuntu Server ・Postfix ・Dovecot ・spamAssassinと、BlackListの利用 Spam対策を行ってきたし、サーバ上でメールをトリガーにして各種プログラムを動かしたりしてきた。 メールサーバのメンテナンスは結構面倒くさくて、  ・Disk容量のチェック  ・不正アクセスのチェック  ・各種セキュリティパッチの適用 など、手間がかかる。 そこで、外部のサーバを利用することに…。 結構安くて使い勝手の良さそうなのが、「さくらのメールボックス」 3年契約で、3070円とな…。  メールアドレスは自分のだけなので、20GBまで利用可能!  (Gmailより大きいねぇ) ということで、早速契約。 アカウント設定を行って、既存のDNSを書き換える。WHOISも書き換えて完了。 SMTPとIMAPが利用できればOK。 ちょうど、GoogleがSPF設定していないと受信しないし、DKIMおよびDMARCに対応していないメールを弾くようになったので、対応しているのを確認。 さくらサーバ自体は、これまでお客さんのサーバとして何件も利用しているので、利用方法も難しくはない。  Webメールにも対応しているので、いざという場合にもありがたい。 ということで、各メールソフトの設定を変更。  PC(常時使用する3台)とタブレット、スマートフォンと台数は多いがそれ程手間はかからない。 問題は、旧サーバで送受信したメールの履歴だけれど、これはThunderbrdを使ってローカルに保存することで回避。  本当は、サーバtoサーバでMailboxに残そうとも考えたんだけど、古いメールはそれ程必要ないし、ローカルにバックアップしてあれば凌げるので、良しとする。 移行時にDNSの反映で若干時間がかかったものの、問題なく送受信できるのを確認して、作業完了。  これでメンテナンスの手間が減るので、安いもんです。

arduinoとruby

イメージ
湿度センサのテスト 今度は湿度センサを注文しておいたのが届いたので、早速テスト。 複数センサからのデータ取り込みと、出力を確認。 今後、リレーとかを動作させることを考えると、PC->arduinoへコマンド送信。 arduino->PC結果ステータス送信という流れで組むことに。 ボードからの受信をしながらコマンド送信となると、threadが使いたい。 迷った挙句、ここはperlではなくrubyを使うことに変更。 gemでシリアル関係のライブラリを入れたら、サクっと動作した。 threadで受信ルーチンと、送信ルーチンを分けて動作テスト完了。 回路側には本当はコンデンサ挟まないと、測定データにノイズ乗りまくりだけど、とりあえず動作テストなのでOKでしょ。 という無茶なテストも簡単にできるのがいいところ。 しかし、arduinoって面白いなあ。

arduinoの開発環境

イメージ
どうやって開発するか とりあえず、仕組みや動かし方はわかった。 で、開発環境をどれにするかだけど、今のところLinuxを最終ホストマシンにするつもり。ただし、開発はMacで。 このあたり、WindowsもMacもLinuxでもIDEが用意されているのが嬉しい。 注文した部品も届いたことだし、早速テスト。 温度センサをブレッドボードに接続。 アナログポートから読み取り出力させることにしてテスト。 USB経由のシリアル通信で行くことに。 arduino自体はコンパイルしてアップロードすればOKだけど、ホスト側の言語をperlでテストすることにした。 使用するマシンが決まっていないし、仕様の変更にも対処できるように、できるだけ高水準な言語が使いたかったけど、機種依存はOS依存は極力排除したいし・・・。悩ましいところ。   とりあえず、動作させるところまでは完了。 arduino側のシリアル通信用のルーチンはこれでOKということにしておこう。

arduinoが面白い

気まぐれから手伝う事に 先輩が開発でマイコンのプログラミングがよく分からず苦労しているので、手伝ってくれと…。 PICなら経験があるけど、聞くとAVRを使う予定とのこと。 そこで、少々調べてみるとAVRを直接でもいけるのだけど、 arduino という開発キットがオープンハードで出ているらしい。 オープンソースのハードウェア版という感じ。 そこで、何冊か書籍を買い漁って調べてみると、アセンブラでなくともOKらしい。 これなら、開発工数も小さくできるし、テストもしやすい。 C言語ライクな言語が使えるIDEも無料で手に入るし、面白そう。 ちゅうことで、しばらく遊んでみようと思う。