全文検索サーバー Fess を使う

2020年春。いよいよリモートワークへのニーズが高まる。
リモートワーク時代を迎えるにあたり、めんどうでやってなかった IT関連の効率化でもやってみるか、ということで Fess。
ローカルな Google 検索をつくってみよう。

ファイルサーバの全文検索って随分昔からいろいろされてきた。
20年ぐらい前は namazu。
その後、Google はローカル向けの検索パッケージを配布していた時代があった。
そうこうしているうちに OS の検索システムが改善されたが、使い勝手はオマケレベルに留まる。
整理の悪いネタが集まり始めると探すのが大変。待ってらんないよ。
若い頃は奇跡のように深いフォルダからもファイル引っ張れたものだが。
いや、クラウドに上がれば利口な検索システム使える。
しかしお仕事のデータはそうもいかない方針もあるようで。
オンプレミス復権という話もある。
そこでややこしいことをしてファイルサーバに検索機能をつけようというのが今回の企画。
なんかこういうのが業務的に見ると無駄な作業のような。
まあ興味からくる趣味のようなものですが。
とまあ前置きはこれぐらいで。

オープンソース全文検索サーバー Fess
https://fess.codelibs.org/ja/
Elasticsearchを使った全文検索システム。
Elasticsearchの優秀さは今更いうまでもない。
Fess は機能リストを見てもらうとわかるが大変高機能。
WindowsでもLinuxでもOK。導入マニュアルもある。

zipファイルを解凍して動かす「お試しパターン」と、Elasticも別途準備する「がっちりパターン」がある。
Windowsのクライアントで使うのなら zip お試しパターンでよいのではないか。
しかしながら、今回は「がっちりパターン」をやってみたい。マジメに全文検索。
というのも、各種プラグインとかにバージョン依存とか、設定変更がある。
そのあたりがめんどくさくて放置していた。今回はそこら辺もやってみる。
入れるのはおなじみ ubuntu 18.04。
Windowsで使うにしても WSL つかって組んだ方がなにかとラクかも。

具体的なインストール方法はコチラ。
https://fess.codelibs.org/ja/13.6/install/index.html
java11が必要なので、OpenJDKの11(openjdk-11-jdk)を入れる。
kibanaが以前8でないとダメだったのが11でも動くようになってる。これからは11でよいだろう。
Elasiticsearchとkibanaのインストールは割愛。
Fess での利用については、プラグインのバージョン依存がある。
apt-source に Elasitc公式を追加してアップデートする運用より、debファイルをローカルに落として dpkg -i する運用のほうがシンプルかもね。
シングルノードで動かす細工は前に書いたのを参照のこと。
https://papalagi.org/blog/archives/437
Fess 本体はコチラ。ubuntu だと deb版。
https://fess.codelibs.org/ja/downloads.html
最新版を使うのだが、注意したいのは Elastic のバージョンと連動する。(しつこい)
あとはマニュアル通りすすめればよい。
「ガッチリサーバ」では別に入れた Elasticsearch を使うので「Elasticsearchクラスタの利用方法」までやること。
analysis-kuromoji-neologd のプラグインも入れたほうがよいかも。

Elasticsearch のプラグインを proxy 環境で入れる方法も書いておく。
javaベースなので、インストールプログラムが環境変数を参照するのだが、「”」で囲めつったり、いやいや「”」失くせつったり、それでも動かなかったりめんどくさい。
https://repo1.maven.org/maven2/org/codelibs/
ここから該当する zipファイルをローカルにダウンロードして手動で入れるのが確実。
マニュアルのプラグインのところをよーく見るとわかるが、Elastic のプラグインのバージョンが、必ずしも同じでないあたりに注意。(これめんどい・・)
ファイルの指定方法はこんな感じ。
$ sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install file:///home/papalagi/es_plugin/elasticsearch-analysis-fess-7.6.0.zip
あとはクローラーとかアレコレ仕込んで使ってみよう。便利だ!
Elastic が ARM で動かないから、ラズパイとかには仕込めないのが惜しい。
バージョンアップとか、バックアップとか、細かい使い勝手は試さないとわからないので、しばらく使っていこうと思う。

次は Webページが RDP とか VNC になる、Apache Guacamole とかやるかなー。
これもアレコレ組み上げる必要あってめんどくさい。
そもそも使うかな?(こうやってやらなくなるパターン)

あらためて「新型コロナウイルス」を知る

クルーズ船の対応状況を告発!とか、そういう話題も随分昔のように感じるけど、1ヶ月ぐらい前の話なんですね。
それから連日のテレビ放送から、なんか恐怖煽る系の展開からの買い占め騒動や転売騒動あったり。
コレぐらいまでは予想できたが、いよいよオリンピックだってどうなる?って展開だ。
「オーバーシュート」で「東京ロックダウン」なんて世界線は来るのか?
というタイミングで、「新型コロナウイルス」についてあらためて情報をまとめてみた。

まずは厚生省。
■新型コロナウイルス感染症について
https://www.mhlw.go.jp/stf/seisakunitsuite/bunya/0000164708_00001.html
この手の常としてわかりにくいが、まずは1次ソースなので読むしかない。

情報ソースとしての信頼はそこそこだが、とりあえず概要掴むには Wikipedia。なんだかんだで多岐に渡る。
■コロナウイルス
https://ja.wikipedia.org/wiki/コロナウイルス
外観がコロナ(太陽のアレ)に似ているからそう名付けられた。
コロナウイルス自体は1960年代に見つかったものなんですね。

■新型コロナウイルス感染症の流行 (2019年-)
https://ja.wikipedia.org/wiki/新型コロナウイルス感染症の流行 (2019年-)
あちこちの舌戦も含めて経緯がまとまっています。
中国からあがる情報はどうかなと思うけど、ココに来て急展開のアメリカもどうなんだろうね。

■【図表で見る】 新型コロナウイルスのパンデミック 広がりと対応
https://www.bbc.com/japanese/features-and-analysis-51992741
途中にある経過を示すグラフがわかりやすい。
人数がクローズアップされるが、あくまで判明した数字。
中国のように「無症状はカウント外」とか、検査しきれないなど差異があるので注意。

■山中伸弥による新型コロナウイルス情報発信
https://www.covid19-yamanaka.com/index.html
冷静に淡々とまとまっています。

■専門家会議の「クラスター対策」の解説 ――新型コロナウイルスに対処する最後の希望
https://note.com/kyoshimine/n/n6bf078a369f9
これものすごいわかりやすい。これは必読。
日本の対策がこのままうまくいくかわからないですが、統計による評価って重要。

一方これまでにない効果も得られている模様。
■大気汚染や温室効果ガスが激減
https://www.bbc.com/japanese/features-and-analysis-51970847
地球環境が改善。

■分裂のリビア 新型コロナウイルスで戦闘一時停止に同意
https://www3.nhk.or.jp/news/html/20200323/k10012344551000.html
戦争が止まる?

ものすごい歴史的な事件に立ち会っている。
ネットがあるから海外も含めた情報を自分で拾いにいけるが、これがネット普及以前だったらどんなことになっていただろうか。
テレビの報道だけを見ていると、比較にならないパニックが起こっていたかもしれない。
中国は余裕で情報封鎖できていただろうし、なんつうかネットあってよかった。

ふと「シンゴジラ」を見直した。
ゴジラという驚異の災厄がやってきて、なすすべなく破壊されまくるのですが、優秀な官僚のみなさんがコピー機でもって戦うお話。
ある意味コメディなのですが、あらためて今回見直して味わい深かった。
日本人的な展開は意外に有効なのかもしれないと思った次第。

DCL – The Game をやる

コロナで引きこもっていても罪悪感のない日々。
これまで PC の馬力が足りずやっていなかった、ドローンシミュレータをのそのそと始めた。
シミュレータもいろいろあるが基本苦行。
飽きずに楽しいのは「DCL – The Game」。
https://store.steampowered.com/app/964570/DCL__The_Game/?l=japanese
世界有数のドローン選手権、Drone Champions League の公式となっている。
ドライブゲームでいうと、グランツーリスモみたいな感じ。
ガッチリしすぎてなくスピード感があって楽しい。
ただものすごい疲れる。目が疲れる。なんか年を感じるぜ・・。
真下にダイブとか、実機じゃあまりやらないこともコースとしてあるので、そういう練習になる。
輪っかくぐりは、ほとんどやってこなかったので、これで練習になるかな。
まあコツコツ時間かけてやっていこうかなと思ってる。

実行環境について。
UE4ベースで、ガチの 3D ゲームほどではないが、そこそこの GPU が必要。
PS4とXBox版もリリースされているそうで、そっちがお手軽そうだが、コントローラにプロポが使えないので、そこはかなりのハンデだ。
最初コントローラー版でやったが、コレはかなりキツいだろうなと思った。
レバーを長くする加工とか頑張っている人もいるようだが、そもそもが違いすぎる感じ。
プロポの方も飛ばせる人は、それなりにエグめの設定しないと、逆に違和感あるかも。
HDMI出力でゴーグルにも映像を飛ばせて、それはそれでなかなか良い感じではあるが、画面のアスペクトが16:9決め打ちなので、ゴーグル側がそれに対応していないとダメ。
いちいちゴーグルつけてやるのも大変なんで、まあ普通に画面でいいんじゃねえ?リフレッシュレートとかあるし?という気になる。

あと「あるある」として、プロポのドライバが Windows Update でダメになる件。
ドライバを差替するのだけど、毎回どうだったっけ?ってなるのでココに貼っとく。
https://www.liftoff-game.com/sites/default/files/inline-files/Liftoff-Windows-10-Reinstall-Remote-USB-Driver_0.pdf
具体的には、ドライバを「BETTER_USB_HS」ではなく「HID入力デバイス」(説明文は英語版なので「USB Input Device」となっている)を選ぶ。
これは半年ごとにある Windows の大型アップデートで、プロポが libusb-win32devices として認識されてしまうため。
おそらく今度の4月にある大型アップデートでまた出るのではないか。

プロポで X-Lite Pro 使ってる人は少数派っぽい。
この手のPCシミュレータで使うには、場所とらないしUSB充電でやってる間に充電できるし、ベストなチョイスではなかろうか。
X-Lite Pro には前にボタンが2つ(SEとSF)ついてて、これをプロファイルに設定しておくと、「再スタート」と「リカバー」に割当可能になり、プロポを持ったままで延々飛ばすことができる。

ゲームとしてなかなかおもしろいが、やっぱり敷居高いかも。
コントローラーの問題が大きいと思う。
プロポ買ってきて、さらに使いこなせなくちゃいけない。
一般の人がそこまでやってプレイするかっていうと難しそうだし、そもそも環境がゲーミングPC。
まだまだマニアな世界だなあと思う。名前も検索性悪いし。
まあでもこれはおもしろい。

NVENCをWSLのubuntuから使う

念願の Geforce がやってきたので、GPU 使って高速にエンコできる。
いつもの ffmpeg もとても高速になるだろう。やったー。

でも WSL の ubuntu では GPU に対応していない。
なので、GPUをブン回すには Windowsバイナリを準備するしかない。
NVENC は Nvidia の拡張なので、それを組み込んだ ffmpeg を自前でビルドするのが基本。
WSL の ubuntu に Windows のビルド環境を作ってビルドする。(このあたりいよいよややこしい)
それが正道なのかもしれないが、バイナリ配ってくれている人いた。ありがてえありがてえ。
https://ffmpeg.zeranoe.com/builds/
「Windows-64bit」の「Static」のままでよいのでダウンロード。
解凍すると中にいくつかのフォルダがあるが、とりあえず用があるのは「/bin/ffmpeg.exe」だ。
これを実行しやすいところに配置する。
あとは Powershell から「-vcodec h264_nvenc」とか「-vcodec hevc_nvenc」とかオプションを使うと使える。

でも Powershell 特有の細かい方言が気になる。使い分けるのめんどくさい。
そんなあなたに朗報。
なんと実は WSL の ubuntu から exe ファイルが実行できる。
「なにをイマサラ」と言われる向きもあるかと思うが、Linux を長年使ってきてるとそうした変化も知り得ない。
これがあったので、Windows に帰るかって気にもなったのだけど。
Windows バイナリを動かす場合は当たり前だが、ちゃんと「.exe」まで記述する。
いっそ alias で割り当てちゃってもいいと思う。
前にも書いたが「/mnt/c/」で「c:\」につながる。
もちろんコレに限らず python とか、GPU連携するヤツも使うことができる。

ということで、エンコ速度が感覚的に5倍ぐらいアップした。
CPU のリソースが上限張り付きにならなくなるので、他の作業も並行して進めやすくなった。

今回のゲーミング買うまでは Jetson nano に nvmpi 組んだ ffmpeg とかと組み合わせながら、なんとかしのいでいた。
Jetson nano も侮れない使えるレベルで、とりあえず安価に底上げするならコレもありかもしれない。
やり方はココ。こっちは素直にビルドしかない。
https://github.com/jocover/jetson-ffmpeg
でも1台でチャッチャとできるのは全然ラク。

「コロナで引き篭る」を活用する

昨日の散財ネタに反応多し。

あれは流行りのコロナ対策なんですよ。
おウチに引き籠もる準備なのです。だから今なのです。さあみんなも買おう!
ということで、私視点から見た引き篭もりネタを並べてみた。

■Davinci Resolve の公式マニュアル
https://www.blackmagicdesign.com/jp/products/davinciresolve/training
懇切丁寧すぎる。とりあえずビギナー編をやっとけば困らないと思う。
これまでこういうのやってこなかったので。個人的に重点項目。

■Unity のチュートリアル
https://store.unity.com/ja#plans-individual
こういう統合開発環境は苦手なんだけど。
とりあえずチュートリアルなぞって雰囲気ぐらい掴んでおくか。
FPSとかマリカーのようなサンプルで学習できます。

■Progate の無料プラン
https://prog-8.com/
プログラムとかそういうの。学校教育になかった世代はツライっすよね。
今回の騒ぎでは「無料開放!」とはなってないようだけど、基礎18講座は無料で一般常識レベルには十分。
さらに進むとしても980円/月なので、動けない期間に集中してやるもよし。

■Sketchup for Web
https://www.sketchup.com/ja/products/sketchup-for-web
Sketchup はかつて、Google がタダでばら撒いていた建築向け3D CAD。
最近は業務向けは有料になったりしていましたが、フリーで使える Web 版が登場。
とにかくスケッチアップは手軽なのがポイントなので、これは使いこなせるようにしておくといいと思う。
オヤジ殿が木工作にハマっているのだが、これで寸法出しするとスゲエラクと絶賛しておりました。
このあとに出てくる Fusion360 と比較すると、曲線とかが苦手なのだけど、その分四角いものはホント簡単。
入門ページもたくさんあるので、使えるようになってて損はないと思う。
業務にも使える Pro は700ドルぐらいの買い切りだったけど、年299ドルのサブスクリプションに移行したのかー。

■Fusion360 の公式セミナー
https://www.autodesk.co.jp/campaigns/design-now/online-seminar
3Dプリンタでおなじみの Autodesk 製 3D CAD。
高性能で多機能すぎるぐらいガチなシロモノですが、個人利用は無償。
これ DWG も出力できるので、地味に 2D CAD としても優秀かもしれず。
(DWG は年代の互換性で時折ハマる)
他にもたくさん入門ページあるけど、なにか目標決めてやったほうがいいのかもしれない。
漠然とやるとつまらない。

■5.8GHz VTX の無線局申請(新規/追加)をする
これはチャットツールみたいので個別対応とかですかね。
先週末やっていたのですが、心なしか JARD の対応が早い気がする。
アレですかね、コロナで講習関係が止まってて手が空いてるんですかね。
狙い目かもしれないですね。

■Arduinoとかラズパイとか
これもオススメなんだけど、なんかこうサッとやれるのない。
細かい道具とか多いし、実施する環境つくりが必要だからかも。
加えて見た目地味だしな。とっつきにくいかもな。
子供に教えるってのも、親が詳しい人限定になってる気がする。
なんだけど、どこかで身につけたほうがよいスキル。

■ドローンシミュレータをする
おっさんは集中力が長持ちしないです。
VelociDrone でユーザのコース作りとかも活発になってきた。

■ハンダの練習をする
「ハンダ・セラピー」という言葉があるぐらいですから。
オライリーの背表紙に「心が落ち着く」と書いてあるぐらいですから。
https://www.oreilly.co.jp/books/9784873118529/
私は中学生ぐらいからの経験のみので、超我流。
一回ちゃんと勉強してみるかという気にもなっている。

■ファームをビルドとかする
WSL の ubuntu 使ってクロスコンパイル環境を準備して Betaflight や iNav のファームビルドするのは紹介した。
あれの応用。
ウチの界隈で TS-80 とか TS-100 とかのモバイルはんだコテが人気。
STM32がついてるプログラマブルモデル。
構造的にはコテの比熱が少なそうだけど、プログラム制御でいい感じとか。
出先でちょっと使うのにちょっとそそる。
USB Type-C で、QC3.0とか使える TS-80 が便利なようです。
まーまー高いんで持ってない。コテ先も揃えたくなっちゃうしな。
そんな TS-80 のカスタムファームが作れるのがコチラ。
https://github.com/Ralim/ts100
dockerで同じように ARM の tool chain 使ってビルド可能な模様。
「はんだゴテをカスタム」って字面がそそらないですか。

■その他、映画とかマンガとか本とか音楽とか
見渡すとたくさんあるよね。ホントいい時代になった。

まだまだ並びそうで、正直なところあまり退屈はしないなーと思う。
そもそも引き篭もってないしな。

8年ぶりにWindowsマシンを買う

Windows を買う日が再び来るとわ。

最近はスマホもあるし、家庭においていわゆるパソコンのニーズは下がっている。
我が家はほぼ Chromebook ですよ。
それでも時折、どーしても Windows でないとダメな用途が発生する。
なんかヘンテコなデバイスのファームアップとか。
その時のために2012年に買った Thinkpad X1carbon(初代)を大事に使ってきた。
壊れたら次買わなくちゃいけない。次買うの思いつかない。
一度はデカいアップデートで刺さって起動しなくなった。
諦めてクリーンインストールをしていた時にホント思った。
「立ち上がらなかったら心底めんどくさいな」と。
まあその時は立ち上がったワケですが。

そうやってなんとかしのいで来たが、ここに来て限界が。
動画編集とドローンシミュレータはいかんともし難い。
試しに VelociDrone 入れたら、文字読めないぐらい解像度落としてなんとか。
CPUファンがけたたましく回り、こんな季節なのに机はホカホカだ。
今のスマホにスペック負けるレベル(IvyBridge の i5 1.4GHz に 8GBメモリ)だし。
老体にムチ打つのは心苦しい。そんなことしなくてもいい用途で余生を過ごさせたい。

ということで、ゴリゴリのゲーミングノートを買った。
カテゴリとしては、かなり無理目な設計のニッチな製品で、できれば避けて通りたかった。
いろいろ調べまくった結果、ASUS の ROG Zephyrus S GX502GV をチョイス。
久々にアキバの店頭で事情を話しつつ根切って「この値段は他店に持っていかないでください!この場で判断してください!」というのを久々に体験した。
支払いの時には変な汗がでるほど高い。
ドローン沼がどこまでも深い。

ギラギラとまたたくキーボード。ものすごい排気音。
鈍器になるレベルのバカでかいアダプタ。
Macbook と真逆な方向だが、端子の類は豊富で使い勝手がよい。

daVinci Resolve とか ffmpeg とか VelociDrone とか DCL とか Fusion360 とか Insta360Studio の利用を想定。
WSL で ubuntu が使えるようになったのもかなり大きな加算ポイント。
CUDAあるのでついに SfM も動くなあ。

メモリ 32GB は、今後を見越したらコレぐらいほしい。(買う時は最大載せる派)
ストライプセットな SSD は、そんなに速くはなかった。
どーしてもリアルタイムレイトレーシングをやってみたかったので RTX2060。
32GBとRTXは外せなかったので、そうするとみんな似た値段帯。
そうすると、全方位抜け目なくまとまったコレかな。

そしてなぜかリュックがオマケについてくる。
こういうのなくていいから安くしてくれればいいのに。そのせいで箱がでかい。
4000円ぐらいで売られている色違いのもの?らしい。
無難な黒のリュックで、まあつかえないことはないが、ドローン用途には内容量少ない。
メルカリで高値がつかないかとか真に願う。

ということで、まずは大事大事に使うよ。
ケースに入れて、キーボードの横に飲み物おかないように。
PCスペックを理由に進まなかったところにもガンガン進みますか。

Oneplus7T をチョウナンが買った

もうすぐ Oneplus8 のウワサもあるけど。

チョウナンが Oneplus3T を 7T に更新した。
3年ぐらい前にチョウナンが Oneplus3T を買って、それを見て完成度の高さにおののき、そこから3台 Oneplus になった。
そろそろ 8 の話が聞こえてくる時期だが、円高とか最終在庫とか見つつ、この時期を選んだようだ。
父の Oneplus7 Pro も、じーっと見て 7T がベストと判断した模様。
オレもそう思う。
正直なところ、富士額はそれほど弱点でない。
液晶がラウンドしてなく、顔認証もそのまま使える 7T が正解。
イヤホンジャックがなくなったのは困った。
Shure の BT2 にするか USB-DAC にするか。

さて、どこで買うか。
アフィリエイターがたくさんいて、20台限定お得クーポンとか出している。
連日煽る煽る。
だけど彼らは残念ながら業者の回し者なので、あまりアテにならない。
仕様違いで不具合あっても隠して売りたいだけの人達もいる。
加えて中国から輸入もコロナで動いたり動かなかったり。
そういう面倒に巻き込まれない、最近一番無難なのがアマゾン。
香港からすごい速さで届くので、最近はアマゾンでいいんじゃないかと思う。

スマホ輸入するのにもいい時代になったなと思う。

amazarashiの新作「ボイコット」出るぜ

見える人にだけ見える光だ / 陰こそ唯一光の理解者

amazarashi のニューアルバム「ボイコット」が 3/11 出ますよ。
http://www.amazarashi.com/boycott/
阿部共実とのコラボになる「月曜日」。

ライブでしかなかった「夕日旅立ち」。
ターニングポイント「未来になれなかったあの夜に」。

amazarashi は原点となる「光、再考」から「光と影」をテーマに曲を書いてきた。
メジャーなところだと「命にふさわしい」。
スタイリッシュなデストピア感あふれる「ニーア・オートマタ」において、妙に泥臭いタイトルと歌詞。

ここでも「光と影」は最後に繰り返される。
「未来になれなかったあの夜に」は、そのアンサーソングとも言える。
ラジオで少しずつ新曲流されているのだが、期待通りの amazarashi だ。

最近ライブでやってる「ロングホープフィリア」のセルフカバーがないのは残念。

緑黄色社会の「空に歌えば」のカバーもよい。

「amazarashi は誰かにお勧めされて聴くのではなく、どん底で出会う瞬間があって、それが一番必要としているタイミングだ」
とあったが、ホントにそのとおりで、マジで近年まれに見るハマり具合である。

業務VTXの技適とれるかな

がんばったっけど道半ば。
このあたりで公開するので知恵を募りたい。
TBSつながりで、Tango2 もいいけど業務VTXもね。長いぞ!

■とりあえず思うとこ(この項の最終行以外、読み飛ばし推奨)
FPV をする際に使う 5.8GHZ VTXを取り巻く問題はずっとあった。
アマ4取って、系統図まとめて、無線局の申請して。
業務で使うなら業務VTX買って、業務無線局に JUTM 登録。
「業務」の解釈で、度々守ったの守らないのと論争になったり、様々な緩和への取組とか、みんなの正義があるが、全体はなかなか進んでいかない。
大した出力じゃないので、もう自由に使えでいいじゃん、と思うが、おそらく ETC2.0 なんつう安全に関わるシカケがこの周波数帯にいるのがダメなんだろうな。
なんでクリティカルな要素をこんなあたりに置くかな・・と思う。
高速道路だけならよかったが、最近は一部の駐車場システムにも使われるようになっているらしい。
社会インフラになっただけに、他に行くのは相当難しそうだ。
業務向けには JUTM のような団体が、なんとかまとめてきた。
そんなアレコレ利用状況を管理しているあたりに、アマチュアは勝手に使う。
このシカケを俯瞰すると、いろいろムリがある。
商売のため囲い込みたい層もあれば、公共の利益のためにという御旗の元に自由に使いたい思惑もあったり。
正直思うのは「こんなもんごときで」だ。
まあなにが正しいかわからんが、業務VTXが「非常に高価」であるところも問題のひとつ。
できることを考える。

技適を取ってなんとか安くできないかな、ともがいてみた。

■法律はどうなっているか
https://www.tele.soumu.go.jp/j/sys/others/drone/
ウチで繰り返し出て来るこのページ。
5.8GHz VTX は「無人移動体画像伝送システム」(以下72号)になる。
5650MHz 〜 5755MHz の 20MHzシステムってあたり。
https://ja.wikipedia.org/wiki/無人移動体画像伝送システム
Wikipediaのページできてたよ。5.8GHzに限らないところもポイント。
電波法に「互いに調整するように」というところがあり、それを JUTM の登録システムで行うという仕立てになっている。
運用には業務局と資格者(3陸特以上)が必要。
あまり利用例を聞かないが、主任無線従事者制度を使って無免許者が使うこともできるだろう。

■業務VTXとはなにか
今回はアナログVTXに限定。
販売されている唯一ともいえる製品はボーダックのもの。
・HN10T
https://boduk.shop-pro.jp/?pid=131837396
他にも出力で何種類かある。
まさに先駆者といえるすごい製品だが、あとに続くのが出てこない。
わかる人にはわかる、すごく丁寧な説明文があるので一読しよう。
ポイントは「5745MHzはアマチュアのA7とかぶっている」というところと下記。
 3.電波形式  19M7F3F
 4.占有周波数帯域幅  19.7MHz以下
 6.定格出力電力  10mW  周波数偏差  20ppm以下
系統図書いた人はわかると思うが、通常の 5.8GHz VTX は「F8W」という電波になる。
これは映像と音声が混在しているという電波。
https://www.jarl.org/Japanese/A_Shiryo/A-3_Band_Plan/denpakeishiki-new.htm
これのステレオ音声部分をカットし、帯域を狭く加工したのが「F3F」。
このあたりは「あの」戸澤さんのページに詳細に説明されている。
http://ja7cme.tonosama.jp/#ナローバンドの5.8GHz帯FPV
非常に細かい加工をして、専有帯域を減らすようにしているワケだ。
これでボーダックVTXは5波運用できるようにしてある。
出力10mWがよくわからず、当初は特小を狙ったのかそれ以外の理由があったのかわからない。
この手の製品に必ず使われる Richwave社の RTC6705 は標準出力 25mW なので、なんかあるのかもしれない。
唯一販売されている業務VTXはこういう製品なのだ。

■他に例はないのか
これはそもそも「やってみるかな」となったキッカケ。
大阪のドローンアーキテクチャという会社が、TBS Nano32 で72号が通過という話を聞く。
https://www.tele.soumu.go.jp/giteki/SearchServlet?pageID=jk01&NUM=&NAM=&FOM=&PC=&YAR_FROM=&MON_FROM=&DAY_FROM=&YAR_TO=&MON_TO=&DAY_TO=&RAD=02-72-00-00&TEC=1&TEC=2&TEC=3&TEC=4&TEC=5&TEC=6&TEC=7&SK=0&DC=0&SC=1&as_fid=567625e6482b664c4c26463f96780d1d6345986e#searchlist
アマチュアと共有できる 5745MHz にチャンネルを固定することで「F8W」で登録するというアイデア。
つまりチャンネル変更しない。実際のところ業務で複数同時運用の人がレアだ。
これはボタンを操作できないようにすることでも可能だし、すごいがんばるなら VTX のファームを書き換える方法もある。
https://diskenji.wicurio.com/index.php?VTX
その他にも大阪のFunFunさんで、BETA75XHD が売られているとかある。
気になるのは、機体とセットで登録なの?ってところだが、このアイデアを元にすすめてみた。

■技適はどうやってすすめるか
「72号」ではないけど、一般的な技適のとり方が Cerevo にまとまっている。
https://tech-blog.cerevo.com/archives/725/
BTだと今は試験申請一発なんだよな・・時代はちょっとだけ進んだようだ。ポイントは技適には個別と設計承認がある。
https://www.telec.or.jp/services/tech/offer.html
製造会社ではないので、今回の場合は無線機持ち込みの個別となる。
費用はコチラ。抜き取り試験数の兼ね合いから、数が多ければ多いほど単価は落ちていく。
https://www.telec.or.jp/services/tech/price.html
企業でやる場合は、いちおう事前に全数通過することを確認するのが一般的な模様。

■申請書類を作成する
どの VTX にするかという話だが、そこら辺の安物はダメだった。
最終的に TBS の Nano32 を採用。
3つぐらいをスペアナで確認してみたが、製品品質は安定していた。


申請時にVTXむき出しはダメで、なんらかのカバーとシリアル番号の割り振りが必要。
それだと MMCX の Race の方がいいのかもと思ったが、駆動電圧の関係から汎用性の高い Nano32 を採用。
このあたりの内容と必要な書類を集め、申請書を作成し、TELEC まで持っていって「これなら受け付けられます」まで進んだ。
ココで止まって半年になってしまった。

■なにが足りないか
足りてないのは2点。

1点目。
TBS の Nano32 はアマチュア無線での利用してるといっても、認定機関にお願いして動かしているものなので、実際どんな電波が出ているかわからないが、と先に断りつつ。
アマチュア無線機器と第72号適合に向けた仕様の差異はコチラ。(アマチュア無線に対し72号)

周波数の許容偏差:±500×10^-6 に対し、±20×10^-6
不要発射の強度の許容値:100μW に対し、3μW
空中線電力:+20%下限なしに対し、±50% 1W以下
隣接チャンネル漏洩電力:規定なしに対し、-25dBc〜−40dBc(詳細割愛)

もちろん他にもある基準に入っていることを確認することが必要だが、主な差異はこのあたり。
コレに入っていることを事前に確認する必要がある。

2点目。
実際の試験にあたり、抜き取りした試験体に対し、実際それに適合しているのを目の前で見せる必要がある。
この際に、測定機器を扱って「はい!」とやる技術がない。(場所と機器はレンタルできるが道具を使いこなせない)
加えて、この試験には、出力を最大にするとか、特定の出力を出すとかが必要で、それを行う裏コマンドが必要。
裏コマンドがあるかどうかはわからんが、一般的にはあるらしい。
一般のユーザであるところが知り得ないところではある。
Richwaveの人が見てたら教えて欲しい。(いないと思う)
この2つが埋まらず、現在に至っている。

いくつかコンサルさんも紹介してもらってあたったが、ムリであった。

■思うところ
そもそもこのアプローチでよいのか。
ボーダックさんの取得は、個別から最近設計承認に移ったのか。
個別だとどうやっても承認まで時間がかかる。

関西方面で取っているのは機体がセットで、我々の進め方と違うかもしれない。
近畿無線局が管轄で、そこに問い合わせれば教えてもらえるというウワサもあるが、ちょっとチャンスがなくできていない。(協力者希望)

他にも FAI のドローンレースで 4波運用した特殊な手法とかもあって、お金を積めば手段はいろいろあるが、そもそものスタートが「安価」というところなので、実現可能な方法でありたい。

時代も進んだし、いろんなものがオープンになって議論できるといいなと思う次第です。
前へ進もう。

Betaflight カスタムファームを作るよ

そろそろカスタムファームをビルドする時期に来たようだ。

ドローンのフライトコントローラ(FC)は、STM32 のマイコンがベースになっている。
電子工作でおなじみの ESP32 とかと似てる ARM ベースのマイコン。
Cで書かれているので、それをコンパイルできる環境があればよい。
今回は Windows の WSL を使って、Ubuntu を使った環境の作り方をまとめてみたよ。

WSL をつかって Linux をインストールする方法はコチラを参照。
https://www.atmarkit.co.jp/ait/articles/1608/08/news039.html
前回の記事にあるとおり、Ubuntu18.04LTS が無難じゃないでしょうか。
今回は 18.04 で進めましょう。記事にあることを全部やる必要はなし。
インストールが終わって立ち上がったら、最初にユーザとパスワードの設定を求められるのでテキトウに設定。
あとは下記のコマンド打っていく。
なお Ubuntu 実行窓は、右クリックでペーストできる。

$ sudo apt update
$ sudo apt upgrade

これはパッケージを最新にするもので、ubuntu でなんかするときは、おまじないのように実行する。
パッケージが新しくなって動かないものが出たりもあるけど、まあやっとけ。
提供されているイメージが古いせいか、今やると142パッケージがアップデートされた。
まーまー時間かかる。
続いてコンパイルに必要なグッズを入れる。
git とか gcc とか make とか。

$ sudo apt install git gcc build-essential

Windows は x86-64 ベースなので、ARMのクロスコンパイル環境を入れる。

$ sudo apt install gcc-arm-none-eabi

あと Ruby も使うようなので、ココで入れておきましょう。

$ sudo apt install ruby

最後にインストールに使った一時ファイルを削除しておきましょう。

$ sudo apt clean

さて実際にビルドしてみましょう。
Betaflight のソースツリーを git で引っ張ります。

$ git clone https://github.com/betaflight/betaflight

iNav の場合はこんな感じ。

$ git clone https://github.com/iNavFlight/inav

各フォルダに入って。(cd betaflight とか cd inav とか)
まずは最初に一発。これは1回やればOKだと思う。

$ make arm_sdk_install

そしていよいよビルドです。FCがどのソースを使うのかは「make/targets.mk」で確認。8グループある。

$ make TARGET=ボードの名前(MATEKF405とか)

これでゴリゴリ作り始めます。作り直すときはこの並びで clean する。

$ make clean TARGET=MATEKF405

最終的に「ボードの名前.hex」というのが obj の下に出来上がって、これを DFU からローカルファイルで焼き付ければOKです。
なお 「/mnt/c/」が「c:\」になってます。

さあ、これでカスタムした、世界にたったひとつのオリジナルなファームが作れます。
なんかどこかのメーカーのファームが詐称をしてどう、みたいな話もありましたが、こういうので適正にするのもアリですね。

今回はユーザが多い Windows の説明でしたが、ChromeOS の crostini でもできます。前から言ってますが、むしろ Betaflight とかはChromeOS トラブルなくてよい。クロスコンパイル前提っぽくARMベースのやつはダメみたいっす。