can通信
2015年12月13日日曜日
2015年11月5日木曜日
EPSからPDF
EPSファイルの例
%!PS-Adobe-3.0 EPSF-3.0ターミナルから
%%BoundingBox: 50 50 554 770
%%Orientation: Portrait
gsave
newpath
2 setlinewidth
0 0 1 setrgbcolor
50 50 moveto
100 90 lineto
100 160 lineto
10 70 lineto
closepath
/Helvetica findfont 40 scalefont setfont
100 200 moveto
(Hello, world! 2015.9.29) show
/GothicBBB-Medium-UniJIS-UTF8-H findfont 60 scalefont setfont
100 50 moveto
60 rotate
0 1 0 setrgbcolor
(杉岡伸一郎 憂鬱 ∬) show
grestore
ps2pdfwr aa1.eps aa1.pdfPortraitが働かない
以上
ラベル:
A02.PDF
2015年10月31日土曜日
Raspberry PiでWebカメラ操作
購入して随分寝かせていたELECOMのUCAM-DLE300TをRaspberry Piで使う。
こちらのサイトを参考にさせていただいた。
http://nonbirikousaku.blog.fc2.com/blog-えcategory-1.html
動画、静止画用のツールには fswebcam、motion、uvccapture など幾つかあるようだが
fswebcam だとUCAM-DLE300Tでは暗くしか撮せなかった。何か設定があるかもしれないが、Thinkpadでは
追記:上記の S オプションを付けることで、Raspberry Pi でもうまくいった。
続いて motion を試す。
motionでは
ここまで
こちらのサイトを参考にさせていただいた。
http://nonbirikousaku.blog.fc2.com/blog-えcategory-1.html
動画、静止画用のツールには fswebcam、motion、uvccapture など幾つかあるようだが
fswebcam -p YUYV -D 1 -S 16 -r 800x600 --jpeg 100 --line-colour '#FF000000' --text-colour '#40FFFFFF' --banner-colour '#D000E000' --title "カメラテス ト" test2.jpgでうまく撮影出来た。
追記:上記の S オプションを付けることで、Raspberry Pi でもうまくいった。
続いて motion を試す。
motionでは
sudo motionで、webサーバと撮影機能が起動するようで、
http://localhost:8081/で、ブラウザからjpegのパラパラ漫画を見ることができる。こちらは画質はデフォルトで問題ない。ただ、任意の時刻に静止画を取るのが当面の目標なので、つぎにuvccaptureを試す。
sudo apt-get install uvccapture uvcdynctrl guvcview
ここまで
ラベル:
B01.RaspberryPi
Raspbianの最適化イメージ作成
これまでRaspbian jessie を最適化(最小化)するため、以下のサイトを参考にLibreofficeなど不要なモジュールをremoveしてきた。
http://denshikousaku.net/extend-life-expectancy-of-raspberry-pi-sd-card
ここではswapファイルの削除について
でswapを停止。続いて
念の為SDカードのバックアップ手順をおさらい。
http://denshikousaku.net/extend-life-expectancy-of-raspberry-pi-sd-card
ここではswapファイルの削除について
freeでメモリ使用状況を見る。swapが働いている。
sudo swapoff --all
でswapを停止。続いて
sudo apt-get remove dphys-swapfileで再起動時に働かないようにする。これでうまくいった。
念の為SDカードのバックアップ手順をおさらい。
sudo fdisk -l /dev/sdb結果、151031-raspi-jessi.img のファイルサイズは約1.4GB
ディスク /dev/sdb: 7746 MB, 7746879488 バイト
ヘッド 239, セクタ 62, シリンダ 1021, 合計 15130624 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0xba2edfb9
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdb1 8192 122879 57344 c W95 FAT32 (LBA)
/dev/sdb2 122880 9418751 4647936 83 Linux
sudo dd if=/dev/sdb of=151031-raspi-jessi.img count=9418752 bs=512
bzip2 151031-raspi-jessi.img
ラベル:
B01.RaspberryPi
2015年10月24日土曜日
raspbianインストールと起動トラブル
何が原因だったか不明だが、結局ADATAの microSDHCカード(AUSDH16GUICL10-RA1 16GB Class10 UHS-I)に 2015-09-24-raspbian-jessie.img を書き込んだものがRaspberry Pi B+ で起動出来た。
※電源用MicroUSBケーブルは、やはり電流を流せるものじゃないとだめ
その後、HDMIの設定をいじっていたら表示されなくなったので、東芝のmicroSDHCに書き込んだらなんと起動できた。違いはブロックサイズ
■最初の設定
システムフォントの変更は [メニュー][設定][Appearance Settings] から行う。
日本語入力 ibus-mozc は 2015-09-24-raspbian-jessie.img (NOOBS1.4.2)から使えるとのこと。
続いて、以下のページを参考にユーザを追加。ユーザ:pi を削除しようとしたが、何かのプロセスが捕まえていて削除出来なかった。もう少し試す。
https://skalldan.wordpress.com/2013/02/16/raspberry-pi-%E3%81%AE%E3%82%82%E3%82%8D%E3%82%82%E3%82%8D%E3%81%AE%E5%88%9D%E6%9C%9F%E8%A8%AD%E5%AE%9A/
■画面サイズの設定
こちらを参考に
2015.11.4 追記
raspi-config の 8. Advanced Options の A1 Overscan → HDMI表示の時まわりの黒い部分も表示する設定のようなので、これをdisable?にする。
その後、少しマージンが必要だったので
マージン設定で、左右をそれぞれ20、上下を12(だったと思う)にすると現在のモニタでぴったり。
hdmi_mode=16 にしたところで、表示されなくなった。 23にしてみる。その前にバックアップを取る
■OSイメージバックアップ
raspi-config で領域を増やす設定をしているが、バッrクアップするには未使用領域は不要なので、sdカードをubuntuマシンでgpartedでrootfs(ext4)をリサイズしてからバックアップする。
その結果を fdisk で確認し
その後、bzip2で圧縮するとよい。
■全般的な設定参考
こちら
※電源用MicroUSBケーブルは、やはり電流を流せるものじゃないとだめ
その後、HDMIの設定をいじっていたら表示されなくなったので、東芝のmicroSDHCに書き込んだらなんと起動できた。違いはブロックサイズ
sudo dd if=2015-09-24-raspbian-jessie.img of=/dev/sdc bs=4MもしかしたらSDカードの容量が大きくなったので、書き込みのブロックサイズも大きくないといけないとか?それにしても怪我の功名でした。
■最初の設定
1.Raspi-configを起動して「Innternnatiolisation Options」を選択localeは
2.Change Localeを選択
3.ja_JP.UTF-8をチェックしてデフォルト言語に選択
4.日本語フォントのインストール「sudo apt-get install fonts-ipaexfont」
5.日本語を入力するためのメソッドをインストール「sudo apt-get install ibus-mozc」
6.jfbtermをインストール。「sudo apt-get install jfbterm」
の3つを指定する。en_US.UTF-8 UTF-8 ja_JP.EUC-JP EUC-JP ja_JP.UTF-8 UTF-8
システムフォントの変更は [メニュー][設定][Appearance Settings] から行う。
日本語入力 ibus-mozc は 2015-09-24-raspbian-jessie.img (NOOBS1.4.2)から使えるとのこと。
続いて、以下のページを参考にユーザを追加。ユーザ:pi を削除しようとしたが、何かのプロセスが捕まえていて削除出来なかった。もう少し試す。
https://skalldan.wordpress.com/2013/02/16/raspberry-pi-%E3%81%AE%E3%82%82%E3%82%8D%E3%82%82%E3%82%8D%E3%81%AE%E5%88%9D%E6%9C%9F%E8%A8%AD%E5%AE%9A/
■画面サイズの設定
こちらを参考に
2015.11.4 追記
raspi-config の 8. Advanced Options の A1 Overscan → HDMI表示の時まわりの黒い部分も表示する設定のようなので、これをdisable?にする。
その後、少しマージンが必要だったので
変更箇所はcd /boot sudo nano config.txt
マージン設定で、左右をそれぞれ20、上下を12(だったと思う)にすると現在のモニタでぴったり。
■OSイメージバックアップ
raspi-config で領域を増やす設定をしているが、バッrクアップするには未使用領域は不要なので、sdカードをubuntuマシンでgpartedでrootfs(ext4)をリサイズしてからバックアップする。
その結果を fdisk で確認し
mobile:~/qemu$ sudo fdisk -l /dev/sdc終点の上記では 9418751 に+1した値を ddコマンドの countで指定してイメージを作る
Disk /dev/sdc: 15.7 GB, 15720251392 bytes
ヘッド 64, セクタ 32, シリンダ 14992, 合計 30703616 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0xba2edfb9
デバイス ブート 始点 終点 ブロック Id システム
/dev/sdc1 8192 122879 57344 c W95 FAT32 (LBA)
/dev/sdc2 122880 9418751 4647936 83 Linux
mobile:~/qemu$ sudo dd if=/dev/sdc of=151024-raspi-jessie1.img count=9418752 bs=512
ここでbsの値を大きくするとスピードは速いがイメージのサイズが大きくなりすぎるので、おそらく最小の 512にした。
その後、bzip2で圧縮するとよい。
■全般的な設定参考
こちら
ラベル:
B01.RaspberryPi
2015年10月20日火曜日
Raspberry Pi 起動トラブル
Raspberry Pi B+ の起動がうまくいかず、MicroSDカードの相性に問題ありそうだったので、以下の2種類を購入した。
ADATA Premier microSDHCカード 16GB Class10 UHS-I AUSDH16GUICL10-RA1
Transcend 16GB Class10 TS16GUSDHC10E
ただ、他にもUSB給電アダプタやイメージを書き込むOS、その他の問題もあるようで、幾つか組み合わせて調べる必要もありそう。
http://www.homu.net/raspberry-pi-b%E3%81%AE%E9%9B%BB%E6%あBA%90%E5%AE%89%E5%AE%9A%E5%8C%96/
https://x1japan.wordpress.com/2015/02/20/rpi-what-is-right-up-square/
因みに、上記Transcendのカードは 2015-02-18-wheezy-minibian.img は起動出来たが、 2014-01-07-wheezy-raspbian.img は起動出来ず。
2014-01-07-wheezy-raspbian.img のカードのパーティション情報
未割り当て 4.00MiB
/dev/sdb1 fat16 ラベル:boot 56.00MiB
/dev/sdb2 ext4 ラベル:なし 2.70GiB
それ以降は未割り当て
この辺の関係もあるかも。
他のカードでも試してみる
ただ、他にもUSB給電アダプタやイメージを書き込むOS、その他の問題もあるようで、幾つか組み合わせて調べる必要もありそう。
http://www.homu.net/raspberry-pi-b%E3%81%AE%E9%9B%BB%E6%あBA%90%E5%AE%89%E5%AE%9A%E5%8C%96/
https://x1japan.wordpress.com/2015/02/20/rpi-what-is-right-up-square/
因みに、上記Transcendのカードは 2015-02-18-wheezy-minibian.img は起動出来たが、 2014-01-07-wheezy-raspbian.img は起動出来ず。
2014-01-07-wheezy-raspbian.img のカードのパーティション情報
未割り当て 4.00MiB
/dev/sdb1 fat16 ラベル:boot 56.00MiB
/dev/sdb2 ext4 ラベル:なし 2.70GiB
それ以降は未割り当て
この辺の関係もあるかも。
他のカードでも試してみる
ラベル:
B01.RaspberryPi
2015年10月10日土曜日
Ubuntuでフロッピーディスクのイメージ作成
Galaxianをやりたく、昔買ったWindows95用の「Microsoft Return of Arcade」を使えるようにする。
まずはフロッピーディスクのイメージ化
USBフロッピーディスクドライブはSCSIデバイスとして認識されている。
以下のコマンドで
mobile:~$ cat /proc/scsi/scsiということで
Attached devices:
Host: scsi0 Channel: 00 Id: 00 Lun: 00
Vendor: ATA Model: HITACHI HTS54502 Rev: PB2Z
Type: Direct-Access ANSI SCSI revision: 05
Host: scsi6 Channel: 00 Id: 00 Lun: 00
Vendor: MITSUMI Model: USB FDD Rev: 1047
Type: Direct-Access ANSI SCSI revision: 00
mobile:~$ ls /dev/sd*/dev/sdb がフロッピーディスク
/dev/sda /dev/sda2 /dev/sda4 /dev/sda6 /dev/sda8
/dev/sda1 /dev/sda3 /dev/sda5 /dev/sda7 /dev/sdb
続いて、イメージ化。Return of ArcadeのセットアップディスクとWindows95のブートディスクをイメージ化する。
mobile:~$ sudo dd if=/dev/sdb of=win95boot1.imgつづいて、Windows95のインストールCD
mobile:~$ sudo dd if=/dev/sdb of=return_of_arcade_setup1.img
dd if=/dev/cdrom of=Win95install.img
■Dosbox
http://axela5004.blog74.fc2.com/blog-entry-455.html
■QEMU
http://www.h7.dion.ne.jp/~qemu-win/qemu-doc-ja.html
http://seesaawiki.jp/w/deya4791/d/Ubuntu/QEMU
2015年7月11日土曜日
フルカラーLED制御の備忘録
■WS2812Bモジュール
http://akizukidenshi.com/catalog/g/gI-07915
使い方はこちらを参考にさせていただく
■Tanukino WS2812B Lチカ その1
http://blog.goo.ne.jp/jj1wkn/e/ddf87c5d2c5756c850e89c0fdfda50e1
http://akizukidenshi.com/catalog/g/gI-07915
使い方はこちらを参考にさせていただく
■Tanukino WS2812B Lチカ その1
http://blog.goo.ne.jp/jj1wkn/e/ddf87c5d2c5756c850e89c0fdfda50e1
ラベル:
C02.LED
2015年7月9日木曜日
Hexo
Node.js 上にブログサイト?を作れるようだ。
Rubyベース、Pythonベースなど色々あるようだが、JavaScriptベースの「Hexo」にトライ。
npm install -g hexoでインストールできるとあるが、resiterなんとかエラーが出る。
何が効いたか不明だが、3回目でうまくいったようだ。
C:\Users\Mobile>npm install -g hexo\> dtrace-provider@0.5.0 install C:\Users\Mobile\AppData\Roaming\npm\node_modules\hexo\node_modules\bunyan\node_modules\dtrace-provider> node scripts/install.jsnpm WARN optional dep failed, continuing fsevents@0.3.6npm WARN optional dep failed, continuing fsevents@0.3.6C:\Users\Mobile\AppData\Roaming\npm\hexo -> C:\Users\Mobile\AppData\Roaming\npm\node_modules\hexo\bin\hexohexo@3.1.1 C:\Users\Mobile\AppData\Roaming\npm\node_modules\hexo├── hexo-front-matter@0.2.2├── pretty-hrtime@1.0.0├── abbrev@1.0.7├── titlecase@1.0.2├── archy@1.0.0├── text-table@0.2.0├── bluebird@2.9.32├── moment-timezone@0.3.1├── moment@2.10.3├── lodash@3.10.0├── tildify@1.1.0 (os-homedir@1.0.0)├── chalk@1.1.0 (ansi-styles@2.1.0, supports-color@2.0.0, escape-string-regexp@1.0.3, strip-ansi@3.0.0, has-ansi@2.0.0)├── strip-indent@1.0.1 (get-stdin@4.0.1)├── hexo-cli@0.1.7 (minimist@1.1.1)├── hexo-i18n@0.2.1 (sprintf-js@1.0.2)├── minimatch@2.0.8 (brace-expansion@1.1.0)├── through2@1.1.1 (xtend@4.0.0, readable-stream@1.1.13)├── swig-extras@0.0.1 (markdown@0.5.0)├── js-yaml@3.3.1 (esprima@2.2.0, argparse@1.0.2)├── cheerio@0.19.0 (entities@1.1.1, dom-serializer@0.1.0, css-select@1.0.0, htmlparser2@3.8.3)├── hexo-util@0.1.7 (ent@2.2.0, highlight.js@8.6.0)├── warehouse@1.0.2 (graceful-fs@3.0.8, cuid@1.2.5, JSONStream@0.10.0)├── hexo-fs@0.1.3 (escape-string-regexp@1.0.3, graceful-fs@3.0.8, chokidar@0.12.6)├── nunjucks@1.3.4 (optimist@0.6.1, chokidar@0.12.6)├── bunyan@1.4.0 (safe-json-stringify@1.0.3, dtrace-provider@0.5.0, mv@2.1.1)└── swig@1.4.2 (optimist@0.6.1, uglify-js@2.4.23)C:\Users\Mobile>
バージョンを調べる
続いてC:\Users\Mobile>hexo -vhexo-cli: 0.1.7os: Windows_NT 6.1.7601 win32 ia32http_parser: 2.3node: 0.12.6v8: 3.28.71.19uv: 1.6.1zlib: 1.2.8modules: 14openssl: 1.0.1o
C:\Users\Mobile>hexo init blog150708INFO Copying data to ~\blog150708INFO You are almost done! Don't forget to run 'npm install' before you start blogging with Hexo!
ただ、ブログのルートが以下の場所に出来た。何かのサブディレクトリに入れたかった。
C:\Users\Mobile\blog150708
インストールのコマンドに -g を入れたのが原因?
そのまま進み、指示に従って以下をたたく
C:\Users\Mobile\blog150708>npm install長いログが出たので、ファイルにしておく
C:\Users\Mobile\blog150708\npm_install_の結果.txt
あとは
最後は投稿。以下でタイトルだけは作れた。本文はどうやって書くのだろう?
hexo server
して http://localhost:4000 にアクセスすると標準のホーム画面が起動した!!最後は投稿。以下でタイトルだけは作れた。本文はどうやって書くのだろう?
C:\Users\Mobile\blog150708>hexo new
Usage: hexo new [layout] <title>Description:Create a new post.Arguments:layout Post layout. Use post, page, draft or whatever you want.title Post title. Wrap it with quotations to escape.Options:-p, --path Post path. Customize the path of the post.-r, --replace Replace the current post if existed.-s, --slug Post slug. Customize the URL of the post.C:\Users\Mobile\blog150708>hexo new post test150708INFO Created: ~\blog150708\source\_posts\test150708.mdC:\Users\Mobile\blog150708>hexo serverINFO Hexo is running at http://0.0.0.0:4000/. Press Ctrl+C to stop.
ラベル:
A08.Node.js
2015年7月5日日曜日
arduino-firmata
橋本商会様
http://shokai.org/blog/archives/8559
に従い、arduino-firmata を Node.js command prompt からインストール
使い方は以下を参考に
https://www.npmjs.com/package/arduino-firmata
ただ、エラーが出てうまくいかない。
var ArduinoFirmata = require('arduino-firmata');
var arduino = new ArduinoFirmata();
arduino.connect(); //use default arduino
arduino.connect('dev/tty/usb-device-name');
arduino.on('connect', function(){
console.log("board version"+arduino.boardVersion);
});
■johnny-five
その後、johnny-five でもうまくいかず。
http://ics-web.jp/lab/archives/4758
https://github.com/rwaldron/johnny-five/wiki/Board
以下のエラーが出る。
スクリプトは以下のもの。comポートを指定してconnectは出来たようだが、その後が進まない。
ここのトラブルシューティングを調べてみる。
https://github.com/rwaldron/johnny-five/wiki/Getting-Started#trouble-shooting
var j5 = require("johnny-five");
var arduino = new j5.Board({port:"COM11"});
console.log("ssugi");
arduino.on ("ready", function() {
//
var led = new j5.Led(2);
this.repl.inject({
led: led
});
});
http://shokai.org/blog/archives/8559
に従い、arduino-firmata を Node.js command prompt からインストール
インストールはうまくいったようだ。C:\Users\Mobile>npm install arduino-firmata|> serialport@1.7.4 install C:\Users\Mobile\node_modules\arduino-firmata\node_modules\serialport> node-pre-gyp install --fallback-to-build[serialport] Success: "C:\Users\Mobile\node_modules\arduino-firmata\node_modules\serialport\build\serialport\v1.7.4\Release\node-v14-win32-ia32\serialport.node"is installed via remotearduino-firmata@0.3.2 node_modules\arduino-firmata├── eventemitter2@0.4.14├── debug@2.2.0 (ms@0.7.1)└── serialport@1.7.4 (bindings@1.2.1, sf@0.1.7, async@0.9.0, nan@1.8.4, optimist@0.6.1)
使い方は以下を参考に
https://www.npmjs.com/package/arduino-firmata
ただ、エラーが出てうまくいかない。
var ArduinoFirmata = require('arduino-firmata');
var arduino = new ArduinoFirmata();
arduino.connect(); //use default arduino
arduino.connect('dev/tty/usb-device-name');
arduino.on('connect', function(){
console.log("board version"+arduino.boardVersion);
});
■johnny-five
http://ics-web.jp/lab/archives/4758
https://github.com/rwaldron/johnny-five/wiki/Board
以下のエラーが出る。
スクリプトは以下のもの。comポートを指定してconnectは出来たようだが、その後が進まない。
ここのトラブルシューティングを調べてみる。
https://github.com/rwaldron/johnny-five/wiki/Getting-Started#trouble-shooting
var j5 = require("johnny-five");
var arduino = new j5.Board({port:"COM11"});
console.log("ssugi");
arduino.on ("ready", function() {
//
var led = new j5.Led(2);
this.repl.inject({
led: led
});
});
C:\Users\Mobile>node j5_ledblink150705.js1436087045693 Connected COM11ssugi1436087055696 Device or Firmware Error A timeout occurred while connecting to the Board.Please check that you've properly flashed the board with the correct firmware.See: https://github.com/rwaldron/johnny-five/wiki/Getting-Started#trouble-shootingevents.js:85throw er; // Unhandled 'error' event^Error: A timeout occurred while connecting to the Board.at Board.<anonymous> (C:\Users\Mobile\node_modules\johnny-five\lib\board.js:411:26)at Timer.listOnTimeout (timers.js:119:15)C:\Users\Mobile>
Node.js
マイコン制御のためにNode.jsを勉強。
■インストール
ほぼ、こちらのサイトの通り
http://tyoshikawa1106.hatenablog.com/entry/2015/04/03/224736
実行は通常のコマンドプロンプトではなく、専用の Node.Js command prompt をから行う。
C:\Users\Mobile\hellonodejs.js
などを作っておき
C:\Users\Mobile> node hellonodejs.js
と実行する。
■インストール
ほぼ、こちらのサイトの通り
http://tyoshikawa1106.hatenablog.com/entry/2015/04/03/224736
実行は通常のコマンドプロンプトではなく、専用の Node.Js command prompt をから行う。
C:\Users\Mobile\hellonodejs.js
などを作っておき
C:\Users\Mobile> node hellonodejs.js
と実行する。
ラベル:
A08.Node.js
2015年7月4日土曜日
JavaScriptでマイコン制御
ICS LAB様の以下の記事が最適
http://ics-web.jp/lab/archives/4758
ICS LAB様のサイトは他にも興味深い記事が多い。
橋本商会様の以下のページも詳しいのだが、レベルアップ後に参考にさせていただく。
■橋本商会様 「NodeにArduinoのコードを埋め込む arduino-firmata npm」
http://shokai.org/blog/archives/8559
Node.js のインストール
http://www.cyokodog.net/blog/first-node-js/
http://ics-web.jp/lab/archives/4758
ICS LAB様のサイトは他にも興味深い記事が多い。
橋本商会様の以下のページも詳しいのだが、レベルアップ後に参考にさせていただく。
■橋本商会様 「NodeにArduinoのコードを埋め込む arduino-firmata npm」
http://shokai.org/blog/archives/8559
Node.js のインストール
http://www.cyokodog.net/blog/first-node-js/
LED制御
Processing + ControlP5 + マイコン
Processing.js + マイコン
でLEDを制御する。出来るはず。
リンク
http://blog.goo.ne.jp/roboz80/e/6d309257fd23f2cbee97254df460fb56
【追記】 7/5
pyFirmata:GUIはpyQtで。
http://ca5.hatenablog.com/entry/2014/02/23/235731
http://www.instructables.com/id/Control-your-arduino-from-your-PC-with-the-Qt-Gui/
jonny-five: Node.Js上でfirmataを実現。GUIは別の.jsライブラリを探す。
http://nextdeveloper.hatenablog.com/entry/2015/06/10/114227
Processing.js + マイコン
でLEDを制御する。出来るはず。
リンク
http://blog.goo.ne.jp/roboz80/e/6d309257fd23f2cbee97254df460fb56
【追記】 7/5
pyFirmata:GUIはpyQtで。
http://ca5.hatenablog.com/entry/2014/02/23/235731
http://www.instructables.com/id/Control-your-arduino-from-your-PC-with-the-Qt-Gui/
jonny-five: Node.Js上でfirmataを実現。GUIは別の.jsライブラリを探す。
http://nextdeveloper.hatenablog.com/entry/2015/06/10/114227
2015年7月1日水曜日
2015年6月28日日曜日
フルカラーLED制御
先ほどの準備に引き続き、LED制御の準備。
この方のようなものを作りたい。
http://blog.goo.ne.jp/jj1wkn/e/ddf87c5d2c5756c850e89c0fdfda50e1/?cid=87cbffdfe39692b52e94f842b9962d1e&st=0
ツールボックスを漁ると、眠っていたフルカラーLEDと抵抗(330Ω)が出てきた。
LEDの仕様が不明だったが、MSP430 LaunchpadでLチカにチャレンジ。
一応、以下のスケッチで ledPin(LaunchpadのP2_7ピン)から3.3Vの出力が出ることをテスターで確認したが、LEDは点灯できなかった。
P2_7ピンと赤色用アノードの間に上記抵抗を0~4パラまで試してみたが、全く反応なし。3.3Vでは電圧が低すぎる?
と思っていたら、まさかのアノードコモンの仕様でした。プラマイを逆にして無事点灯。
抵抗はよく分からんが、3パラ(110Ω)くらいでしょうか?
写真は4パラの状態。
■スケッチ「FullColorLED_150628」
// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = PUSH2; // the number of the pushbutton pin
const int ledPin = P2_7; // the number of the LED pin
const int ledPin2 = GREEN_LED; // the number of the LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
pinMode(ledPin2, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT_PULLUP);
}
void loop(){
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (digitalRead(buttonPin)==0) {
// turn LED on:
digitalWrite(ledPin, HIGH);
digitalWrite(ledPin2, HIGH);
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
digitalWrite(ledPin2, LOW);
}
}
この方のようなものを作りたい。
http://blog.goo.ne.jp/jj1wkn/e/ddf87c5d2c5756c850e89c0fdfda50e1/?cid=87cbffdfe39692b52e94f842b9962d1e&st=0
ツールボックスを漁ると、眠っていたフルカラーLEDと抵抗(330Ω)が出てきた。
LEDの仕様が不明だったが、MSP430 LaunchpadでLチカにチャレンジ。
一応、以下のスケッチで ledPin(LaunchpadのP2_7ピン)から3.3Vの出力が出ることをテスターで確認したが、LEDは点灯できなかった。
P2_7ピンと赤色用アノードの間に上記抵抗を0~4パラまで試してみたが、全く反応なし。3.3Vでは電圧が低すぎる?
と思っていたら、まさかのアノードコモンの仕様でした。プラマイを逆にして無事点灯。
抵抗はよく分からんが、3パラ(110Ω)くらいでしょうか?
写真は4パラの状態。
■スケッチ「FullColorLED_150628」
// constants won't change. They're used here to
// set pin numbers:
const int buttonPin = PUSH2; // the number of the pushbutton pin
const int ledPin = P2_7; // the number of the LED pin
const int ledPin2 = GREEN_LED; // the number of the LED pin
// variables will change:
int buttonState = 0; // variable for reading the pushbutton status
void setup() {
// initialize the LED pin as an output:
pinMode(ledPin, OUTPUT);
pinMode(ledPin2, OUTPUT);
// initialize the pushbutton pin as an input:
pinMode(buttonPin, INPUT_PULLUP);
}
void loop(){
// check if the pushbutton is pressed.
// if it is, the buttonState is HIGH:
if (digitalRead(buttonPin)==0) {
// turn LED on:
digitalWrite(ledPin, HIGH);
digitalWrite(ledPin2, HIGH);
}
else {
// turn LED off:
digitalWrite(ledPin, LOW);
digitalWrite(ledPin2, LOW);
}
}
ラベル:
B02.MSP430 Launchpad
フルカラーLED制御(の肩慣らし)
アクリルサインの準備として、フルカラーLEDを制御してみる。
久々にMSP430 Launchpadを動かしてみた。
押しボタンスイッチのサンプルスケッチで
久々にMSP430 Launchpadを動かしてみた。
押しボタンスイッチのサンプルスケッチで
日本語もばっちり表示された。/*DigitalReadSerialReads a digital input on pin 2, prints the result to the serial monitorThis example code is in the public domain.*/boolean led_stat;void setup() {// Serial.begin(4800); // msp430g2231 must use 4800Serial.begin(9600); // msp430g2231 must use 4800pinMode(PUSH2, INPUT_PULLUP);pinMode(RED_LED, OUTPUT);pinMode(GREEN_LED, OUTPUT);}void loop() {// char Mojiretsu[9];// int sensorValue = digitalRead(PUSH2);if(digitalRead(PUSH2)==0){Serial.println("Onされてます");led_stat = false;}else{Serial.println("Offのようです");led_stat = true;}digitalWrite(RED_LED, led_stat);digitalWrite(GREEN_LED, !led_stat);delay(200);}
ラベル:
B02.MSP430 Launchpad
2015年6月17日水曜日
Gmailのメールアドレスのエイリアスによる自動フィルタリング
Gmailのメールアドレスは以下のようなエイリアス(別名)アドレスを持つことが出来る。
標準:shinichiro.sugioka@gmail.com
■"+" に続けてキーワード:
メールマガジン用の登録アドレスにこれを使うと整理が楽かも。
標準:shinichiro.sugioka@gmail.com
■"+" に続けてキーワード:
- shinichiro.sugioka+wip@gmail.com
- shinichiro.sugioka+technic@gmail.com 等々
■アドレス内に"."を入れる
- s.hinichiro.sugioka@gmail.com
- shin.ichiro.sugioka@gmail.com 等々
最初の "+" に続けてキーワードの方法だけで、無限にエイリアスを増殖できる。
これらのアドレス宛のメールは全てオリジナルのアドレスに届くので、エイリアスアドレスを作ったうえで、それぞれのアドレスに対してフィルタリングの設定でラベルを付ければ、自動で情報の整理が可能。
最初の場合 「WIP」「Technic」 のラベルを設定しています。
最初の場合 「WIP」「Technic」 のラベルを設定しています。
メールマガジン用の登録アドレスにこれを使うと整理が楽かも。
少し話が違うが、OneNoteでは別の方法で自動情報整理が出来る。
2015年6月9日火曜日
Evernote
情報共有化について rdf や linked data など、近づいているようだが目的のものに達せず。
以下が詳しい
■セマンティックWeb委員会
http://s-web.sfc.keio.ac.jp/
http://www.kri.sfc.keio.ac.jp/kris-yp/cgi/view_page.cgi?research_id=194
■KANZAKI様
http://www.kanzaki.com/works/2014/pub/1214jmk.html
http://www.kanzaki.com/info/whatsnew.html
最近の話題が少ないのは、何かのキラーアプリに淘汰されてしまったからなのか?などど勝手に想像。その例が Evernote か?
以下が詳しい
■セマンティックWeb委員会
http://s-web.sfc.keio.ac.jp/
http://www.kri.sfc.keio.ac.jp/kris-yp/cgi/view_page.cgi?research_id=194
■KANZAKI様
http://www.kanzaki.com/works/2014/pub/1214jmk.html
http://www.kanzaki.com/info/whatsnew.html
最近の話題が少ないのは、何かのキラーアプリに淘汰されてしまったからなのか?などど勝手に想像。その例が Evernote か?
ラベル:
E01.情報共有化
2015年6月6日土曜日
アクリルサイン
アクリルサイン LED で検索するといろいろと出てくる
以下ではテープLEDをジグザグに配置している
http://www.kanban-hakurankai.co.jp/goods/nameplate/ori_nameplate/onp_4.html
こちらは受付のサインが綺麗
http://acrylic-kougeisha.com/category/%E3%82%A2%E3%82%AF%E3%83%AA%E3%83%AB%E3%82%B5%E3%82%A4%E3%83%B3/
以下ではテープLEDをジグザグに配置している
http://www.kanban-hakurankai.co.jp/goods/nameplate/ori_nameplate/onp_4.html
こちらは受付のサインが綺麗
http://acrylic-kougeisha.com/category/%E3%82%A2%E3%82%AF%E3%83%AA%E3%83%AB%E3%82%B5%E3%82%A4%E3%83%B3/
2015年6月4日木曜日
情報共有化
積年の課題。
先人も取り組んでいるはずなので、少し調べてきました。
タグ管理、メタデータ、Semantic Web、オントロジー ときて 「Linked Data(Linked Open Data)」 が比較的最近(2012-2013年)の流行みたい。
■
http://s-web.sfc.keio.ac.jp/conference2010/0101-takeda.pdf
この記事が詳しいか??
先人も取り組んでいるはずなので、少し調べてきました。
タグ管理、メタデータ、Semantic Web、オントロジー ときて 「Linked Data(Linked Open Data)」 が比較的最近(2012-2013年)の流行みたい。
■
http://s-web.sfc.keio.ac.jp/conference2010/0101-takeda.pdf
この記事が詳しいか??
ラベル:
E01.情報共有化
2015年5月17日日曜日
QEMUでRaspberryPi
今度はシステムエミュレーションをやってみたが、やっぱりpulseaudioのエラーで止まってしまう。
http://kernhack.hatenablog.com/entry/2013/07/02/222432
qemu-system-arm -kernel qemu/kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1 rootfstype=ext4 rw" -hda /media/mobile/FAT32/Hardware/RaspberryPi/OSMC_TGT_rbp1_20150331.img
pulseaudio: set_sink_input_volume() failedこちらのサイトなど参考にさせてもらうも、理解不能
pulseaudio: Reason: Invalid argument
pulseaudio: set_sink_input_mute() failed
pulseaudio: Reason: Invalid argument
Uncompressing Linux... done, booting the kernel.
http://kernhack.hatenablog.com/entry/2013/07/02/222432
ラベル:
A05.仮想化,
B01.RaspberryPi
2015年5月16日土曜日
RaspberryPiをQEMUで
RaspberryPiの最適イメージをつくろうと思い立ち、仮想環境でやることにした。
以下のサイトを参考にし、結局は完結出来なかったが備忘録残します。
http://blog.unfindable.net/archives/7508
QEMUには「ユーザーモードエミュレーション」という機能があり、これはシステム全てをエミュレートするのではなく、ARMバイナリ(qemu-user-staticのこと?)をユーザーモードで動作させ、プロセスとして起動するというものらしい
$ sudo apt-get install qemu-user-static
フルモードで起動する場合は以下のコマンドで、イメージファイルを指定するのだが、 http://blog.unfindable.net/archives/tag/qemu qemu-system-arm -kernel qemu/kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1" -hda /media/mobile/FAT32/Hardware/RaspberryPi/2014-01-07-wheezy-raspbian.img -redir tcp:10022::22 -redir tcp:15901::5901
ユーザーエミュレーションモードで起動する場合は、イメージファイルをマウントしておき(以下のrootfsフォルダ)、
sudo QEMU_CPU=arm1176 chroot rootfs
環境変数 QEMU_CPU にARMを指定することで、プロセスとして起動できる。※途中、かなり省略 x-windowを起動したり、vnc接続などがうまくいかなかった。
1.イメージダウンロード
wget http://downloads.raspberrypi.org/raspbian/images/raspbian-2014-01-09/2014-01-07-wheezy-raspbian.zip
2.ユーザーモード用QEMUインストール
sudo apt-get install qemu-user-static
3.イメージのマウント先作成(1回のみ)
mkdir rootfs
4.イメージのマウント offsetはイメージの2番目パーティションの開始点(最初のバーティションはboot用?)
sudo mount -o offset=50036736 qemu/2015-02-18-wheezy-minibian.img rootfs
5.以下はイメージ内の ld.so.preload をコメントアウトするもの(イメージにつき1回のみ)
sudo cp /usr/bin/qemu-arm-static rootfs/usr/bin/
sudo sed -i 's/^/#/' rootfs/etc/ld.so.preload
6.以下の環境変数でARMとしてQEMUが振る舞う
sudo QEMU_CPU=arm1176 chroot rootfs
以下はイメージのセクタ調査、マウント、起動のターミナルの例
mobile@mobile-ThinkPad-X201s:~/qemu$ fdisk -l 2*.img
ディスク 2015-02-18-wheezy-minibian.img: 511 MB, 511705088 バイト
ヘッド 4, セクタ 16, シリンダ 15616, 合計 999424 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x0004a452
デバイス ブート 始点 終点 ブロック Id システム
2015-02-18-wheezy-minibian.img1 16 97727 48856 b W95 FAT32
2015-02-18-wheezy-minibian.img2 97728 999423 450848 83 Linux
mobile@mobile-ThinkPad-X201s:~/qemu$ cd ..
mobile@mobile-ThinkPad-X201s:~$ sudo mount -o offset=50036736 qemu/2015-02-18-wheezy-minibian.img rootfs [sudo] password for mobile:
mobile@mobile-ThinkPad-X201s:~$ sudo cp /usr/bin/qemu-arm-static rootfs/usr/bin
mobile@mobile-ThinkPad-X201s:~$ sudo QEMU_CPU=arm1173 chroot rootfs Unable to find CPU definition
mobile@mobile-ThinkPad-X201s:~$ sudo QEMU_CPU=arm1176 chroot rootfs
root@mobile-ThinkPad-X201s:/# cat /etc/issue
Raspbian GNU/Linux 7 \n \l → 起動OSがRaspbianになった
root@mobile-ThinkPad-X201s:/#
通常のUbuntuでは以下となる
mobile@mobile-ThinkPad-X201s:~$ cat /etc/issue
Ubuntu 14.04.2 LTS \n \l
http://blog.unfindable.net/archives/7508
QEMUには「ユーザーモードエミュレーション」という機能があり、これはシステム全てをエミュレートするのではなく、ARMバイナリ(qemu-user-staticのこと?)をユーザーモードで動作させ、プロセスとして起動するというものらしい
$ sudo apt-get install qemu-user-static
フルモードで起動する場合は以下のコマンドで、イメージファイルを指定するのだが、 http://blog.unfindable.net/archives/tag/qemu qemu-system-arm -kernel qemu/kernel-qemu -cpu arm1176 -m 256 -M versatilepb -no-reboot -serial stdio -append "root=/dev/sda2 panic=1" -hda /media/mobile/FAT32/Hardware/RaspberryPi/2014-01-07-wheezy-raspbian.img -redir tcp:10022::22 -redir tcp:15901::5901
ユーザーエミュレーションモードで起動する場合は、イメージファイルをマウントしておき(以下のrootfsフォルダ)、
sudo QEMU_CPU=arm1176 chroot rootfs
環境変数 QEMU_CPU にARMを指定することで、プロセスとして起動できる。※途中、かなり省略 x-windowを起動したり、vnc接続などがうまくいかなかった。
1.イメージダウンロード
wget http://downloads.raspberrypi.org/raspbian/images/raspbian-2014-01-09/2014-01-07-wheezy-raspbian.zip
2.ユーザーモード用QEMUインストール
sudo apt-get install qemu-user-static
3.イメージのマウント先作成(1回のみ)
mkdir rootfs
4.イメージのマウント offsetはイメージの2番目パーティションの開始点(最初のバーティションはboot用?)
sudo mount -o offset=50036736 qemu/2015-02-18-wheezy-minibian.img rootfs
5.以下はイメージ内の ld.so.preload をコメントアウトするもの(イメージにつき1回のみ)
sudo cp /usr/bin/qemu-arm-static rootfs/usr/bin/
sudo sed -i 's/^/#/' rootfs/etc/ld.so.preload
6.以下の環境変数でARMとしてQEMUが振る舞う
sudo QEMU_CPU=arm1176 chroot rootfs
以下はイメージのセクタ調査、マウント、起動のターミナルの例
mobile@mobile-ThinkPad-X201s:~/qemu$ fdisk -l 2*.img
ディスク 2015-02-18-wheezy-minibian.img: 511 MB, 511705088 バイト
ヘッド 4, セクタ 16, シリンダ 15616, 合計 999424 セクタ
Units = セクタ数 of 1 * 512 = 512 バイト
セクタサイズ (論理 / 物理): 512 バイト / 512 バイト
I/O サイズ (最小 / 推奨): 512 バイト / 512 バイト
ディスク識別子: 0x0004a452
デバイス ブート 始点 終点 ブロック Id システム
2015-02-18-wheezy-minibian.img1 16 97727 48856 b W95 FAT32
2015-02-18-wheezy-minibian.img2 97728 999423 450848 83 Linux
mobile@mobile-ThinkPad-X201s:~/qemu$ cd ..
mobile@mobile-ThinkPad-X201s:~$ sudo mount -o offset=50036736 qemu/2015-02-18-wheezy-minibian.img rootfs [sudo] password for mobile:
mobile@mobile-ThinkPad-X201s:~$ sudo cp /usr/bin/qemu-arm-static rootfs/usr/bin
mobile@mobile-ThinkPad-X201s:~$ sudo QEMU_CPU=arm1173 chroot rootfs Unable to find CPU definition
mobile@mobile-ThinkPad-X201s:~$ sudo QEMU_CPU=arm1176 chroot rootfs
root@mobile-ThinkPad-X201s:/# cat /etc/issue
Raspbian GNU/Linux 7 \n \l → 起動OSがRaspbianになった
root@mobile-ThinkPad-X201s:/#
通常のUbuntuでは以下となる
mobile@mobile-ThinkPad-X201s:~$ cat /etc/issue
Ubuntu 14.04.2 LTS \n \l
ラベル:
A05.仮想化,
B01.RaspberryPi
2015年2月22日日曜日
Blender初めました
Blenderを始めた。
環境:マウスの中ボタン、キーボードのテンキーをよく使う。
画面:広ければ広いほどよい
操作:マウススクロール座lクリックしたままマウスを移動すると、視点を移動できる。
コントロールキー+マウススクロールで座標全体を横にスクロール
シフトキー +マウススクロールで座標全体を縦にスクロール
オブジェクトを右クリックで選択し、マウスで移動、左クリックで移動完了
オブジェクトの回転がうまくいかない。
本日は3Dテキストを作成。
・メニューから「add」ー「text」でテキストオブジェクトが作成される。
・TABキーでテキストの入力モードになる。
・日本語を入力するには、先にUTF-8で目的の日本語を作っておき、Blenderのテキストエディタからそれをインポート?する。
・テキストオブジェクトはフォントを指定する??
・Ubuntuの場合、フォントファイルの場所は例えば /usr/share/fonts/truetype/takao-gothic
・色をつける
・奥行きは Extrudeで指定
・テンキーの0でカメラのフレームになる
・F12でレンダリング
登録:
投稿 (Atom)