ひとりぶろぐ

価値ある情報をユーザー視点で発信するブログ

Pomera DM30/DM100とiPhoneでブログをバキバキに書く環境をガチで考える

      2018/11/10

Write a blog on pomera dm30 dm100 and iphone 00000

単3電池2本で長時間動き、WiFi内蔵SDカードFlashAirに対応した素晴らしきテキスト打ち端末Pomera DM30、Pomera DM100。

write-a-blog-on-pomera-dm30-dm100-and-iphone-00004

僕はDM100の方を所有しています。

PCと比較して「コスパが〜」とか言う人には理解できないと思いますが、ネットがあると異常に気が散りやすい僕にとっては、ネットが利用しづらいこれらは必須の道具です。

基本的にブログ用の文章しか書かないので、これらでも当然ブログ用の文章を書きたい。

最近執心のMS-DOS版Mobile Gear(モバイルギア)についても同様で、「ネットにつながらない機器の中で最強のテキスト入力環境は何か?」を探求した結果。

集中して原稿を書くためには、何でもできる環境ではダメなんですよね。

そんなDM30/DM100でブログ用の文章を書いていると、ネット上から取り寄せたい情報に思い当たることがあります。

例えば、特定のサイトへのリンクなどです。

「やっぱPC使えば楽勝じゃん。しかも安いし」という人とやり合う気はありません。必要なときしか使えないのがいい、というこだわりがあるの!

ピンチヒッター的にiPhoneを使ってリンク取得はできても、それをDM30/DM100に持っていくのがなかなか面倒。

write-a-blog-on-pomera-dm30-dm100-and-iphone-00003

公式アプリのpomeraQRにはFlashAirモードが搭載されていますが、なぜかDM30/DM100→iPhoneという片方向のやりとりのみの対応。

そこで、iPhoneとFlashAir on DM30/DM100の間でテキストを受送信する方法を考案してみました。

write-a-blog-on-pomera-dm30-dm100-and-iphone-00006

pomera_get.py、pomera_put.py、pomera_preview.py

これから紹介するpomera_get.py、pomera_put.py、pomera_preview.pyは、iOS上で動作するアプリ、Pythonista 3用のスクリプトです。

iOS側ではクリップボード上のテキストを扱い、DM30/DM100側はFlashAirのトップディレクトリに置いた0CLIP.TXTというテキストファイルを決め打ちで使ってテキストのやりとりをします。

これによって疑似的なネットワーク間クリップボード共有を実現しようというのです。

お前は何を言っているんだ? という方のために動画を用意しました。

0CLIP.TXTという名前は、Pomera側でファイルを開くときに、ファイル名順で一番上に出ることを意図して決めました。

write-a-blog-on-pomera-dm30-dm100-and-iphone-00002

  • pomera_put.py
    • iOSのクリップボード上のテキストをFlashAir側の0CLIP.TXTに書き込む
  • pomera_get.py
    • FlashAir側の0CLIP.TXTの内容をiOSのクリップボードに取得する
  • pomera_preview.py
    • FlashAir側の0PREV.TXTの内容をMarkdownを展開しつつiOSのWebブラウザでhtmlとしてプレビューする

この三つでiOSとDM30/DM100の間の双方向のテキスト交換を簡単にし、ひいてはブログ書きを支援しようという寸法です。

例えば、さきほどの動画のように、iOS側でリンクタグを生成、クリップボードにコピー。それをDM30/DM100側で作成しているテキストに取り込むことがかなり簡単にできます。

DM30/DM100側で0CLIP.TXTにテキストを書いておけば、それをiOS側のクリップボードに転送するのも一発です。

pomera_preview.pyは0PREV.TXTに書いたhtmlはhtmlのまま。Markdownは展開する(設定でオフが可能)ので、一部アウトラインモード用にMarkdown記法が使えるDM30は、見出しをhタグとしてプレビューできます。

どのスクリプトもFlashAirがオンラインになるまで処理を待ち合わせる機能を持ち、iOS側とFlashAir側のタイミング合わせの煩雑さを緩和する工夫を取り入れています。

pomera_put.py、pomera_get.pyでは、バックグラウンドに回したときにプッシュ通知で完了通知を送ります。

Write a blog on pomera dm30 dm100 and iphone 00010

pomera_get.py、pomera_put.py、pomera_preview.pyの起動リンクをiOSのHome画面に置くこともできるので即座に起動が可能。

Write a blog on pomera dm30 dm100 and iphone 00013

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

ダウンロード

バージョン履歴

  • v0.2 2018.11.10
    • pomera_put.pyでクリップボードからテキストを取得する処理を冒頭に移動してバックグラウンド動作を可能に
  • v0.1 2018.11.10
    • 初版

設定方法

使えるようにするまでにいくつか設定が必要です。

Pythonista3の起動

Pythonista 3をApp Storeからダウンロード、iOS上でPythonista3を起動します。

iCloud同期でスクリプトを転送

Pythonista 3を起動したことでiCloud DriveのルートにPythonista3というフォルダができるはずですので、macOS側でダウンロードしたpomera_get.py、pomera_put.py、pomera_preview.py、FlashAirフォルダをPythonista3フォルダにコピー。

Write a blog on pomera dm30 dm100 and iphone 00007

iCloud同期でiOS上のPythonista3のiCloudディレクトリにスクリプトが出現するのを待ちます。

Write a blog on pomera dm30 dm100 and iphone 00014

Windows用のiCloudがあるので、Windowsではそれを使う感じでしょうか(少し投げやり)。

基本設定の確認

pomera_get.py、pomera_put.py、pomera_preview.pyは、FlashAirのIPアドレスがデフォルトの192.168.0.1であることを前提にしています。

もし設定を変更していたら、スクリプト内の「FLASHAIR_IP」に記述されているIPアドレスをご自分の設定に合わせて変更してください。

FLASHAIR_IP = "192.168.0.1"

Home画面にスクリプト起動リンクを設置

Pythonista3上に現れたpomera_get.py、pomera_put.py、pomera_preview.pyをタップして編集状態にし、画面右上のレンチボタンをタップ。

Write a blog on pomera dm30 dm100 and iphone 00011

「Home Screen」というアイコンをタップ。後は画面の案内に従ってHome画面にアイコンを設置します。

Write a blog on pomera dm30 dm100 and iphone 00012

これをpomera_get.py、pomera_put.py、pomera_preview.pyそれぞれで実行して三つのアイコンの設置を済ませます。

FlashAirのアップロード機能を有効にする

FlashAir上の設定ファイル「CONFIG」にUPLOAD=1を追記し、アップロード機能を有効にします。

macOSの場合はFinderでCommand+Gで「CONFIG」ファイルを内包する「SD_WLAN」フォルダの場所を直接指定します。「NO NAME」の部分は、実際にはFlash Airのボリューム名を当てはめます。

/Volumes/NO NAME/SD_WLAN/

Write a blog on pomera dm30 dm100 and iphone 00008

Windowsの場合は、Explorerのオプションから、不可視ファイルを表示する設定に変更してください。

「SD_WLAN」フォルダの下に「CONFIG」というファイルがあります。

Write a blog on pomera dm30 dm100 and iphone 00009

「CONFIG」が見つかったら、テキストエディタで開き、「UPLOAD=1」を追記します。

(略)
LOCK=1
APPMODE=6
APPAUTOTIME=60000
UPLOAD=1

FlashAirとiOSをWiFi接続

一度、通常の手段でFlashAirとiOSのWiFi接続を済ませておきます。

使い方

DM30/DM100側からiOSにテキストを転送

  1. [Pomera側] DM30/DM100上でiOS側に転送したいテキストを0CLIP.TXTに直接打ち込むか、0CLIP.TXTにペーストして保存
  2. [Pomera側] 「Menuキー」>「ツール」>「FlashAir」>「ファイル転送」を実行
  3. [iOS側] FlashAirとWiFi接続(FlashAir以外につながるWiFi APがなければ勝手につながる)
  4. [iOS側] Home画面上に設置したpomera_getをタップ

これでPythonista3でpomera_get.pyが実行され、「wait 0/120」といった感じで待機中のメッセージが表示されます。

FlashAirとの接続が確立したらiOS上のクリップボードにPomera側の0CLIP.TXTの内容がコピーされます。

iOS上のクリップボードのテキストをDM30/DM100に転送

  1. [iOS側] DM30/DM100側に転送したいテキストをクリップボードにコピー
  2. [Pomera側] 「Menuキー」>「ツール」>「FlashAir」>「ファイル転送」を実行
  3. [iOS側] FlashAirとWiFi接続(FlashAir以外につながるWiFi APがなければ勝手につながる)
  4. [iOS側] Home画面上に設置したpomera_putをタップ

これでPythonista3でpomera_put.pyが実行され、「wait 0/120」といった感じで待機中のメッセージが表示されます。

FlashAirとの接続が確立したらiOSのクリップボード上のテキストがPomera側の0CLIP.TXTに保存されます。

DM30/DM100で書いているhtml/MarkdowをiOSでプレビュー

  1. [Pomera側] iOS側のWebブラウザでプレビューしたいテキストを0PREV.TXTに直接打ち込むか、0PREV.TXTにペーストして保存
  2. [Pomera側] 「Menuキー」>「ツール」>「FlashAir」>「ファイル転送」を実行
  3. [iOS側] FlashAirとWiFi接続(FlashAir以外につながるWiFi APがなければ勝手につながる)
  4. [iOS側] Home画面上に設置したpomera_previewをタップ

これで0PREV.TXTの内容がiOSのWebブラウザでプレビューされます。

pomera_preview.py内にhtmlのテンプレート部分があります。

FlashAirフォルダ内のpomera.cssとpomera.jsをカスタムすると見栄えなどを調整できます。

Markdownは展開されますが、展開したくなければpomera_preview.pyの「MARKDOWN = True」を「MARKDOWN = False」に変更してください。

FlashAirフォルダ内に、BootstrapSemantic UIBulmaが入っています。

デフォルトではSemantic UIが使われています。好みに応じてpomera_preview.py内のhtmlのテンプレートを書き換えてカスタムしてください。

local_preview.pyについて

pomera_blog_toolsには、これまで説明した三つ以外にlocal_preview.pyというスクリプトも入っています。

これはpomera_preview.pyを実行したことによってiOS側に生成された0PREV.htmlというファイルを、FlashAirに接続することなしにWebブラウザでプレビューするものです。

付箋文の活用方法

話はガラリと変わって付箋文機能の活用について。

Pomeraには付箋文機能というものがあります。

Write a blog on pomera dm30 dm100 and iphone 00015

F1キーを押すと、カーソル位置に「★付箋文★」(DM100)、「.付箋文」(DM30)といったテキストが挿入され、F5キーないしはShift+F5キーで付箋文のある位置にジャンプできるというシンプルな機能です。

この付箋文機能、テキストエディタにあるマーク機能のように使うものだという先入観があったんですが、同じくPomeraにある定型文機能や単語登録機能と組み合わせるとブログ書きに非常に便利だということに気づきました。

ブログを書いているとhtmlタグを直書きすることがあります。

そのタグを定型文機能に登録して適宜挿入するというところまではよくやるかと思います。

その定型文の中に付箋文を混ぜ込むのです。

例えば、定型文ないし登録単語に「<h3>★付箋文★</h3>」といった登録をする。

Write a blog on pomera dm30 dm100 and iphone 00016

これを呼び出した後、Shift+F5を押すと付箋文が選択された状態になります。

そのままテキストを書くと選択状態の付箋文が新規入力テキストによって上書きされ、結果として「<h3>」と「</h3>」の間に書けることになり、いちいちカーソルを「<h3>」と「</h3>」の間に動さかずに済むわけです。

一つの定型文ないし登録単語の中に含める付箋文は一つに限りません。

複数の入力項目がある定型書式の入力部分に付箋文を複数貼っておき、項目を次々ジャンプしながら入力するといった使い方もできるわけですね。

「もともと付箋文ってそういうものだけど?」という声も聞こえてきそうですが、そのことに気づいていない人に向けて書いてみました。

キングジム デジタルメモ ポメラ シルバ- DM30シル
キングジム(KINGJIM) (2018-06-08)
売り上げランキング: 6,876
キングジム デジタルメモ ポメラ DM100 ブラック
キングジム(KINGJIM) (2011-11-25)
売り上げランキング: 5,300

 - ガジェット