Dropbox

小米のサブブランドである红米(Redmi)の最新(2020年3月末発表)かつ最強な端末であるK30 Pro Zoomを入手しました。細かいスペックは他のサイトに譲るとして、ここでは中国版K30 ProでGoogleサービスを使う方法について書いてみたいと思います。

一般的に中国国内で販売されているアンドロイド携帯電話は完全にGoogleのサービスとは切り離された状態で販売されています。それに対してどうしてもGoogleのサービスを使いたい中国在住外国人は一工夫してGoogle用のソフトウェアを導入してアクセスしていました。

ところが小米のハイエンドモデルには少し前からGoogleサービスを使用しするためのソフトウェアが最初から搭載されています。K30 Proにも当然のごとく搭載されています(K30には載ってないので注意です)ので、それを活用してみようということです。素直に動けばブログ記事にするまでもないのですが、上海の友人の協力もあり何とか使えるようになりましたので覚え書きとして書き残すことにしました。

[ 壁超え設定 ]
言うまでもなく中国国内から各種Googleサービスにアクセスするためには何かしらの壁超え手段が必要です。各自の方法によるので、ここでは説明はしません。

[ Basic Google Services ]
Google Services Frameworkは出荷時には稼働していません。まずこれを設定でオンにする必要があります。Settings/Accounts & sync/Basic Google Servicesです。以前の機種だとSettings/Apps/System app settingsにあったと思います。


上のキャプチャーはGoogelをオンにした後のものです。最初は”Google”という項目はなくて”Google Basic Services”だけが見えます。

[ Googleへのログイン ]
先のSettings/AccountsにGoogleアカウントの追加メニューが出来ますので、それでGoogleにログインすることが出来ます。

ここまでで電話帳の同期などは動き出します。

[ Play Storeの導入 ]
Play Storeは別途導入が必要です。Get Appsという小米のアプリストアが入っていますので、そこから導入すれば大丈夫です。

これで動くと思ったのですが、そんなに話は簡単ではありませんでした。実際には壁超え手段がProxyだけの場合は、ここまでの設定で大丈夫かもしれません。一般的なVPNの場合は追加の処置が必要となります。

[ おまじない 1 ]
Play Storeを動かしても画面がなかなか出てこなかったりDF-DFERH-01というエラーで止まったりします。これは同じ端末を日本に持っていった場合には問題ないと思われます。あくまで中国国内で使用している時には発生する現象です。詳しいことは書きませんが背景についてはここ(中国語ですけど)などを参照ください。

これを解決するためにはSettings/Connection & sharing/Private DNS/Private DNS provider hostnameに’1dot1dot1dot1.cloudflare-dns.com’を設定します。Cloudflare本家にも設定についての説明があります。

一度、エラーしてしまったPlay Storeは、さらなるおまじないを行わなければなりません。Settings/Apps/Manage appsでGoogle Play Storeを開きClear DataでClear All Dataを実行してください。

これでPlay Storeが開くようになります。ただしアプリの検索はできるもののダウンロードが出来ません。つぎのおまじないが必要です。

注意) Play Storeが正常に動き出したら、このおまじないは元に戻した方が良いでしょう。そのままでも使えるのですが、動作が遅くなるものがあるようです。

[ おまじない 2 ]
ファイルをダウンロードすると迅雷というダウンロードアクセラレータが動き出します。仕組みはよく知りませんが、これが悪さをしてPlay Storeのダウンロードが出来ません。中国国内のダウンロードには有効かも知れませんが、とりあえずオフにしておくのが良い気がします。これにはDownloads(下载)というアイコンを探します。その中にSettingsにXunlei download engineという項目があるのでオフにすれば良いです。

[ 同期項目の確認 ]
Settings/Account & sync/Google/で同期項目を確認します。おそらくContactは何もしなくても同期できると思います。GmailはGmailアプリの導入が必要です。またカレンダーの同期にはGoogleカレンダーアプリの導入が必要です。

[ 日本語ロケール ]
中国で販売されている小米携帯電話には言語の選択に日本語がありません。MoreLocal2の導入と設定が必要です。導入しただけでは動きません。設定には、
– adbというツールをパソコンで動かす必要があります。手順はGoogle等で検索するとたくさん見つかりますので、ここでは割愛します。
– adb実行時の方法については「小米 红米4高配版 Redmi 4 Prime レビューその4 正規ROMを焼いてみた」の後半部分を参照ください。

そろそろ室内もブラシレスだろうと手持ちの屋外用65mm 2Sブラシレス機を室内用に転用することにしました。転用の過程で色々と故障してパーツ交換したので元の機体とだいぶ変わりましたが、一番の目的は電源コネクターをBT2.0にすることでした。ついでに小型機で評判の良いEmuflightを試すことにもしました。

[ 機体スペック ]
– Beta65 Pro Frame
– HBSfpv F4 AIO + BT2.0 connector
– BetaFPV 0802 19500KV
– GEMFAN 1219-3
– BetaFPV Z02 AIO Camera 5.8G VTX
– Frsky XM
– BetaFPV BT2.0 260mAh 1S 30C

– JSEC 2.2 – 48khz PWM (early access)
– Emuflight 0.2.0 RC1
といった感じです。

もともと2S仕様の時はPH2.0コネクターを2つ付けていて1S,2S兼用だったのですが、1Sでは全く使い物になりませんでした。BT2.0ひとつで1Sにしたら狙い通りそこそこちゃんと飛べる室内機になりました。コネクターだけの問題ではなくてPH2.0仕様のBetaFPV 300mAhが今ひとつであったような気もします。

[ ESCファームウェア ]
自らテストはしていませんが、48KHzだと電池の持ちが良いという話しを聞いてJSECの48KHz版にしました。RPMフィルターは使用しないので無料配布の物です。最初、JazzMaverick版を試したのですが、電圧が低めの時にモーターの再起動時に回りださないモーターが(モーター固有の問題ではなくてランダムに発生)ありました。JSECも似たような事はありますが、頻度がだいぶ違う気がします。深くテストをしたわけではないので確定的な事は言えませんしESCハードウェアとの相性みたいなものか設定で回避する問題かも知れません。

[ Emuflight ]
一応、最初はBetaflightでテストしました。設定を追い込んでいけば飛ばしやすくなりそうでしたが、Emuflightの評判が良いので早々に切り替えました。導入したのは0.2.0 RC1です。正規リリースではないのですが、今のところ問題はありません。導入手順や設定はBetaflightとほぼ同じです。

IMUFフィルターとEmuBoostあたりがEmuflightのアドバンテージらしいですが、違いもわからないまま使用しています。

狭い自宅でAngleで飛ばしている分には既定値のPIDをベースに調整しても良い気もします。PID設定にいくつかのプリセットがあります、その中のTinyWhoop用を試してみました。しかしスロットルを上げていくと中程で振動が見られます。そのままではダメっぽいです。

[ Project Mockingbirdの適用 ]
Emuflightを試そうと思った理由のひとつがMockingbirdプロジェクトがEmuflightに移行する動きがみられることです。まだ正式リリースにはなっていないので公式ページには出てきていません。

プレスリリース版の設定がFacebookで公開されています。私が知る限りTinyhawk 1S ANGLE ONLYという設定とHappymodel Mobula6(MOCKULA6)設定が公開されています。

どちらもEmuflightの開発版0.2.15を前提としていますが、ファイル自体が公開されていません。そのため、わたしはEmuflight 0.2.0RC1を使用することとしました。Mockingbirdはdiffファイルで公開されています。もともと機種も違うことですし、すべてを使用せず”profile 0″の行から下を適用しました。Tinyhawk用、MOCKULA6ともに試してみました。どちらも問題ないですが、よりスペックの近いMOCKULA6でテストを続けています。カリカリっなYawレスポンスでANGLEレーサーを目指すには良い感じがします。

[ Rateprofile Settings ]
既定値のレート設定を見慣れている人は、ちょっと驚くような設定になっています。

わたしも最初は何か間違った値が設定されているのかと思いましたが、これはAngleモードで飛ばすのには理にかなったものになっています。AcroとAngleでのスティク操作に対する機体の挙動を考えてもらえば、その意味がわかると思います。基本的にはYAWのRC Rate(場合よってはSuper Rateも)だけ好みに合わせれば良いと思います。ROLLとPITCHのRC Rateを変更すると少しは挙動が変わりますが、大した意味はない気がします。

注意) このレート設定はAngleモード専用です。このままでAcroモードでは全く飛ばせません。Acroを併用する場合はAdjustmentsなどを利用してRateprofileの切り替えが必須となります。

最近VelocidroneのMicro DroneをAngleモードで飛ばしています。これのレート設定もMOCKLA6を真似てみたら良い感じになりました。

以下、テスト飛行の様子です。

かなり今更ですがBetaflight 4.1から導入されたVTX Tableって面倒ですね。実はしばらくDJI Digital FPV Systemばかり飛ばしていたのでVTX Tableとは無縁でした。DJIのゴーグルのアナログ環境の改善もありTinyWhoopの再設定を始めてVTX Tableに接することになりました。

単純にBetaflightを4.1以上に更新して以前の通りの設定をしてもSmartAudioによるVTXのコントロールが全く動きません。OSDメニューを開くと”PLEASE CONFIGURE VTXTABLE”とメッセージが出ています。

Betaflight ConfiguratorのVideo Transmitterのページを設定しないことにはSmartAudioが機能しません。

ややこしいことは抜きにして私の設定例を2つ紹介することにします。

1) BetaFPV A01 25-200mW 5.8G VTX
三角形をしていてBeta85Xのキャノピー内部に固定出来るVTXです。BetaFPVの製品ページのFAQにVTX Tableの設定ガイドへのリンクがあります。

このガイドに10ラインほどのCLIへのコマンドが書かれているので、それをBetaflight ConfiguratorのCLIに投入すれば動くようになります。このコマンドセットは汎用になっているようでA01 VTXには存在しない500mW, 800mWも定義されています。そのままでも問題ない気はしますが、一応VTX Tableの画面で”Number of power levels”を”2″に変更して25mW, 200mWだけにしました。

2) TBS UNIFY PRO NANO 5G8
こちらは製品ページに設定例が掲載されていません。そこでBetaflight公式のVTX Tablesのガイドに従います。このページのテーブルにjsonファイルのリンクがありますので適当なものを右クリックでjsonファイルとして保管します。TBS Unify Pro NanoはSmartAudion 2.0であると分かっていましたので”SmartAudio 2.0 (USA)”というのを使用しました。このファイルをBetaflight ConfiguratorのVideo TransmitterのページのLoad from fileボタンで読み込みます。ただし、このVTXの場合25mWと50mWの出力ですのでPower Levelsの部分は調整が必要です。調整後の画面は下の通りです。

まだ設定を行ってから十分に飛ばしこんでいません。もしなにかしら問題がありましたら、お知らせいただけると幸いです。

VTX Tableについての詳しい解説およびSmartAudioのバージョンを調べる方法については以下のビデオが詳しいです。

もともとVTXによって出力レベルの違いがよくわからないというのが問題点であったのに、随分と設定しづらくなったものです。

一部で話題になっているCaddx Vistaがやってきました。2020/01/10(金)に販売開始、すぐにオーダーして2020/01/13(月)に受け取りました。このあたりは中国在住が有利に働いています。

とにかく小さくて軽いので搭載できる機体の幅が広がります。値段は、思っていたよりは少し高いです。DJIのカメラが搭載されているから致し方ないのかもしれません。細かいスペックはメーカーのサイトを見ていただくとして、おもな特徴を列記しておきます。

– 20mmx20mmのネジ穴があるのでフレームに搭載しやすい。大きさも一般的な20mmx20mmのFCと同じです。ただし厚みがありますのでFCとは別に積むことになる場合が多いと思います。
– 29gと軽い(アンテナを含まず)、DJI Air Unitは45.8gなので16.8gも軽いです。3インチ機などでは、この差は大きいです。
– 6S対応。
– Vista側の配線ははんだ付けが必要です。
– 録画機能はありません。それを考えるともう少し安くても良いのではと思う。
– アンテナは一本です。
– カメラはDJIのものと同じようですが、ケーブルが少し短く(7cm)、むき出しの細いワイヤーが不安を感じます。
– Vista側のカメラケーブルが外れやすい。ケーブルを押さえる金具があるが十分な強さがない。一時的にボール紙を挟んでしのいでいます。

[ 設定 ]
取り扱いはDJIのものと全く同じです。VistaをサポートするためにDJI Assistant 2もファームウェアも更新されています。
– DJI Assistant 2 V2.0.2
– Firmware V01.00.03.00
例によってRCもゴーグルも全て同じレベルのファームウェアに更新します。アクティベーションおよびリンクの方法はDJIとまったく同じです。

[ ハック ]
わたしは必要としていませんが、Facebookのユーザーグループで質問が相次ぎましたので実験してみました。細かい手順は書きません。結論を言えばFCCハックもパワーハックもどちらも適用できました。
FCCハックはAir UnitのSDカードにあるファイルを置くことにより実現します。VistaにはSDカードがありませんので、ここが大きな疑問でした。実際にはVistaの電源を入れてUSBケーブルをPCに接続するとドライブが現れます。ここに、ハックのためのファイルを書き込むことが出来ます。(もともとDJIのAIR UNITも同じ方法でSDカードにアクセス出来ます)

[ テスト動画 ]
ゴーグルで見る画像はDJI純正品と全く変わりません。Vistaで録画出来ないのでゴーグルの画質を上げる設定でテスト飛行してみました。公開画像は安全範囲で飛ばしていますが、この遊歩道で少し離れると遅延がひどくなりました。距離は大したことはないですが、Crossfireのqualityも70%くらいに落ちるような状態なので仕方ないかもしれません。

[[ お試しになる時は十分に注意して自己責任でお願いします。私は、これではなく有料版の方ですが色々と弄っていてESC壊しました(T^T) ]]

Betaflight 4.1から使用できるようになったRPMフィルターは効率良くモーターからのノイズをジャイロデータから除去する有効な手段です。ところがBLHeli_32なら標準機能としてサポートされていますが、古いESCであるBLHeli_Sは標準でのサポートが無く有料ソフトJESCを購入する必要がありました。

それに加えて無料版が登場しました。これでTinyWhoop含めて我が家の全てのブラシレス機に気軽にRPMフィルターが適用出来ます。

以下のYouTubeビデオに詳細な解説がなされています。

ごく簡単に私の設定例も書いておきます。MacBookでの例です。

ファームウェアの導入はハードウェアに合うHEXファイルをダウンロードしてBLHeli Configuratorでフラッシュするだけなので難しくはありません。

[ ESCハードウェアの確認 ]

リポをつないだ機体をUSB接続しBLHeli Configuratorを立ち上げRead Setupを行うと上の画面が出ます。各ESCのタイトルラインにハードウェアの種類と現在のファームウェアバージョンが表示されています。この例ですとC-H-40, 16.7です。このC-H-40用のファームウェアをダウンロードします。

[ ファームウェアの入手 ]
https://github.com/JazzMaverick/BLHeli/tree/JazzMaverick-patch-1/BLHeli_S%20SiLabs

– 上のページにはバージョン毎のフォルダーが表示されています。私が試した時は”Hex files 16.74″が最新でした。
=> 追記) いま確認したら”16.76 48k”というのが出来ています。PWMが48KHzで稼働するもののようです。48KHzのメリットはきめ細かなコントロールですが、それに加えて小型機の飛行時間が伸びるという話しもあります。
– そのフォルダーに入ると拡張子HEXのファイルが多数並んでいます。この中からC-H-40に対応するものを探します。
– C_H_40_REV16_74.HEXというファイルをクリックするとファイルの中身が表示されます。
– 右上のRawボタンを右クリックして”リンク先を別名で保存”を実行します(Chromeでの例)。

[ ファームウェアのフラッシュ ]
再びBLHeli Configuratorに戻ります。
– もしESCの状態が表示されていなければRead Setupを押します。
– “FLASH FIRMWARE”を押す。
– “Select File Manually”を押し、上でダウンロードしたファイルを選択。
– これを各ESCに対して実行する。

以上でRPMフィルターを設定する準備が出来ました。RPMフィルターの設定例もYouTubeで沢山見つかると思いますので、自分に合うものを探します。私の設定例も以下に書いて起きます。最低限必要なことだけです。

[ BetaflightのRPMフィルター設定 ]

Betaflight 4.1以上が導入されていることが前提です。


RPMフィルターを有効にするための必須項目です。
– Gyro/PID Loopを共に4 KHzにする。
– ESC/Motor protocolをDSHOT300にする。
– Bidirectional DShotをオンにする。
– Motor polesを実際のモーターに合わせる。モーターベルに磁石がいくつ付いているかを実際に数えて、その数値を設定します。
– CLIにて”set scheduler_optimize_rate = ON”と”save”を実行する。


– Gyro RPM Filterがオンになっていることを確認。
– Dynamic Notch Filter/Dynamic Notch Width Percentを0にする。

[ 確認 ]

Betaflight ConfiguratorのMotorsタブを表示します。リポを接続していない場合はESCは稼働していませんので上のように各モーターの下に赤字で”E 100%”と表示されるのが正常です。


リポを接続しモーターを回転させてみます。R:のところに回転数が表示され、E:のエラーが0.00%ならば完成です。

おまけ。RPMフィルター適用後のテスト飛行。プロペラとかボロボロなので、ちゃんと飛ぶかどうかの確認くらいにしかなっていません。

DJI Digital FPV Systemのファームウェア v01.00.02.00の目玉のひとつはAV-IN、アナログ入力の改善です。画像のレーテンシーが劇的に改善し、DVRでのアナログ映像の録画が可能になりました(しかもFatsharkより良い録画になるらしい)。もう完全に実用レベルと言えます。それに加えて本体の改造を行うことなく受信機の取り付けが可能な安価なアダプターも見つかりました。もうこれは試すしかありません。

ところがゴーグルに接続しても何も表示されません。ノイズすら無いただの黒い画面のままです。アダプターが機能していることはテレビに接続して確認できました。

色々テストしてみると、どうみてもゴーグル側の問題です。分解してアナログ入力の導通までチェックしケーブルの再接続までしましたが解決しません。分解しながらリセットとかファームウェアの再導入も試そうと考えていました。その翌朝、Facebookのユーザーグループにv01.00.02.00に更新後にAV-INが使えなくなる現象はリセットを2回かけると直るという投稿がありました。わたしの場合はv01.00.02.00以前にはアナログ入力を試していなかったので分かりませんが、ファームウェア更新時の問題のようです。

リセットはゴーグルのメニューの

Settings->Device->Reset All

で行います。これを2回行う必要がありました。もしFacebookの投稿を見ていなかったら2回必要なことには、なかなか気づかず解決までの時間がさらに必要だったと思います。リセット後にAir Unitへは再リンクは必要ないですが、色々と設定が戻っているので見直しは必要です。

DJI FPV導入後はデジタルでばかり飛ばしていましたが、これでアナログの機体も復帰できます。

以前からBetaflight ConfiguratorのAdjustmentsページを利用してスイッチでRate Profileの切り替えを行っていました。ほぼディフォルトなものと強めのRateを切り替えています。Adjustmentsページの設定は今ひとつ分かりづらく、なんとなく設定してみたところ動いた設定方法を長らく踏襲してきました。

Betaflight 4.1にしてから、このスイッチによる切り替えがうまく行っていませんでした。検索してみると4.1RC5に対してissueとして取り上げられていました。

Adjustments broken in 4.1RC5 #8997

わたしの現象もこれに当てはまります。これはBetaflightの問題ではなく設定方法の問題でした。

自己流で設定した画面は次の通りでした。

これを次のように変更して目的の機能が働くようになりました。

いまだ、この設定がどういう意味なのかは分かっていません。が、これで3ポジション・スイッチでRate Profileの1/2/3が切り替わります。

DJI Digital FPV Systemで一番困っていたことは従来からのRC(送信機)を使用したときに電波の強さをあらわすRSSIが視覚的に確認できないことでした。これが最新ファームウェア(2019/12/02公開 v01.00.02.00)にて解決しました。もともと飛行中にゴーグルで視覚的に確認できる機体からの情報はバッテリー電圧くらいしかありませんでした。

新しいファームウェアにより一般的なOSD準拠の仕様が追加されました。DJI側はCustom OSDという設定をオンにするだけで、あとはBetaflightの標準的な方法でOSDを設定すれば良いです。

リリースノートによると合計で24個のOSDアイテムがサポートされているとのことです。24個は十分でしょう。ただし、表示できないアイテムがあります。わたしが気がついたものは以下の通りです。

Warnings
Timer 2
Link Quality
RSSI dBm value

これ以外にも各所で報告されている話によるとGPSで座標や衛星数は出せるがホームを表す矢印が出ないとのことでした。あと、アイテムの表示位置の設定もやや怪しいです。

WarningsとかGPSホームはすぐにでも対応してほしいところです。

前のバージョンからゴーグルでの録画にDJI独自のOSDが字幕として記録されるようになりましたが、これについてはCustom OSDは対応していないように思います。

DJI Digital FPV Systemについて色々と書いてきましたがゴーグルについて何も感想を書いていなかったことを思い出しました。かなり今更ではありますが思いついたことを書いておきます。

[ 光漏れ ]
なかなか顔にビッタリとフィットするゴーグルには出会ったことがありません。よく見ると隙間から外の光が見えていますが、わたしはまったく気にしたことはありません。

[ 電源コード ]
ゴーグル側のプラグは外れやすいです。ケーブルをストラップの金具の下を通せば飛行中に外れたことはありませんが、テーブルの上から持ち上げていざ飛ばそうとするときに外れてしまい再起動ということは何度かありました。


オンナノコズで有名な増田さんの真似をしてタイラップで固定しました。

[ メガネ ]
近眼なわたしはメガネを付けたままゴーグルを使用しています。概ね問題なしです。Fatsharkだと補正レンズは必要ですし、ゴーグル付ける前にどこかにメガネを保管しなければならなかったので、かなり便利になりました。
最近になってDJIストアで補正レンズの販売も始まりましたので、メガネをかけたままでは窮屈と思う人は補正レンズを別途購入するのもありです。

[ 画面 ]
画面が大きいのは有り難いです。Fatsharkの時は小さな窓から見ている感じでした。それでも飛ばすのに困ることはありませんでしたが、同じテレビを見るなら大型画面が快適なのと同じです。高解像度デジタル画像と相まって、いろいろなものが見えます。それでも、あちこちぶつかるのは腕のせいです。

[ 大きい ]
昔ながらのボックスゴーグルほどではないですが、やはり筐体が大きいです。ゴーグルを使用しない時に上にずらして頭の上に載せておきたいのですが、うまく行きません。仕方なくテーブルに置くのですが、バッテリーがポケットに入ったままで電源ケーブルを引っ張ってゴーグルをテーブルから落としたりしています。海外のビデオでFastsharkみたいに小さなバッテリーをストラップに付けているのを見かけるので、そのうち真似して見るかも。

DJI Digital FPV Systemのカメラを壊しました。レンズだけではなくてカメラのケースも割れてしまったので、最初はDJIにカメラを発注しましたが、一週間たっても発送されません。そうこうするうちにFacebookのユーザーグループで交換レンズについての投稿がありました。わたしの破損したカメラも筐体が割れているもののセンサーなどは無事です。ということで割れた筐体は瞬間接着剤とUVレジンでなんとかして、レンズを交換することにしました。

レンズの形状は一般的なものなので、ねじ込み部分がM12であれば使用できます。ただしFOVや物理的な大きさはレンズによって違います。

– Caddx: Special lens for turtle V2
手持ちのM12レンズであるCaddx Tutrtle用のガラスレンズを試してみました。

DJI Original Lens

DJI Original Lens

Caddx Turtle Glass Lens

Caddx Turtle Glass Lens

FOVがオリジナルよりかなり狭いです。飛行に関してはカメラにこだわりの無いワタシ的には問題なしですが撮影した動画の見た目が変わるのは少し気になります。

またレンズが長いのでオリジナルよりかなり飛び出した感じになります。緊急時に使う感じです。

Lens for RunCam Split Mini 2/Split 2S/Split 3 Micro
RH-22という型番のレンズが調子良いのではないかと聞いたので取り寄せてみました。FOVはわずかに狭いくらいで比べてみないと分からない程度です。

Runcam RH-22 lens

Runcam RH-22 lens


レンズも短いのでオリジナルとほぼ同じです。レンズにロック用のプラスチックリングが付属していますが、それを使うとピンとが出ません。仕方なくUVレジンで固定しています。この状態でバッテリー6本ほど飛ばしましたが問題ありませんでした。

RunCam RC18G FPV Super FOV Lens for DJI FPV camera, Phoenix and Swift 2
上のテストを行っている間に、なんとRumcam RC18GというSuper FOVレンズがDJIにも使えると表明されました。まだ入手していないのでレビューは出来ません、上のRH-22に問題があれば試すつもりです。

DJI FPV関連記事リンクはやめてサプカテゴリーDJI Digital FPV Systemを作りました。