All posts by admin

モバイルでの処理速度のテスト結果を Test My Site で確認

記事で、Googleの「TEST MY SITE」を知り、モバイルでの処理速度のテスト結果を Test My Site で確認可能。

「TEST MY SITE」
https://testmysite.withgoogle.com/intl/ja-jp

早速テストして見た

このような画面が見える

「無料レポートを取得」をクリックすると、メールアドレスの入力する。しばらく待つと、

このようなレポート

Piwigo Upgrade 失敗

長年使ってるPiwigoが、Upgrade 失敗、開けなくなった。

開くと、下記の画面が出る。

スクリーンショット 2017-07-13 22.40.15.png

ここで、 をクリックすると、下記の画面が出って、それから進まない。

スクリーンショット 2017-07-13 22.40.48.png

ここにある”=== upgrade 150″は、どういう意味?

P.S.

その後、DBのバックアップを利用して、再度Upgradeして、成功した。

初回Upgradeする際、DB壊れたと思われる。

iMACのHDDをSSDに換装

 

24インチiMac(24-inch, Early 2009)のHDDをSSDに換装し、「OS X El Capitan」新規インストールする。

概要:

  1. USBインストールメディア
  2. HDDをSSDに換装
  3. ボタン電池交換
  4. Macの日時の設定
  5. SSDのフォーマット
  6. OSをインストールする
  7. おわり

USBインストールメディア

「OS X El Capitan」は6Gもあるので、普通のDVDも入れない。WEB記事参考して、USBインストールメディアを準備した。

楽そうなDiskMaker X方法を試したが、うまくいかないので、Apple勧めたコマンドライン方法でできました。

HDDをSSDに換装

下記のサイトを参考して、一時間あまりでできた。

24インチiMac(24-inch, Early 2009)のHDDをSSDに換装する

両面テープではなく、2.5->3.5 変換アダプタを利用した。アダプタは短いので、固定レジはコネクター側2個だけ付けた。まー、両面テープよりは融通性がいいかも。アダプタ位置が3.5の場合とずれたため、ケーブルは届くが、ぎりぎり状態。

2016-09-17 11.26.24

温度センサーは、そのままSSD表面に貼る。SSDは熱を発しないため「あまりにも無意味な行動」けど。そのままの一番シンプルの方法でOK。

(Webの記事では、色んな対処法あり:

  1. ショットさせると良い
  2. アプリでファン制御
  3. 温度センサーを付け直
  4. ...)

ボタン電池交換

おそらく日付保持するボタン電池が切れたと思うので、新品と交換。テスターで確認したら確かに2.8Vしなない。

しかしこの余計な手順で思わぬ落とし穴…

Macの日時の設定

早速OS再インストールを試すが、以下のエラーが発生する

このOS X El Capitan インストールアプリケーションを検証できません。ダウンロード中に破損したか不正に変更された可能性があります。

英語の場合:

This copy of the Install OS X El Capitan application can’t be verified.
It may have been corrupted or tampered with during downloading.

解決するまで数時間を浪費した!!!

まず、文字通りに、対策として:

  1. ネットインストール。しかしOption+Command+R効かない
  2. USBインストールメディアを再作成。しかし同じエラーが発生
  3. 再度ダウンロード。ダウンロードしたものを削除して、AppStoreにダウンロードし直す、しかし回転アイコンが表示するが、いつまでもダウンロード始まらない!なぜ?

途方に暮れて、google先生に助けを求める。

検索結果にAppleの証明書の有効期限切れの対策が多いが、そうじゃないの気がする。

Appleの証明書の有効期限切れに伴い、2016年2月14日以前に作成したOS Xのインストールディスクが全て利用できない状態に。 – AAPL Ch-

下記の一件だけが気になった。

Mac再インストール時に「このOS X ○○ インストールアプリケーションを検証できません」というエラーが出る場合は日時が過去になってないか確認 – Qiita

ボタン電池交換で、時計が狂ったが原因でした。

コマンドラインから、時計を今日の日付に直した。変更するにはdateに続けて数値を2桁ずつ「月、日、時、分、年」の順番に入力する
(mmddHHMMyy)

2016年02月20日11時22分にしたい場合

date 0220112216

SSDのフォーマット

OS再インストールは、また問題にであった。換装したSSDが見つからない。

Windowsの感覚でインストーラがSSD見つかって、途中フォマードができると思ったが、違った!

再起動は数回したが、簡単にばらすWindows機材なら、もうばらして、コネクターの接続を確かめところだった。

先人のSSDに換装記事をよく見たら、インストール前に、「ディスクユーティリティ」でフォーマットが必要でした。

OSをインストールする

SSDフォーマットして、遂にOSのインストールにたどり着いた。それからほぼ順調に進んでいるが、Macのインストーラにて「残り1秒」で何十分も放置され、再起動するところでした。

2016-09-17 18.55.14

おわり

インストール途中、ときにはUSBキーボード効かない、Bluetoothキーボードをペアリングしろう;ときにはペアリングしたBluetoothキーボードも効かない、入力できない、気が付いて「キーボード不慣れモード」でマウスで文字入力操作ができた。しかしマウスのみ操作でアカウントのパスワード入力できなく、前に進まないなどなど、苦労が多いわ!

インストール終了後、USBキーボード、Bluetoothキーボードどちらも使えるようになったけど。

次はBoot Camp を使って Mac に Windows 7 をインストールすると考える。まず16GBUSBメモリを注文した。下記の内容は参考になりそう。

OS X El CapitanのBoot Campアシスタントを使ってWindows7をインストールする方法 – OTTAN.XYZ

Onion Omegaが届いた

5月にKickStater注文したOnion Omegaが、忘れかけたころに、届いた。

Onion Omegaとは、Build Hardware with JavaScript, Python, PHPという、非常に小型のLinuxコンピューター。Wifiを搭載しており、クラウドなどにデータを送ることが出来るのが特徴。

大きさ: 28.2mm x 42mm
CPU: Atheros AR9331 400MHZ MIPS (Wifiを積んでいるSoCです)
RAM: 64MB
Flash: 16MB

WiFi: 802.11b/g/n 150Mbps
GPIO: 18ピン
USB: USB 2.0

入力電圧: 3.3V
消費電力: 0.6W

 

2015-10-26 14.43.34

黄色封筒に、本体、ドック、リレーモジュール、ミニドック(おまけの)、4つ小箱に入ってる。

 2015-12-01 18.14.34

ドックに本体、リレーモジュールを取り付けた様子。

電源を付けて、https://wiki.onion.io/ をみながら、Getting Started.

そこまでWebでWiFi設定、アップグレード画面見れて良かったが、

Flash: 16MBしかないので、USB メモリでRootfsすると、WiKiみながら、作業を開始。まず、USB メモリ認識されない! /dev/sd* 何もない。

https://wiki.onion.io/Tutorials/Using-USB-Storage-as-Rootfs

そのまま置いて、翌日みたら、もうOnion Omegaに繋がらない。サポートに連絡すると、なんかreflash the firmware必要って。困った!

reflash the firmwareできたら、またレポートする!

自宅NURO導入まとめ

 

一年間WIMAXで我慢して、遂に自宅NURO導入することになりました。

しかし、家の構造上、二階のリビングルームに引き込むしかできないと言われ、作業部屋とサーバルームは一階だから、困った。

せっかく2Gも高速なブロードバンドインターネットだから、有線配線したい。

事前に屋内電話配線利用できないかとチェックした。電話コンセント開けて見ると、LANケーブルで電話配線したので、早速壁式LANコンセントを注文。

2015-10-15 13.22.16

NURO回線設置した。電話コンセントしたから、光ファイバーを出して、隣のONU(光アダプター?)に繋ぐ。そのONUまたTAに繋ぐ。

 

2015-10-15 14.54.35 2015-10-15 16.03.54

固定電話も使わないね。電話コンセントを外して、LANコンセント付けた様子。

2015-10-16 11.23.49 2015-10-16 11.29.49

元の位置に戻す、蓋を被る。

2015-10-16 12.01.03

一階作業部屋とサーバルームにもLANコンセントを設置して見た。

ところで、予想した二階のリビングルームと一階作業部屋とサーバルームのケーブルはつながっていない!!!こうなるとすべて部屋の電話コンセントを外して調べてみると!

なんと二階のリビングルーム電話コンセントは三階の寝室に繋がっている、そこから三階の子供部屋、一階作業部屋の順に配線してた。職人さんが何を考えてるね。配線は長くなるじゃない?

LANケーブル2ヶ所もカットされ、どう繋ぐには悩み。

LANケーブル延長コネクターで繋ぐすることも考えられるが、LANケーブルにモジュラープラグの取り付けは、専用道具が必要だ!

2015-10-16 11.43.04

とりあえず、三階の寝室と三階の子供部屋のLANケーブルを連結する。容易に繋ぎのため、昔のRS-232Cのコンセント土台として利用。外にビニール袋を被て、元に戻して完成。スマートじゃないけどな。

いつかLANケーブルにモジュラープラグの取り付ける専用道具が借りれたら、またやり直す。

GNU screenの使用方法

VPSに接続する際、何かTerminalソフトが必要。

普段Puttyに慣れて、画面に沢山Puttyの窓が並べるになる。タブ型仮想端末は便利そうで、一時SuperPutty導入なども試みたが、やはりPuttyに戻り。

たまたまubuntuのコミュニティーに活躍する方に会い、screenを進められた。便利そうなので、ちょっと試してみたいと、とりあえずメモを!

screenとは、一つの端末の中で以下のように複数の仮想端末(ウィンドウと呼ばれる)を操作や表示などが出来るツールとなります。

情報源: GNU screenの使用方法 – Opensourcetechブログ(ゼウス・ラーニングパワー裏BLOG)

Office 365メールをGmailで送受信する

仕事関係でOffice 365メールが必要になったが、もGmailに洗脳されたので、そくGmailに転送に設定したが、GmailからそのOffice 365メールアドレスで送信に関して、数日悩んでいた。

以前認証コードで済むだが、今回はなぜかOffice 365メールのSMTP使う必要になり、http://outlook.office365.comのオプション画面によると、次のようになりますが、その認証が通らないからはまった!

  • サーバー名: smtp.office365.com
  • ポート: 587
  • 暗号化方法: TLS

今日はたまたま、Googleで検索して情報源見つけ、SMTPサーバーのところを outlook-japan.office365.com に書き換えて、上手くできた!

因みにOffice 365メールのログイン画面は、大好きなロサンゼルス・サンタモニカ・ビーチに裏走る国道1号線の写真ですね。大量のメールをさばく機能がないから、あまりその画面利用する機会がないが...

学校からOffice 365のアカウントをもらった。とは言っても教育機関向けパッケージの中でも一番安いやつ(無料)っぽくて使いどころがほとんどなかったから、即Gmailに転送をかけた。

情報源: Office 365メールをGmailで送受信する | //slntmemo

a Respberry Pi MQTT sample

MQTTのPublisher(リモコン)からのメッセージは、MQTTのbrokerを経由して、自宅Raspberry Pi にMQTTのSubscriber(受信機)受信し、液晶表示盤にテキスト表示、LEDバックライトのON/OFFするできた!

MQTTのbrokerはsango(時雨堂という会社が無償提供) MQTT サーバーを利用。

MQTTのPublisher(リモコン)は、MQTTLens利用。

MQTTのSubscriber(受信機)サンプルコード!

var fs = require('fs');
var mqtt = require("mqtt"),
    config = require("./config.json"),
    client = mqtt.createClient(config.port, config.host, config.options);
var exec = require('child_process').exec,
    child;

client.subscribe(config.topic + "/#");

client.on("message", function(topic, message) {
                console.log(topic, message.toString());

                switch (topic){
                case 'chen420@github/led':
                command = (message!='0'?1:0);

                fs.writeFileSync('/sys/class/gpio/export', 9);
                fs.writeFileSync('/sys/class/gpio/gpio9/direction', 'out');
                fs.writeFileSync('/sys/class/gpio/gpio9/value', command);
                fs.writeFileSync('/sys/class/gpio/unexport', 9);
                break;

                case 'chen420@github/lcd':
                child = exec('/usr/local/bin/lcdprint ' + message,
                        function (error, stdout, stderr) {
                        // console.log('stdout: ' + stdout);
                        // console.log('stderr: ' + stderr);
                        if (error !== null) {
                        console.log('exec error: ' + error);
                        }
                        });
                break;
                }
}
);

参考文献の設定ファイルを利用した。LEDバックライトは、gpio 9番に設定、テキスト表示は、PCD8544-utils のlcdprint コマンドを利用した。

Subscriber の実行:

$ node mqtt-led.js

MQTTブローカーのそれぞれTopicに メッセージが下記の動作が発生

  • chen420@github/led | 0 または1 | バックライトのON/OFF
  • chen420@github/lcd | ”表示メッセージ” | 表示

Subscriberの永続化(サービスとして動く)が次の課題に。

参考文献 : 肩に乗せてもらった巨人達

Raspberry PiでMQTT通して連携

この数週間Raspberry PiにによりHome Automationなどを再考して、Node.js、WebIOPiなど、サーバとして可能性を調べているが、なぜかMQTTに出会って、実装までして、全く違う方向へ進行した。

先週たまたま Ruby – Raspberry Pi で室内の温度を可視化するよー – Qiita 記事を見て、「Sango を介して(MQTT で)結果を Graphite に飛ばす」とはなにか、調べてみた。

MQTTは、M2MやIoT向けの軽量プロトコル。いろいろとメリットあるが、Raspberry PiでMQTT通して連携するメリット考えると

  1. ルータに穴を開ける必要がない
  2. サーバ公開する必要がない
  3. セッション維持する必要がない
  4. 重いHTTPサーバもつ必要がない

実は2年前も自宅に、Raspberry Pi wireless 温度計の制作 をしたが、サーバ公開してないので、外から見れない。もちらん公開する方法もあるが、自宅サーバ際クラウドへ移転などするので、Raspberry PiだけのためにDDNSメンテナンスする気がならない。MQTTならブローカーに繋がれば、いろいろ連携プレーが考えられる。

早速自宅温度データをSango にPubして、他所からSubで見れるようになった。

それからMQTTを通して、自宅Raspberry Piの液晶表示版にテキスト表示、LEDバックライトのON/OFFもできた!

これから、MQTTのメッセージをMongoDBに保存、Google spreadsheetsに保存、グラフ表示、plot.lyのグラフ表示など、やってみたいと思う。

そうそう、AppInventorから、MQTTを通して、Raspberry Piの状態表示、GPIOのコントロールもしてみたい。

Raspberry Pi 液晶表示盤のLED制御

数か月前、Raspberry Pi に液晶表示盤を付けたが、バックライトのLEDは常にONのため、夜は眩しい。GPIOからON/OFF制御可能にしたい。

回路図がないのため、ネットでいろいろ調べて、バックライトのLEDは、GPIOに繋ぐと、3.3V に直結したタイプあるそうです。

WebIOPiをインストールして、ブラウザから、すべてGPIO端子ON/OFFして見たが、バックライトのLEDがON/OFF現象が認めない。つまり、購入したものは3.3V に直結したタイプらしい。

基盤の結線を探し、切断してGPIOにつなぎ直し方法もあるが、なかなか決心とタイミングが必要ね。

たまたま液晶表示盤は、PCD8544 LCD使うらしい。そのPCD8544の制御方法を探す際、PCD8544-utils ( https://github.com/acidum/PCD8544-utils )見つかり、おまけに、液晶表示盤改造でバックライトのLED制御する方法まで書いた。小さな抵抗を溶かして、180度回転し、ジャンパー線でコネックターまで繋ぐ方法。

タイミングを見て、改造に取り込んだ。特に上記URLに説明した凹みを作って結線することなく。ケース入りだからそのまま結線でも問題ないと。

2015-04-27 21.51.582015-04-27 21.52.45

結線の正面と裏面、遂に成功した。手元に結線がなく、古い結線付きコネックターの結線をカットして再利用。

2015-04-27 21.51.58

近眼鏡と虫眼鏡の組み合わせて些細作業を進み、一度小さな抵抗が跳ねて見失い、諦めかけた時もあった。

2015-04-27 21.56.23

セット組み直して、WebIOPiから、21番PIN(GPIO9)のON/OFFで、バックライトのLEDがON/OFFが確認した。

これてRaspberry Piに状態変更があるとき、メッセージが届いたとき、バックライトのON/OFF、Blinkなどで表現する手法も増えた。

 

参考文献 肩に乗せてもらった巨人達: