輸入の進捗

最近、すっかりブログの更新をさぼっていました。
青森に配達にいったときに、Sさんに「ブログが最近更新されないですね」と言われてしまいまして、ちょっと反省しております。
というわけで、近況報告というか、輸入の進捗です。

Instagramではそこそこアップしているのですが、木曜日に青島港にコンテナが搬入されました。
今回は、品切れしているラジコン草刈り機NS2、メッシュパレット、薪用のフレコンバッグなどが入荷予定です。
変わったところだと、個人用の竹切りアタッチメント新型、太陽熱温水器なども入ってきます。

竹切りアタッチメントですが、かれこれ2年越しくらいのアップデートでしょうか。
前回の反省点として、グラップル部分の設計が不十分で地面に落ちた細い枝が掴めなかったこと。そして、ナタ刃を油圧シリンダで駆動する構造(シーケンス制御、on/off切り替えバルブ)のため複雑で配管が一部露出し、竹以外の枝などの処理に使うと引っかかったり、蔓が絡まったりして破損するリスクが高いこと。
なによりも高価になってしまったこと。
これらを解決すべく、把持する力で切断するシンプルな構造に変更しました。
刃物には、NM400でコストダウンしようかとも思いましたが、HARDOX 450を引き続き採用しています。

太陽熱温水器についてです。
かれこれ15年前にFUJISOLのものを導入したんですが、タンクがガルバリウム鋼板で一部が腐食し、凍結が原因だと思うのですが、中のウレタン断熱材が破裂して水が抜けてしまいました。
保険屋さんの見立ては経年劣化ということで支払い対象外。
市内の業者さんに見積もりをお願いすると40万以上かかるとのことで、どうしたものかと思案しつつも長らく放置していました。

重い腰を上げて国内の状況を調べてみると、比較的安いのがニトクラフト さん。
で、面白いことが書いてあるんですよ。

①圧倒的にやすい
弊社温水器はおそらく国内最安と言っていいかと思います。なぜ安いか?それは単に私の利益を圧縮しているからです!
なぜ利益を圧縮するのか。それは太陽熱温水器を安価で提供し多くの人に広めることで地球の未来が良くなると信じているからです。
ではなぜこんなに安く提供できるの?なんか怪しくない?…安すぎて不安になるその気持ち、わかります。
品質が悪いから安い、ということは全くないので安心してください。
真空管温水器はほぼ全て中国製で原価はどこの販売店もほぼ一緒です。
どれだけ利益を乗せるかだけが変数なのです。

ふむふむ。
さて、国内最安とのことですが、この際なので中国での相場を調べてみました。

自分は青島港を使っているので、その近辺の工場にコンタクトを取ってみると、おおむね40万の見積もりでした。
うーん、国内で買うのと同じか、と思ったのもつかの間、MOQ 10とあります。
そう、1台ではなくて、10台でしか売らないよ、だから10台分の見積もりで40万円なんですね。
1台4万円です。
1台4万円のものが数倍になっているようですが、それでもこれだけ「安い」と堂々と連呼できるほど、内外の価格差が大きいようです。

それで、Aさん(うちの製品を製造してもらっている鉄工所)に「どうなん?」という話をしたんです。
あまりにも安いので。
そうしたところ、品質にかなりのばらつきがあるから、自分用に1台だけなら高級品の工場を知っているよ、ということで紹介してもらったんですが、そこの製品は、高級すぎて自分のニーズには合わないというか、専用のコントローラを使うように完全にブラックボックス化されているのです。
うちの破損したものは重力式でコントローラー等はまだ使える状態なので、タンクや集熱缶のみ交換して、それ以外再利用したいこと、将来的には薪の簡易乾燥機の熱源にも使いたいので、とにかくシンプルなものがよかったんです。

もう一つ気になる問題があり、それは水道法です。
うちは井戸水なんですが、水質検査をしたところ亜硝酸態窒素が検出されました。対策として浄水器を輸入して導入しました。
その時に水道法を知りました。

自分の知識の範囲では、日本のような小さな未成熟な市場で直圧式が水道法をクリアすることは正直かなり難しいと思うこともあり、今回は開放型(重力式)のものをチョイスしました。
これであれば、ボールタップ給水弁に水道法に対応した国内品を使うことで、2本配管にはなりますが、クロスコネクションを確実に防止するために飲用不可の専用水栓を用意すれば、合法的に利用できるようになります。
雑貨屋としての体力的にも、いくつものバリエーションの在庫を持つことはできないので、300Lの重力式に絞って扱おうと思います。

サンプルの価格としては、木枠梱包や破壊検査用の予備部品、中国国内での横もち運賃などを含めて $460.08でした。
USDJPYが162円、為替手数料が5%とすると、460.08 x 162 x 1.05 = 78,260、8万円弱程度でした。
最近運賃が高騰していますが、3割程度で国際輸送のコストは賄えます。
よって、消費税を入れても12万円かかりません。
厳密にいえば、これは個人輸入品なので、運賃に消費税もかからず、本体に課税される消費税も6掛に減額されます。
本体のみで見れば、$244.80なので、244.80 x 162 x 1.05 = 41,640円です。
当然ですが、FCLで輸入すれば、輸送コストは激減します。

うちでは10万円を切る価格で販売したいと考えています。しかし、サンプルの共同購入希望者は0名だったので、次回輸入する際には、ニトクラフトさん同様、完全前金・キャンセル不可、という条件で市場調査をしたほうがよさそうです。

サンプルが届いたら早めに設置し、制御器S-3を使いつつもIoT化の試験も同時に進めたいと思います。その上で、制御器を内製化してクラウド対応を行い、日射量データなどから貯湯量シミュレーションを行えるようにしていきたいと思います。そうすることで、薪の乾燥を太陽熱で行い、その際にチャンバー内の加温や湿った空気のベント量などを得られるであろう熱エネルギーに応じて調整することで、エネルギーの利用効率を高め、乾燥の品質も高められると思います。

EggX を復活させるか…

NIIMBOT B18 を持っているんですが、間違えて互換性のないラベルを買ってしまいました。

どうしようか悩んでいたところ、Amazon でセールをしていたので、NIIMBOT D110 を買いました。
3,000 円を切る値段で、往年の KP-C10 を思い出すような、そんなラベルライターです。
ただまあ、そこには 30 年近い時間の流れがあるわけで、ラベルの質は劇的に向上し、テープの検出や、Blutooth でのワイヤレス接続, USB-C 充電と、基本性能は大きく進化しています。

が、ソフトがちょっと気に入らないんですよね。
iPhone でさっと印刷できるのはお手軽なんですが、細かなことが一切できません。

それで、EggX 的なものをサクッと作ろうかと思っているんですが、ふと気になって調べてみたら、あれから 30 年経っても、いまだに CoreText を使わないと縦書きができないようなんです。(本当?)

当時、ATSUI から結局移行しませんでしたが、WebView と CSS で縦書き描画する方法でどこまでできるかやってみようかなと思います。
さすがにもう EggX のことを覚えている人はいないんだろうけど、自分が満足に使える程度のものは作ってみようと思います。
その前にさっさと AI 選別機を作れよ、まずは RPi5 ケースを印刷しろよといわれそうですが、その部品を入れるハマグリケースのレベルシールが美しくないのが耐えられないのです。

まあ、とにかく Xcode を入れるところからです。
ボケ老人には相当のリハビリが必要になりそうです。

毎度クソすぎるプリンタ周りの問題を力技で解決した備忘録

macOS を 26 にしたんですが、気がついたら、プリンターの設定がごっそり消えていて、印刷ができません。
前から調子が悪いんですが、Bonjour もまともに機能しなんです。
ついでに言うと、白黒だの(カラーはカウンター料金が高い)、紙折ユニットの設定だの、これをプリセットにして保存しても、呼び出したら消えてしまうと言う残念すぎる状態なので、消えたのでこの機会に、いい加減頭にきたので、対策をすることにしました。

対策の方針

  • Bonjour の駆除 IP アドレスを固定して指定する
  • CUPS の管理画面でプリンタのデフォルトを書き換えてしまう

まず、不安定な Bonjour を駆除します。
これ、RPi5 なんかでも同じことが起こるんで、プリンタに限った問題ではないようです。
WiFi ルーターが DHCP で払い出しているんですが、MAC アドレスで払い出す IP を固定しました。

で、IP アドレスを指定して、プリンタを追加します。
このあと、トレイの段数や、フィニッシャー、紙折ユニットの有無などを設定します。

次に CUPS Web インターフェースを有効にします。

cupsctl WebInterface=yes

ブラウザで http://localhost:631/printers/ にアクセスして、_192_168_68_222 を選択、「Administration」 のドロップダウンメニュー(左側のボタン)から 「Set Default Options」 を選択して、内容を編集して、最後に「Set Default Options」ボタンを押下して保存して完了です。

SVGに含まれるベジェ曲線の撲滅

旅から戻ってきたら、A1 mini が届いていたので早速格闘中です。
とりあえず、簡単で、必要なものということで、まずはハンコを作ることにしました。

が、印面のデータを SVG で書き出して import したんですが、うまく読めません。
もしかして、と思って調べたら、案の定、ベジェがダメでした。
いや、たったそれだけのことですが、猛烈に難儀をしました。
Illustrator でもっと簡単に直線だけにできたと思ったんですが、忘れる方が早いし。
いい加減 Adobe 税を払うのも嫌になってきたのもあります。
ということで、いろいろ試したんですが、元のデータが悪いのか、どうしても成功せず、よく考えると、

どうせハンコなんだから、見えたらいいんじゃない?

ということで、画像に変換、それをトレースという力技で解決したので、メモしておきます。

#!/bin/bash

使い方: ./flat_svg.sh 入力ファイル.svg

INPUT=$1
OUTPUT="${INPUT%.*}-final.svg"
BMP="temp_convert.bmp"
DPI=1200

echo "Converting $INPUT to $OUTPUT (Linearized)..."

1. 高解像度BMPに変換

magick -density $DPI "$INPUT" -colorspace gray -flatten "$BMP"

2. potraceで直線化してSVG出力

--unit 2.83465 でmm単位に調整

potrace -s -a 0 --unit 2.83465 --resolution $DPI "$BMP" -o "$OUTPUT"

3. 中間ファイルの削除

rm "$BMP"

echo "Done! Saved as $OUTPUT"

とまあ、これだけ。

あとはできた svg を OpenSCAD で import として、.STL 変換してやれば OK。

translate([0, 0, rect_z - epsilon])
mirror([1, 0, 0])
linear_extrude(height = text_h + epsilon)
scale([svg_scale, svg_scale, 1])
offset(r = 0.01)
import(svg_file, center = true);

反転も .scad でやるので、普通に画像は作れば OK ですね。

データを作る以前に、設定がうまくいかず、糸を引いて失敗していたりしたんですが、なんとか PETG で安定してプリントできるようになりましたし、OpenSCAD の使い方もある程度わかってきました。
これで色々制作に選択肢が増えました。

しかしすごいな。
たった 29,800 円でこれだけのことができるとは。

SHARP BP-60C26 のドライバの問題(解決)

SHARP BP-60C26 なんですが、PPD のドライバの問題か、プリンタの設定を保存しても、次回指定した際に全く反映されない状態で、とても不便です。
たまにそういう状態になるんですが、SHARP の返答は「OS の問題です」で終わってしまうので、今回、別の解決方法を試してうまくったようなので、備忘録がわりに顛末を書いておきます。

すごく貧乏くさいのですが、このプリンターはいわゆる「カウンター」で契約しているので、印刷した枚数に応じて料金が発生しますが、白黒とカラーとでかなりの金額差があります。
なので、よほどのことがない限り、白黒で出力したいのですが、デフォルトでは Automatic になっていて、ちょっとでもカラーのデータがあれば、自動的にカラーに切り替わってしまいます。
そのため、白黒を標準に変更します。

まず、Web でプリンタの設定が変更できるようにします。

cupsctl WebInterface=yes

次にプリンタの設定画面をブラウザで開きます。
プリセットが信用できない状態なので、「何も選択しなくても最初からその設定になっている」 状態を CUPS(プリントサーバー)側で作ります。

  • ブラウザで http://localhost:631/printers/ にアクセス。
  • BP-60C26 を選択 > Administration > Set Default Options。
  • ここで「Image Quality」の中の「Color Mode:」を「Black and White」などに固定し、最下部のボタンで保存。

という流れです。
自分の場合、パスワードの入力がありましたが、これは今のユーザ(わからない場合は whoami で出てきます)の id, password です。

生きている化石 — MacVim

AtomS3 用のコードをゴリゴリ書いているんですが、自分、実はエディタは vi しか使えないのです。
なもんでターミナルの小さな窓で syntax on とかしてたんですが、かったるい。

調べたら、なんと MacVim はまだ生きていました!
というわけで、サクッとインストール。
なんといういんでしょうか、この安心感。
インターネッツ老人会の皆皆様、そして、vi よ、私は帰ってきた!

それはそうと、なんでこんな羽目になったかというとサーボのコントロールがうまくいかなくて、カクカクしてしまうんです。
AtomS3 は初めてなんだけど、どうもパルス生成のタイミングがずれているのか、ノイズなのか、ハッキリしないのです。

なもんで、VxWorks の TaskSpawn() に相当する機能はないのかしらと思ったら、ありました。
が、これがまた、適当にやっているもんだし、そもそも VxWorks で開発していたのなんで、25 年は前なので、何もかもほとんど忘れてしまっています。

ノイズの影響か USB の接続もよく切れるし、これは

;upload_port = /dev/cu.usbmodem1101
;monitor_port = /dev/cu.usbmodem1101
upload_port = /dev/cu.usbmodem*
monitor_port = /dev/cu.usbmodem*

という風に platformio.ini を書き換えればいいとわかったので、そうしたんですが、MacVim を入れたことだし、.zshrc も整理しました。

# --- エディタ設定 ---
export EDITOR='/Applications/MacVim.app/Contents/bin/mvim'
alias vi='$EDITOR'
alias vim='$EDITOR'
alias gvim='$EDITOR'

ターミナル内で閉じたい時(GUIを起動したくない時)用の Alias

alias viv='$EDITOR -v'

--- PlatformIO (AtomS3) 開発用 ---

alias pu='pio run -t upload' # 書き込み
alias pm='pio device monitor' # シリアルモニタ
alias pum='pu && pm' # 書き込み後、即モニタ起動
alias pc='pio run' # コンパイルのみ(チェック用)

--- 便利ツール ---

現在のポートをサッと確認する用

alias lsp='ls /dev/cu.usbmodem*'

さて、昨日でようやく新年の行事が一段落したので、今日から配達です。
ボチボチ頑張ります。