追記

一往確認日記


2019年04月19日 [長年日記]

_ PLC向けRuby言語コントロールユニット(1)

以前はAmazonでPrime会員対象の書籍がKindleデバイスで月に1冊読めていたのですが、いつの間にかPrime Readingなるものがあって、結構な冊数の本が読めるようになっています。

それで目についた成功哲学を読んで

Amazon.co.jp: 成功哲学 eBook: ナポレオン・ヒル: Kindleストア

思考は現実化するを読んでいる最中です。

思考は現実化する_アクション・マニュアルつき | ナポレオン・ヒル | 個人の成功論 | Kindleストア | Amazon

さて、私が思考を現実化するかどうかは、後々結果が出ることでしょう。

本を読んで物事を進めるには熱意が力になるとあり、これは自分に欠けているところです。

この事で、Pokémon GOが出た時にすごい衝撃を受けたのを思い出しました。

当時スマホでGPSを多用するとバッテリーが持たないので、敬遠されるというような傾向がありました。
私が出しているアプリも100Kmマラソンを完走するためにバッテリーの消費を抑えるためにGPSを使わず、ゴールできるペースかどうか判断できるアプリを考えました。最低13時間は持たせないといけないので懸命な判断だったとは思います。

‎「ゴールイン!」をApp Storeで

今できる方法でなんとか実現しようとしたのです。

ところがPokémon GOはバッテリーのことはおかまいなしです。 iPhone本体だと2時間がせいぜいでしたが、足りないところは補えばいいとばかりにモバイルバッテリーを併用して(しかも数個)長時間プレーする人が続々と出てきました。

始めにこんな風になったらいいなという世界観があって、技術的に足りなくても補う方法はどうにでもなるという結果を目の当たりにしたのでした。

ここでescalatorから初めてladder_driveとやってきたことを振り返ると(中途半端で中断してますが)、今できる事から積み上げてきていて、最終的にしたいことからはるか遠回りしているのではないかと思ったわけです。

自分は何をしたかったのかというのを今一度考え直してみました。

元々はラダーでプログラミングするのは自分にとっては面白くないし、もっと分かりやすく効率よく出来ないものかなというのが出発点です。

例えばRubyのような言語でできたらもっと楽しく効率的にできるのではないかと考えたのです。 C言語コントロールユニットというC言語でプログラムできるユニットがありますが、仮にRuby言語コントロールユニットというものができれば実現するわけです。 しかし、今はこれを実現するすべはないわけでそこからスタートすることは考えなかったわけです。

Rubyで書ければいいのにということですから、最初からRubyで始めればよかったことでした。 ということで、本当にRubyでできればいいのか今後検証していきたいと思います。


2019年04月12日 [長年日記]

_ M5STACKでIoT水位計 (3)

M5STACKでプログラミングするための開発環境構築についてはGithubの方にありましたので、興味のある方はご覧ください。

M5Stack - A series of modular stackable development devices

水位計ということなんですが、単純に水位で検索したら下の水位センサーが見つかって、だいぶ前に買っていました。

WINGONEER 5PCS水位センサーArduino用液体水滴検出器

予定の水位になったら知らせる程度にしか考えてなかったので、これで良いかと思っていました。
予備実験では、水位を正確に図る感じではなく水に接しているかどうか程度の判断ができるくらいでした。
名称をよく見ると水滴検出とありますので、やはりという感じです。

電源のない田んぼの中で、更に通信手段を考えたら実現性が乏しいく、センサーについてもこの様にあまりよく考えていないこともあり棚上げにしていました。

しかし、いざやってみようとなってから改めて考えてみて、超音波センサーがいいんじゃないかと思いつきました。

超音波センサーはSEEEDのこちらを購入しました。

Grove-超音波距離測定センサー | SEEED

これより安いものもありますが、

超音波距離センサモジュール HC-SR04 - スイッチサイエンス

計測中に出力がロックして計測できなくなる症状が確認された

とありました、避けました。

つづく


2019年04月07日 [長年日記]

_ M5STACKでIoT水位計 (2)

M5STACKはCPUとしてESP32を使っていますがArduinoの開発環境が使えてArduinoとして扱えるのでライブラリーなどそのまま使えたりします。

液晶も付いていて、サンプルにテトリスやフラッピーバードがあって、さながらゲーム機の様です。

テトリス

フラッピーバード

そのテトリスのソースコードを見てあまりにも短いので驚いています。
マイコンに興味を持ったのはゲームですが、今ではゲームを作ったりということもないんですが、びっくりしたのでRubyとかiOSでテトリスを実装してみたいという気になっています。

Tetrisのソースコード

M5STACKはWiFiやBluetoothの機能も含まれていて、インターネットや周辺機器とも接続しやすい様になっている様です。

いろいろ漁って適当にプログラムしてましたが、githubにサンプルやピンアサインなどまとまった情報がありました。

M5Stack · GitHub


2019年03月23日 [長年日記]

_ M5STACKでIoT水位計 (1)

M5STACKというデバイスを昨年知って、Ambientのブログでもよく出てきているので、年末に入手していました。
(Ambientを運営しているアンビエントデーター株式会社の下島さんは月刊誌InterfaceでM5STACKの連載をしています。)

実は兼業農家でして、僅かばかりですが田んぼがあります。
水管理はほとんど親がしていましたが、年々関わる回数がが増えてきているので、IoTで水位など記録したりしたいと常々思っていました。

しかし、電源の確保とデータ通信の問題があり、棚上げしていました。
昨年のIoT公開セミナーに登壇した時に、さくらインターネットの法林さんがsakura.ioの通信モジュールを紹介していてひょっとするとこのモジールを使うとうまく行くのではないかという事で、まずは試してみようというところです。

使うマイコンは何がいいか思案するところですが、M5STACKがどうも使い勝手が良さそうです。

整理されていない田んぼなので、自動で入水、止水したりすることは考えておらず、水を止めるタイミングを知れればいいかなという程度です。
ゴミが詰まって全然水が入っていないということもあるので、アラートを出したりという事も考えています。

Amazon Echo と連動できたりしても面白いかと思います。

企画倒れになってしまうということもありますが、できるところまでやってみようと思います。


2019年03月18日 [長年日記]

_ なぜ、あなたの仕事は終わらないのか スピードは最強の武器である

[読書]
なぜ、あなたの仕事は終わらないのか スピードは最強の武器である

時間の使い方が上手い人はそういう風に考えているんだ、と面白いです。

後半の一部は著者の中島さんのブログか記事で読んだことがあるので、前半の子供の頃からの話が特に興味をもちました。

事の発端が、宿題が出来てなくて海にいけなかったというところで、それをきっかけにそういう風に考えていくんだという感じでどんどん引き込まれて一気に読んでしまいました。


2019年03月10日 [長年日記]

_ う電卓が便利に

う電卓バージョン1.9がリリースになっています。
う電卓はiOS向け電卓アプリです。


機能についての要望がありまして、それに対応し更新したものになります。
追加した機能は、数値や式メモを電卓のキーに割り当てる事ができるという機能です。

実際に使ってみるとすごく便利です。

例えばPLCソフトを編集している際に、ある範囲のデバイス番号をn個ずらすということがよくあります。

デバイスの一括変更など利用すると簡単に移動できるのですが、それを使うとオンライン変更ができないなどの制約があったりで、便利な機能があるにも関わらず、結局コピーして貼り付けた物をちまちまと変更するような作業があります。

例えば M4256 というデバイスを 16 個分ずらさなければならないように場合に、暗算が得意であれば簡単に出せそうですが、なかなかそう簡単に計算できない身としては、電卓に頼らざるを得ないところです。

+16 という式メモを作って、キーに割り当てると ボタン一つで16ずらしたデバイスを計算できます。

Image from Gyazo

ボタンにつける名称を変更することもでき、税率の比較や単位の換算などにも便利だと思います。

式メモとキーへの登録の仕方はこちら に記載しています。


テーマ色も追加になっていて、(PRODUCT)RED を意識した赤を愛用しています。


Apple Watch Series 4 対応の要望もあるのですが、開発に使用している RubyMotion でまだ Apple Watch Series 4 の対応がされていなくて保留となっています。
画面は相対的に配置するようにしていますので、それなりに表示されていると思います。
残念ながら所持していないため自分では確認できないので、どのように表示されているか教えていただけるとありがたいです。

う電卓サポートサイト


2019年02月07日 [長年日記]

_ irBoard 1.7.5がリリースになりました。

メルマガの方に書いていますが、1.7.4でPLCと接続時に異常終了する現象が発生していました。

1.7.5はその修正版になりますので、アップデートをお願いします。

irBoard 1.7.4で追加された機能

1.7.4で追加された機能を説明する機会がなかったので、ここで説明します。

  • デバイス入力の改善

    PLCデバイスを指定する際に、存在しないデバイスの場合は、入力後に空欄に戻っていましたが、入力したつもりで(タイプミスで)実際には入力されていないということがありました。

    存在しないデバイスを入力しているときは背景が赤になって分かりやすくなりました。

    • 無効の場合は背景が赤に

      Image from Gyazo

    • 有効の場合は背景が白に

      Image from Gyazo

    また、デバイス名の頭文字がメーカーによって MR や M など微妙に違うのですが、相互に変換するようにしました。MR や M 、 DM 、D を混在して使用しても適切なデバイスに変換するようになっています。

    • 例えばキーエンス だとMR と入力しなければならないが M でも受け付けられます。

    Image from Gyazo

  • パーミッションのクリアー

    1台のiOSデバイスのみ操作を許可する排他処理のためにパーミッションデバイスへの書き込みをしています。
    今までは切断時もその書き込んだ値が残っていて、接続しているiOSデバイスがなくても他のデバイスから接続できない状態でした。

    1.7.4からはパーミッションデバイスへの書き込みを切断時にクリアーするようにしています。そのため、切断後は他のデバイスからも接続できるようになります。

    元の振る舞いに戻すには設定アプリのirBoardを選択し、切断時パーミッションクリアーのオプションをオフにします。

    Image from Gyazo

    この機能は複数のデバイスで使用する場合は便利ですが、互換性を考えてデファルトはクリアーしないほうがいいかなと思うところもあるので、将来デフォルトの振る舞いが変更になるかもしれません。

irBoardサポートサイト


2019年01月08日 [長年日記]

_ 茨城スマートものづくり応援ツール展示会に irBoard を出展

本年もよろしくお願いします。

メルマガの方に書きましたが、1月25日(金)茨城県産業技術イノベーションセンターにて開催される茨城スマートものづくり応援ツール展示会に irBoard を出展いたします。

茨城スマートものづくり応援ツール展示会及びIoT導入事例報告会

いつもはPLCとirBoardだけでの展示でしたが、今回はデモ装置を用意して臨もうと思っています。
PLCはOMRONのCP1Eを用いてステッピングモーターを回す様な何かをしようと考えてます。
(ステッピングモーターが増えた程度であまり変わりなさそうですが…)

以前準備したCP1EはEthernet オプションボードが対応しているかどうかで選んで、どんな入出力にも使える様にリレータイプを選んだのですが、それが仇となりました。
リレータイプはパルス出力に対応してないのを知らず、テストプログラムをつくってみたのですが、一向にパルス出力する気配がなくしばらく格闘してしまいました。

ドキュメントを色々眺めてようやくトランジスタ出力タイプじゃないとダメだというのに気づきました。
もうちょっとわかりやすく書いてもらえるといいのにと思います。

結局、無駄に3台購入するはめになってしまいました。

  • Ethernet オプションボードが対応してないのを購入してしまった。(CP1E-N30SDR-A)
  • Ethernet オプションボードが対応するのを購入(CP1E-N30DR-A)
    しかし、パルス出力に対応していない
  • パルス出力対応機種を購入(CP1E-N30DT-A)

まとめると下表の様になります。(誰かの参考になるかどうかわかりませんけど…)

CP1E-N30SDR-A CP1E-N30DR-A CP1E-N30DT-A
Ethernet オプションボード ×
パルス出力 × ×

2018年12月19日 [長年日記]

_ Macのお掃除にWiping my Mac

パソコンの掃除をする時に、キーボードやマウス周りを触っていると勝手にキー入力やクリックなどされて大変なことになります。

電源を落としてからやればいいのですが、ちょっと拭くために再起動とか面倒くさいので、ログイン画面にして作業中の書類に影響がない様にして掃除したりしてました。

数年前からキー入力やマウスを無効にしキオスクモードで動作するアプリがあればいいという事を考えていて、約3ヶ月前にようやく試してみました。

それが、Wiping my Mac というアプリです。

こちらからダウンロードできます。(WipingMyMac.zipをクリツク)
https://github.com/ito-soft-design/WipingMyMac/releases

これがなかなかにいい仕事をしてくれます。

1点だけうまくいかない箇所がありました。
キーが近いため 拭いていると⌘ + . のショートカットになってしまうことがあり、アプリがキオスクモードから抜けてしまいます。
それで、抜けたら間髪入れずキオスクモードに戻すという荒技で対処しました。

終了するには ⌘ + q を押します。

本当はMac App Storeで出したいところですが、機能が少ないということでRejectされるのは目にみ見えていますので…

もしよければ使ってみてください。

Windows版もすぐできたのですが、Windowsキーでメニューが表示されてしまいます。
レジストリとか操作すればできるみたいなんですが、今の所中断しています。

Image from Gyazo


2018年12月09日 [長年日記]

_ サイバーマンデーセール

PayPayの 100億円あげちゃうキャンペーンが賑わってますが、Amazonのサイバーマンデーセールで色々購入しています。
PayPayは続々とポイントが還元されているのをネットで見る機会がありますが、ポイントは期限付きなのでそのまま消失してしまう恐れもあるので様子見です。

サイバーマンデーセールで特別購入する予定はなかったんですが、来月開催される「茨城スマートものづくり応援ツール展示会及びIoT導入事例報告会」に irBoard を展示するので、それに必要な物を購入しなければならなかったので、せっかくならサイバーマンデーセールに合わせて購入しようという事にしたら、色々購入することになってしまいました。

今日の25:59AMまで開催してますよ。

まずはドライブレコーダーです。 前々から何かあった場合に備えてと思ってはいたのですが、なかなか手を出せずじまいでした。
最近煽り運転が話題になってますし、この機会にと購入しました。

レビューの内容と、前後の録画ができるのとSDカードが付属という点で選びました。 後ろ側の取り付けは面倒と思うので、まずは前だけ取り付けてみようと思います。

その際に以前から使用しているものもあり、シガレットソケットが不足するので3つに分岐できる製品を購入しました。 期待してなかったのですが、USBポートが4つ付いていました。 プラスチックの質感がおもちゃの様な感じで、選んだのはホワイトでしたがブラックの方がよかつたかなと思うところもあります。

雪が降るまで間に合わないので、すでにAmazonで購入済みですが、スタッドレスタイヤなどもありますよ。