1 / 24712345...最後 »

aitendoのサーマルプリンタ・ユニットを衝動買い

aitendoのサーマルプリンタ・ユニットを買ってしまった。このサーマルプリンタは、aitendoのサイトでちょくちょく見る気がするのだが、すぐに在庫切れになる。見かけた時、在庫僅少だったので注文したら買えてしまった。価格は送料含めると4千円ジャスト。

使う当ては無い。展示会等で、なにか面白いプリントアウトができれば良いかもしれない、とか考えている。 

届いたブツを調べると、コネクタ付きケーブルや感熱ロール紙も付属して便利だ。接続はTTLレベルのシリアル通信、9600baud,電源は 5~9V, 電流は0.8~1.5Aで瞬間で2A流れることもあるらしい。中国語FONT内蔵。

とりあえず、USBシリアル変換モジュールでも繋いでPCから印刷、てなところか。いつやるか? 正月の課題かな。

秋月電子で0.96インチOLED発売

秋月電子で0.96インチOLEDが発売されたことをtwitterで知る。I2C接続タイプで値段は580円。

aitendoやAliExpressで入手可能だが、aitendoは在庫数量が不安。AliExpressだと到着まで3週間ぐらい待つことになる。秋月で買えれば、いつでも使える感じがする。

この0.96インチOLEDは、コントローラがSSD1306で使いやすい。接続はI2Cで簡単だし、ライブラリも沢山公開されている。画素数が128x64dot,表示が鮮明で、凄い表現力。使う側のセンスが問われる。 

ちなみに私が使っているものは、速度にこだわってSPI接続タイプ。AliExpressで購入した。
動画表示をやりたかったのでI2C接続に不安を感じたのだ。 
続きを読む… »

esp8266-arduinoでSD::remove()が固まる件

fsHandlerを作成している際、表記の問題に遭遇した。
原因は、SD.hの108-109行

  // Delete the file.
  boolean remove(char *filepath);
  boolean remove(const String &filepath) { 
    return remove(filepath.c_str()); }

remove(filepath.c_str())でremov(char *filepath)が呼び出されそうだが、
filepath.c_str()の型は (const char *)つまり書換不可文字列。これを (char *)書換可文字列として関数に渡すわけにはいかない。

不幸なことに String型にはconst char *型引数1つだけのコンストラクタがある。このコンストラクタにより、const char *型の文字列はString型に変換され、remove(const String &filepath)、つまり自分自身を呼び出し続けることになるのであった。

SD::exists,mkdir,rmdirも全く同じなので、固まるはず。

ちなみに、version 2.4.0-rc1では修正されている。

  boolean remove(const char *filepath);
  boolean remove(const String &filepath) { 
    return remove(filepath.c_str()); }

回避策は簡単、(char *)にキャストすれば良い。

  SD.remove((char *)path.c_str());  

気持ち悪いのは我慢.

けもの足

この数日、とても寒い。仕事をしていても足元が冷えるので、けもの足、ではなく極暖 足が出せるロングカバーを購入した。1,737円。

最初、ズボンタイプの足温器を探したのだが、1万円前後と結構高いし、レビューを見てると問題もありそうなので、他を探したところ、このロングカバーを見つけた。値段も安いし、レビューでも良さそうな感じなので買ってみた。

今日、届いたので、装着してみたところ、良い感じ。寒くない。歩ける。恥ずかしがらなければの話だが。

見た目がケモノというか、動物のヌイグルミっぽい。けものフレンズ・タイアップ商品とか出せば売れるのではなかろうか。

ESP8266WebServer用ファイルシステム・表示ハンドラ

ESP8266 Arduinoでは特にWebServerのライブラリが気に入っている。

これを使うとESP8266を使った機器をブラウザから、とても簡単に操作・参照できる。サンプルプログラムも、よくできていて、独自機能の追加も簡単だ。

ESP8266WebServer葉にSDメモリーや内蔵ROM内のファイルシステム(SPIFFS)をWeb経由で参照、アップロードなどできるハンドラを使って使用してきたのだが、次に作るプログラムで、また使いたくなったので、ライブラリ化を行いGitHubで公開した。

h-nari/FsHandler: arduino library to access spiffs/sd via webServer

ブラウザでアクセスするとこんな感じ。

最終的な製品で、ファイルシステムを全て公開して良いのか、ということは置いて置くとして、開発段階では大変便利。ファイルの中身が簡単に見れるし、アップロードも簡単。

まだ、いろいろ問題はあるかもしれないが、とりあえず公開。

F-PLUG復旧

Debian更新後、bluetooth接続電力計 F-PLUGからデータを取得できない。しばらくはデータを取れていた気がするが、取れなくなった。

未インストールのライブラリを疑うが、みつからない。調べるうち、F-PLUGをWindows10で動かすにはファームウェアの更新が必要という情報を発見。windows10で使用しているわけではないが、Debianアップデート後使えなくなったので、これが怪しい。ファームウェアをアップデート。

アップデートにはWindows8以前のマシンが必要とある。前に使っていたThinkPadを引っ張り出すが電源が入らない。1年半使っていなかったので仕方ない。ネットにはCMOSバックアップ電池を一度外してやると復旧する、という情報が多数。ブラウザで手順を見ながら、バッテリー、9つの小さいネジ、キーボードとパームトップを外す。電池のコネクタを抜き30秒放置。キーボード、パームトップ、ネジ、バッテリーを元に戻して、電源スイッチを入れる。無事起動。

起動したのは Windows 7だった。バッテリーがだめになっているそうで充電が全く行なわれない。バッテリーは3,000円ぐらいで買えるらしい。どうするか、ちょっと悩む。買えば数年使えそう。でも、どうせ使わない…

Windows7で、F-PLUGのファームウェアを更新。Windows上のソフトとの接続を確認。しかし、Linuxとは、接続できない。

その後、Debian側のbluetooth関係のコマンドが変わったことや、ペアリングをやっていないことに気がき、いろいろ試しているうち接続できた。何が原因だったのか結局わからない。

bluetooth接続の電力計は便利。もっと欲しい。RATOCのREX-BTWATTCH1しか見つからない。Linuxに接続できないかと、改めて調べたら、Armadilloに接続している例を発見。これはいけるかもしれない。試してみたい。

Amazonで4,976円。買うか?

IPv6開通

なんかIPv6が開通したようで、プロバイダのasahi.netのIPv6接続確認ページで接続されていると出るし、nslookupで調べると v4のアドレスに加えてv6のアドレスが表示されるものも出てきた。

それなら、自分のところのサーバーも外部からIPv6で接続できるようにしたい。asahi.netでは固定IPアドレスサービスに入っているけど、v6のアドレスも固定されているのだろうか。調べると使えないらしい。

IPv6接続機能で固定IPアドレスは利用できますか?(IPv6及びIPv6接続機能)|会員サポート|プロバイダ ASAHIネット

近い将来 v6でも固定アドレスがサポートされることを期待しよう。

AutoHotKeyでIME制御

Windowsを使っていて不満なのは、かな漢字変換のOn/Off切り替え。「半角/全角」キーを押せば良いのだが、このキーがブラインドタッチ(タッチ・タイピング?)しずらい。

以前は、日本語化EmacsでIME制御も出来ていたのでCtrl-Oに割り当てて満足していた。ところがIME制御ができるEmacsが手に入らなくなった。この場合Ctrl-OにはEmacs独自の入力メソッドの切り替え機能になり、WindowsのIMEとは別のものなので、とてもややこしいことになっていた。とても使いにくい。

昔は、Unix/Linu上のemacsでwnnやら使って、幸せにかな漢字変換できていたのに、何なのだろうと思う。

というわけで、このことは、かなり長い間、悩みのタネだったのだが、今回 思い切って AutoHotKeyでIMEのOn/Offを切り替え、この機能をCtrl-Oに割り当てることで、emacsだけでなく、Atomやブラウザでも日本語入力が楽になり幸せになった。Windows10ではIMEがどの状態に切り替えられたのかわかりやすくなったのも嬉しい。

参考にした記事は、今日もどっこい生きている: IMEのOn-OffをAutoHotkeyで行うで、2009年、8年も前の記事。

AutoHotKeyは、長いこと使っているが、何が出来て何ができないのか、まださっぱりわからない。

Sphinxを始めよう第2版のEbookを購入

ちょっとまとまった文書を作るのにSphinxを使おうかと思うが、使い方を忘れてしまったのでSphinxをはじめよう 第2版を購入した。

なんと、この本の販売はEbookと直販のみ。つまり書店には卸さない。なんか時代を感じる。

Ebookだと、すぐに読めるし、今回の使い方ではPCで読めるのも便利そうなのでEbookを購入。PDF版をダウンロードしAcrobat Readerで表示させると栞も使えて便利。

今回Sphinxまわりを整備していてautobuild というツールを知った。文書のソースの変更を検出し、自動でhtmlを更新し、表示するツールと説明されてるのだが、最初、よくわからなかった。動かしてみたら、それ自体がwebserverで、それにソース変更の検出、sphinx起動(htmlの更新)が追加されたものだった。なんか凄い。pythonだとwebserverもライブラリで、すぐに作れるから、こういうこともできるわけなのね。

debian 7 wheezyから 9 stretch へ更新

サーバー機で使用しているdebianで、aptutude upgradeとかしても反応しなくなってきた。これは、debianのversionが古くなりすぎたのかと調べたら、メジャーバージョンが2つ上がっていた。使っているのはdebian 7 (wheezy)で、最新は debian 9(stretch)。

システムを残したままのバージョンアップも可能らしいがどうしよう。とりあえず予備機に最新のdebianをインストールし、そこに重要なデータをバックアップしてから考えようと作業を初めると、トラブルもなく、すんなりできたため、ついバージョンアップを始めてしまった。

一度に debian 7 -> debian 9は出来ないらしいので、まずは debian 8まで上げる。 ここまでは特にエラーも発生しなかったが、debian 9に上げるところでエラー頻発。インストール済のパッケージを手動で削除するなど、いろいろ試すが事態は悪化している感じ。ついにapacheのconfigtestも通らなくなり、原因もわからない。

この辺で諦めて、debian 9のクリーンインストールというか、クリーンインストール済の予備機への移行をすることにする。最初は apacheの”Require all granted”あたりにハマり、あとperlとMYSQLのversion upに伴う問題やDBD::Pgのutf8問題などにハマりつつ、大体移行できた。

debianをバージョンアップしても、不要なpackageなどが残り気持ちが悪いので、最初からクリーンインストールをすべきだったのかもと思う。

今回覚えた便利な機能。 df, duコマンドなどで -BG オプションをつけるとディスクの空き、使用量などがGbyte単位で表示される。

IPv6 申込

契約しているインターネット・プロバイダ、ASAHIネットから「IPv6ネットワーク先行受付」という葉書が届いた。なんかNTTのフレッツにv6オプションというIPv6接続のオプションがあるらしく、ASAHIネットが対応したらしい。

そんなん、ルータが対応しとるんかい、と思ったが調べると使用中の無線ルータAterm WG1200HSにもIPv6ブリッジとかの機能がある。まだ、よくわからないが、とりあえず申込む。

iPad Pro購入

臨時収入があったので、前々から欲しかった iPad Proを購入。 10.5インチ256GBスペースグレイ。今日届いた。

期待しているのは Apple Pencilだが、明日届く予定なので、各種アプリをセットアップ。その後、Web BrowseやYoutubeやPDFなどを試す。

7年前、iPadの初代を購入し今も使っているのだが、Web Browseは遅くて使う気にならない。当時は、まだ、CPUパワーが足りなかったのだ。iPhoneでも遅かった記憶がある。最新のiPad Proは、高速で、なんなら私のパソコン(i5-3570K)より早いかもしれない。

というわけで、快適にネットサーフィン(死語?)ができる。Apple Pencilが届いたら、どんなことができるのか楽しみだ。

LEDでRSS表示

LEDモジュールコントローラHSES-LMC1のライブラリHumblesoft_LedMatのexamplesにRSS表示プログラム rss_dispを追加した。

前々から作ろうと思っていたが、作り始めたら、何度も作っているので、すぐにできた。OLED用のRSS表示プログラムを少し修正し、不要部分を削除した程度。 自分の部屋で動かし続けるには、ちょっとクドイが、置く場所と表示するRSSを選べば、十分このままでも実用になりそう。

プログラムのシリアルモニターへの出力を見て、 https のRSSを取得できていないことに気がついた。何もしなくても取得できると思っていたが違うようだ。調べると サイトのfingerprintとかを指定して接続しなければいけないらしい。もっと、なんか、楽に取得できるようにならないかな。

ntp同期LED表示時計

HSES-LMC1と64x32dot LEDモジュールで、ntp同期のデジタル時計を動かすプログラムをライブラリのサンプルプログラムに追加した。プログラムはこちら

ESP8266 Arduinoでntp(ネットワーク・タイム・プロトコル)は簡単に使える。ESP8266のntpの設定は1行で – Qiitaを見て欲しい。

デザインは凝ればキリがない気がしたので、簡単に妥協。使っていて変えたくなったら変えよう。
LEDの明るさは、かなり絞っている。最大設定値が100であるところの2。室内使いでは、これで十分明るい。電源は5V1A。

HSES-LMC1基板はLEDモジュールのコネクタに直挿ししているので、設置はLEDモジュールを適当に立て掛ける感じで良いかと考えていたが、設置場所の本棚の上に置いてみると、かなり不安。急遽 余っているアルミアングル+金具で固定した。

次はRSS表示のプログラムを作って、動かしてみようと思う。自分の部屋で常時ニュースが流れるのはウザいかもしれない。どうなるかお楽しみ。

HSES-LMC1 + LEDモジュールの組み合わせは、13,500円と、ちょっと高いが、LEDモジュール自体はAliExpressで安く買うこともできるので、色んな人に試して貰いたい。

AliExpressでマイコンボード購入

Hi-speedのUSB(480Mbps)が使えるSTM32F205に興味があって、試しに使ってみようと思ったが Nucleoだと7千円ぐらいする。AliExpressだと送料込$20ぐらいで買えるし、すぐに必要というわけでもなかったので、とりあえず注文してみた。Hi-speed USBのPHYボードも購入。技術情報も公開されている。

ものが届いたので、とりあえず以前使っていたST-Link V2と20ピンフラットケーブルで接続、ボードにUSBケーブルで給電し、ST Link Utilityを起動すると認識された。launchpadのツールチェインをダウンロード。STM32CubeMXもダウンロードし、これで作成されたヘッダーファイルやlinker scrpit等を使ってサンプルプログラムを作成、書込もできた。

以前 STM32F405を使っていた時のライブラリを動かそうとするが、I/Oのレジスタの構造は、あまり変わっていないようで、結構そのまま動く。クロックの設定関連で変更があったので、そこだけ変更したら、大体、動いてしまった。

で、次はUSB ? かと、 USB-PHYボードを袋からだすと、USB-TypeAソケットが大きく変形している。余程大きな力が加わった感じ。USBホスト機能は使わない予定なのでTypeAソケットが使えなくても問題は無いのだが、他に損傷が無いか不安。AliExpressは面白いが、油断はできない。

1 / 24712345...最後 »