コグノスケ


link 未来から過去へ表示(*)  link 過去から未来へ表示

link もっと前
2024年4月11日 >>> 2024年3月29日
link もっと後

2024年4月11日

VScodeとAsciiDocとKrokiローカルサーバー

目次: Linux

AsciiDoc ExtensionはAsciiDocのプレビューはもちろんのこと、AsciiDoc文書に埋め込んだMermaidやPlantUMLのような図形作成用言語の画像もプレビュー可能です。

以前のバージョンではローカルにツールをインストールしてプレビュー画像を生成できました(2022年9月4日の日記参照)が、最近のバージョン(おそらく3.1.0以降?)はKroki(Krokiのサイト)による図形描画に変更されたようです。

AsciiDoc Extensionのデフォルト設定だとhttps://kroki.ioにMermaidやPlantUMLのソースコードを送って、画像を受け取る設定になっています。これで問題なければそのまま使用すれば良いですが、外部のサーバーにソースコードを送りたくない場合はローカルにKrokiサーバーを立ち上げることでローカルネットワーク環境で完結することもできます。素晴らしいですね。

Krokiローカルサーバーの設定

Krokiのローカルサーバー立ち上げについてはDockerが便利なようです。Dockerが良い方はそちらを検索してみてください。

今回はKrokiを単体で立ち上げてみます。……と言ってもKroki自体に特に難しいことはなく、公式サイト(Manual Install :: Kroki Documentation)の説明の通りにやればよいです。PlantUMLを表示させたければGraphvizとPlantUMLをインストールした上で、

GraphvizとPlantUMLがインストールされていることの確認
$ which dot
/usr/bin/dot

$ which plantuml
/usr/bin/plantuml

GitHub ReleaseページからダウンロードしたKrokiのJARファイルを起動するだけでサーバーとして機能します。Krokiはサーバー機能を持っていて、動作テストにちょうど良いです。

Krokiの簡易サーバー機能を使う
$ java -jar kroki-standalone-server-v0.25.0.jar \
  -DKROKI_LISTEN=0.0.0.0:5000

KROKI_LISTENはどのポートで待ち受けるか?の設定です。PlantUML系の設定は特に何も追加しなくてもPlantUMLを認識していました。これはテスト用の簡易サーバー機能なので、本格的に運用する際はアプリケーションサーバーに登録したほうが良いと思います、その設定はまた今度。

VSCodeの設定

Krokiローカルサーバーを立ち上げたら、VSCodeを設定する必要があります。まずAsciiDoc Extensionの設定を開きます。


AsciiDoc Extensionの設定

Asciidoc > Preview: Asciidoctor Attributesの項目にある[Edit in setting.json]のリンクを開きます。


Asciidoctor Attributesの設定

設定の最後辺りに、

setting.jsonに追加する設定

    "asciidoc.preview.asciidoctorAttributes": {
            "kroki-server-url": "http://192.168.1.1:5000"
    }

を追加するとローカルサーバーに切り替わるはずです。192.168.1.1の部分はKrokiのローカルサーバーを動作させているIPアドレスを指定します。

見た目が少し違う

ローカルサーバーにて画像生成すると見た目が少し変わります。おそらくですが、インターネット側のKrokiサーバーはデフォルトのデザインを変えていると思われます。下記のAsciidoc文書を入力として確かめます。

動作テストに使ったAsciidoc

This is a sample of PlantUML diagram.

[plantuml]
----
@startuml
box "Box"
participant "App" as app
participant "Library" as lib
endbox

activate app
activate lib

app -> lib : Something()
@enduml
----

デフォルトつまりインターネット上のKrokiサーバーを使用する場合、このような結果になります。


kroki.ioの出力結果

ローカルサーバーを使用する場合、このような結果になります。グレーっぽいデザインから黄色のデザインに変わりました。


ローカルサーバーの出力結果

Krokiはkroki-standalone-server-v0.25.0.jarで、Krokiを動作させている環境はDebian Testingです。各モジュールのバージョンは、

  • plantuml: 1.2020.2
  • Graphviz: 2.42.2-8

です。

編集者:すずき(2024/04/17 00:37)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2024年4月9日

初めて作ったボード動作せず(手で直した)

目次: Arduino

以前(2024年3月24日の日記参照)発注して、全く動ないうえにNMOSが焼ける(2024年4月3日の日記参照)PCBを直してみました。

まずはミスったNMOS 8個を全部外しました。当初はNMOSをきれいに外して再利用できないか?と考えたんですが、ナメた考えだったことがすぐにわかりました。全然外れません、無理だこれ。

次善策としてNMOSの足を切り破壊しながら外しました。代わりのNMOSはOnSemi BSS138を新たに購入します(秋月で売ってる)。本当はOnSemi BSS123ですけど、高周波とか高圧電流とか厳しい信号ではないしBSS123でもBSS138でも大差ありません。

NMOSを外したら修正します。ミスした箇所はNMOSのピン配置ですから、辻褄が合うようにNMOSを付け直せば良いはずです。

PCB側とNMOS側のピン配置の概略
PCB側が想定しているピン配置(間違い)

Drain  1 |      |
         | NMOS | 3 Source
Gate   2 |      |

NMOS側のピン配置(正しい)

Gate   1 |      |
         | NMOS | 3 Drain
Source 2 |      |

NMOSを裏向きにつけたらどうかとアドバイスも頂いたんですが、ちょうど左周りに60°回転させるとGate/Source/Drainがぴったり合いますので、回転させて付けることにしました。

SOT-23のピン配置は正三角形ではない(1-2間だけ若干狭い)ため、回転させると端子がはみ出してしまいます。私はハンダ付けが上手な訳でもなく、表面実装系の細かいやつは難しいのでハンダをちょっと増やしてごまかします。


ハンダ付け後のPCB

できました。斜めに付いてる違和感がすごいのと芋ハンダだらけで長持ちしなさそうです。そもそも手修理ボードは長期運用するつもりがないから今だけ動いてくれればとりあえずヨシ!!

編集者:すずき(2024/04/12 12:44)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2024年4月3日

初めて作ったボード動作せず(燃えた)

目次: Arduino

以前(2024年3月24日の日記参照)発注したPCBが届いたので、動かしてみたら全く動きませんでした。動かないどころか通電したら通常は0.07Aくらいのはずなのに1.5A近い大電流が流れ続け、しばらくしたらNMOSが焼けて煙が出ました。1万円(部品配置込みで$67)のゴミが爆誕……。

PCのUSBを電源にしてM5Stamp C3も繋いでいたので、PCやM5Stampが壊れる可能性もありました。M5Stampはめちゃくちゃ熱くなっていましたが、幸いなことにどちらも壊れずに済みました。M5Stampは強い子ですね。

ミスした箇所を調べると、どうやらKiCadのNMOSのピン配置と、部品で使ったNMOS(Onsemi BSS-123)のピン配置が違うのが原因のようです。


KiCadのNMOS(形状SOT-23)のピン配置


Onsemi BSS-123のピン配置

KiCadは1番ピンがドレイン、BSS-123は1番ピンがゲートなのでゲートとソース/ドレインを逆接続した回路になってしまったということです。Vcc 3.3VとGPIOが短絡していて、GPIOをGNDに繋いだり、GPIOをOutput Lowレベルにすると電源とGNDがショートする危険な状態になっていました。そりゃあNMOSも焼けますよね。これは気づかなかったなあ……。

編集者:すずき(2024/04/12 11:00)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



2024年4月2日

KiCadが動かなくなったのでビルド

目次: Arduino

Debian Testingなマシンをapt-get upgradeしたところKiCadが動かなくなりました。正確に言うとアプリ自体は動作しますがフットプリントライブラリをロードするとエラーになります。


フットプリントのロードエラー

検索のために先頭のエラーメッセージのみ転記しておきます。

エラーメッセージの先頭部分
フットプリントのロード中にエラーが発生しました:
KiCad は現在使っているバージョンより新しいバージョンで作られたこのファイルを開くことができません。
このファイルを開くためには KiCad を 2024年01月08日 以降のバージョンにアップグレードする必要があります。
エラー文字列全文:
予期される 'locked, placed, tedit, tstamp, at, descr, tags, path, autoplace_cost90, autoplace_cost180, solder_mask_margin, solder_paste_margin, solder_paste_ratio, clearance, zone_connect, thermal_gap, attr, fp_text, fp_arc, fp_circle, fp_curve, fp_line, fp_poly, fp_rect, pad, zone, group, generator, version or model' ソース '/usr/share/kicad/footprints//Connector_HDMI.pretty/HDMI_A_Kycon_KDMIX-SL1-NS-WS-B15_VerticalRightAngle.kicad_mod', 行 4, オフセット 3.

パッケージを見るとKiCad(kicad)のバージョンが7.0.11なのに、フットプリントライブラリ(kicad-footprints)だけ8.0.1になっています。変ですねえ。

kicadとkicad-footprintsのバージョン
$ dpkg -l | egrep 'kicad |kicad-footprints '

ii  kicad                          7.0.11+dfsg-1        amd64        Electronic schematic and PCB design software
ii  kicad-footprints               8.0.1-1              all          Footprint symbols for KiCad's Pcbnew

放っておいてもそのうち是正されると思いますが、良い機会なのでKiCadを自分でビルドしてみたいと思います。

KiCadのビルド方法

Ubuntu 22.04でのビルド方法を示します。

KiCadのビルド方法
$ apt-get install git cmake gcc g++ ninja-build

$ apt-get install libglew-dev libcurl4-openssl-dev libcairo2-dev \
    libboost-dev libboost-locale-dev libboost-test-dev libboost-filesystem-dev \
    libharfbuzz-dev libprotobuf-dev protobuf-compiler swig \
    libpython3-dev python3-wxgtk4.0 libgtk-3-dev \
    libglm-dev libgit2-dev libngspice0-dev \
    libocct-draw-dev libocct-ocaf-dev libocct-visualization-dev \
    libocct-data-exchange-dev \
    wx3.0-headers libwxgtk3.0-gtk3-dev unixodbc-dev libsecret-1-dev

$ git clone https://gitlab.com/kicad/code/kicad
$ git reset --hard 7.0.1
$ git clone https://gitlab.com/kicad/libraries/kicad-footprints
$ git reset --hard 7.0.1
$ git clone https://gitlab.com/kicad/libraries/kicad-symbols
$ git reset --hard 7.0.1
$ git clone https://gitlab.com/kicad/libraries/kicad-packages3D
$ git reset --hard 7.0.1

$ cd kicad
$ cmake -G Ninja ./ -B build -DCMAKE_INSTALL_PREFIX="/path/to/kicad/___"
$ ninja -C build
$ ninja -C build install


#### footprintライブラリをインストール先のshare/kicad/footprintsにコピーする
#### フットプリントエディターで正しく部品がロードできればOK

$ cd ../
$ cp -a kicad-footprints /path/to/kicad/___/share/kicad/footprints


#### symbolsライブラリをインストール先のshare/kicad/symbolsにコピーする
#### シンボルエディターで正しく部品がロードできればOK

$ cd ../
$ cp -a kicad-symbols /path/to/kicad/___/share/kicad/symbols


#### symbolsライブラリをインストール先のshare/kicad/3dmodelsにコピーする
#### 3Dビューアーで部品が表示されればOK

$ cd ../
$ cp -a kicad-packages3D /path/to/kicad/___/share/kicad/3dmodels

Debian Testingの場合はKiCad 7.0.11を使うとよいです。wx3.0ではなくwx3.2であることと、一部パッケージ名が違う場合があります。

編集者:すずき(2024/04/12 11:00)

コメント一覧

  • コメントはありません。
open/close この記事にコメントする



link もっと前
2024年4月11日 >>> 2024年3月29日
link もっと後

管理用メニュー

link 記事を新規作成

<2024>
<<<04>>>
-123456
78910111213
14151617181920
21222324252627
282930----

最近のコメント5件

  • link 24年10月1日
    すずきさん (10/06 03:41)
    「xrdpで十分動作しているので、Wayl...」
  • link 24年10月1日
    hdkさん (10/03 19:05)
    「GNOMEをお使いでしたら今はWayla...」
  • link 24年10月1日
    すずきさん (10/03 10:12)
    「私は逆にVNCサーバーに繋ぐ使い方をした...」
  • link 24年10月1日
    hdkさん (10/03 08:30)
    「おー、面白いですね。xrdpはすでに立ち...」
  • link 14年6月13日
    2048player...さん (09/26 01:04)
    「最後に、この式を出すのに紙4枚(A4)も...」

最近の記事20件

  • link 24年10月31日
    すずき (11/04 15:17)
    「[DENSOの最終勤務日] 最終勤務日でした、入門カードや会社のPCを返却してきました。在籍期間はNSITEXE(品川のオフィ...」
  • link 22年7月8日
    すずき (11/02 20:34)
    「[マンガ紹介 - まとめリンク] 目次: マンガ紹介一覧が欲しくなったので作りました。5作品乙女ゲームの破滅フラグしかない悪役...」
  • link 24年10月30日
    すずき (11/02 20:33)
    「[マンガ紹介] 目次: マンガ紹介お気に入りのマンガ紹介シリーズ。最近完結した短めの作品を紹介します。マイナススキル持ち四人が...」
  • link 19年3月28日
    すずき (11/02 13:27)
    「[マンガ紹介] 目次: マンガ紹介お気に入りのマンガ紹介シリーズ。こわもてかわもて(全2巻、2019年)(アマゾンへのリンク)...」
  • link 21年6月20日
    すずき (11/02 13:22)
    「[読書一生分が93万円?] 目次: マンガ紹介書籍通販のhontoがこんなキャンペーンをやっています。honto読書一生分プレ...」
  • link 17年10月27日
    すずき (11/02 13:11)
    「[異世界&最強系漫画の種類] 目次: マンガ紹介少し前にアニメ化されて盛り上がって(おそらく負の方向に…)いた「...」
  • link 24年10月28日
    すずき (10/30 23:49)
    「[Linuxからリモートデスクトップ] 目次: Linux開発用のLinuxマシンの画面を見るにはいろいろな手段がありますが、...」
  • link 23年4月10日
    すずき (10/30 23:46)
    「[Linux - まとめリンク] 目次: Linux関係の深いまとめリンク。目次: RISC-V目次: ROCK64/ROCK...」
  • link 24年10月24日
    すずき (10/25 02:35)
    「[ONKYOからM-AUDIOのUSB DACへ] 目次: PCかれこれ10年以上(2013年3月16日の日記参照)活躍してく...」
  • link 24年7月25日
    すずき (10/25 02:24)
    「[OpenSBIを調べる - デバイスツリーの扱い(別方法)] 目次: LinuxOpenSBIのブート部分を調べます。Ope...」
  • link 24年8月7日
    すずき (10/25 02:23)
    「[Debian独自の挙動をするQEMUとbinfmt_misc] 目次: Linux前回はbinfmt_miscの使い方や動作...」
  • link 24年9月9日
    すずき (10/25 02:22)
    「[GDBの便利コマンド] 目次: LinuxGDBは便利ですが、少し使わないでいるとあっという間にコマンドを忘れます。便利&使...」
  • link 24年10月20日
    すずき (10/25 02:22)
    「[ゲームを買ったら遊びましょう2] 目次: ゲーム前回の振り返り(2022年5月13日の日記参照)から2年半経ちました。所持し...」
  • link 24年8月2日
    すずき (10/25 02:21)
    「[Debian on RISC-V] 目次: LinuxOpenSBI + Linuxの環境まで動いたので、次はLinuxのデ...」
  • link 24年8月6日
    すずき (10/25 02:21)
    「[他アーキテクチャ向けバイナリを実行する仕組みbinfmt_misc] 目次: LinuxRISC-V 64bit用の実行ファ...」
  • link 24年8月27日
    すずき (10/25 02:20)
    「[Milk-V Jupiterが届いた] 目次: RISC-VMilk-V Jupiterが届きました。お値段が非常に安かった...」
  • link 24年9月13日
    すずき (10/25 02:20)
    「[OpenSBIを調べる - OpenSBIとRISC-V ISA extensions] 目次: Linux今回はOpenS...」
  • link 24年10月11日
    すずき (10/25 02:19)
    「[企業のドメイン] 今の企業は公式サイトを持っていなほうが珍しいと思いますが、ドメイン名の使い方は各社でバラバラで面白いです。...」
  • link 24年10月21日
    すずき (10/25 02:18)
    「[OpenPilotを調べる - プロセス間通信msgqの仕組み] 目次: OpenPilot最近はOSSの運転支援ソフトウェ...」
  • link 24年10月6日
    すずき (10/25 02:11)
    「[OpenPilotを調べる - ビルドと実行] 目次: OpenPilot最近はOSSの運転支援ソフトウェアOpenPilo...」
link もっとみる

こんてんつ

open/close wiki
open/close Linux JM
open/close Java API

過去の日記

open/close 2002年
open/close 2003年
open/close 2004年
open/close 2005年
open/close 2006年
open/close 2007年
open/close 2008年
open/close 2009年
open/close 2010年
open/close 2011年
open/close 2012年
open/close 2013年
open/close 2014年
open/close 2015年
open/close 2016年
open/close 2017年
open/close 2018年
open/close 2019年
open/close 2020年
open/close 2021年
open/close 2022年
open/close 2023年
open/close 2024年
open/close 過去日記について

その他の情報

open/close アクセス統計
open/close サーバ一覧
open/close サイトの情報

合計:  counter total
本日:  counter today

link About www2.katsuster.net
RDFファイル RSS 1.0

最終更新: 11/04 15:17