Computer

驚異的パワーのRaspberryPi5
RaspberryPi 2Bの頃から、数
古いPCに Windows11 をインス
この記事の内容は、2023年8月時点での
気がつくと低価格の EasyThreed
増える一方の書籍の保存場所に困り、技術書
RaspberryPi ( Raspbe
RaspberryPi のシリーズとして
DJI Tello で小型のドローン飛ば

RaspberryPi5で構築する「自分だけのAI」:ollamaとDify

RaspberryPi5にNVMe SSDを装着すると、これまでのRaspberryPiでは体験できなかったパワフルな処理性能が得られます。このパワーを活かして、ローカル環境で動作するAIシステムを構築してみましょう。ローカルAIを使えば外部ネットワークと接続せず、機密情報を含むやり取りにも適しています。

今回は、Meta社がオープンソースで提供しているAIプラットフォーム「Ollama」をRaspberryPi で動かします。

はじめに 注意書き

RaspberryPi 5 は GPU を詰んでいません。
そのため、ここで作る環境は非常に実験的なものです。

しかし、自分に合っているかどうかを確認もせずに、高価なGPUへの投資や環境構築をするのにはためらいも出てきます。
RaspberryPi5 は、安価でかつ最低限の設備で ローカルAI の環境を構築できます。
ローカルで動作する「自分だけの生成AI」を、最初に楽しむには十分だと思います。

なぜローカルAIを作るのか?

なぜローカルの環境で生成AIを動かしていくのか?
現在ではホスティングしている生成AIなどは多くあり、わざわざ自前でハードウェアを準備しOSからエンジンをインストールして、生成AIを使用するメリットはなさそうに感じます。

しかし、実際ビジネスで運用することを考えるとローカルAIという環境は非常に便利に使える方法です。

クラウドの商業AI における悲劇

クラウドのAI(ChatGPTやGeminiなど)は、費用を払うことで用意された環境で簡単に手早く生成AIを利用することができます。

これはクラウドの商業AIの大きなメリットです。
しかし、同時にクラウドのAIサービスならではの問題も発生します。

  • クラウドのAIの悲劇 : 揺らぎやすいクラウドAI
    クラウドの商業AIではサービス提供者の事情によって結果が変わる
  • クラウドのAIの悲劇 : 無法地帯で機密を叫ぶ
    扱うデータの機密性を保ちにくい
  • クラウドのAIの悲劇 : 幻影(ハルシネーション)との戦い
    幻覚(ハルシネーション)の混入の可能性が大きい
  • クラウドのAIの悲劇 : バージョンアップとの戦い
    提供業者の稼動状態に依存しチューニングが安定しない。使っていた生成AIがサービス停止になるキケンもある

これはホビー目的の個人でも当てはまることが多く、そのため今回は RaspberryPi5 でローカルAIを構築することにしました。

ローカルAIとして構築するのは、 Meta社がオープンソースで公開している Ollama を使用します。

ollama
Ollamaは、Llama 3.2やMistralなどの最新の大規模言語モデル(LLM)を簡単に導入・カスタマイズできるプラットフォームです。macOS、Linux、Windowsで利用でき、初心者から上級者までがLLMを活用できる柔軟な環境を提供しています。さらに、GPUだけでなく、CPUとメモリのみでも動作可能です。

RaspberryPi 5 ローカルAI : ollama

以下の手順でRaspberryPi5上にOllamaをセットアップし、実際にモデルを動かしてみましょう。

1. ディレクトリ作成と構成ファイルの準備

まず、必要なディレクトリを作成し、docker-compose.yamlを設定します。

docker-compose.yaml の内容は以下の通りです。

2. Ollamaの起動

docker-compose.yaml を作成したら、次の docker compose コマンドで ollama を起動します。

ollama で色々な操作をしますので、ollama に接続するシェルスクリプトを作っておきます。

スクリプトに実行権限を付与します。

ollama が起動したら、ollama の シェル( bash )に接続して利用していきます。

3. Llama 3.2 3Bモデルの導入と使用

今の ollama は、基本のシステムが動いているだけで、AI(LLM)がありません。
今回は 小型で軽量な Llama 3.2 3B を使用してみます。

LLMを使用するには、 ollama run llama3.2 で Llama3.2 をダウンロードして実行します。
LLMは、大きなイメージですので 回線の速度によって時間がかかります。

Llama3.2 3B のロードが終わったら、プロンプトが表示されますので、質問を記述してみます。

予定の無い週末に有意義に過ごす方法を提案してください。

一般的な回答で面白みはありませんが、大きく間違った情報でもありません。
また、指定しなくても Llama3.2 3B が 日本語で 回答を返しているのを確認しました。

古いLLMやChatGPTもバージョンが古い記事には「日本語で回答」などをプロンプトに追加すると書いてあることがありますが、 Llama3.2 3Bでは、入力したプロンプトにしたがって言語を選択しているようです。

4. Google Gemma2の導入

次に、GoogleのオープンソースLLM「Gemma 2」の軽量版も追加します。

このまま ollama run gemma2:2b を実行すれば、ollamaのコンソールでチャットボットのように応答を試すことができます。
ここでは、Gemma2 のLLMをダウンロードしてきて使用する準備だけして、ollama をさらに便利に使う Dify の構築を進めます。

生成AI開発プラットフォーム : dify

Difyは、自然言語処理やAIアプリケーションの迅速な開発をサポートするオープンソースの開発プラットフォームです。主に大規模言語モデル(LLM)や生成AIの実装を効率化するための機能を提供し、開発者やビジネスユーザーが複雑なAIシステムを容易に構築・運用できるよう設計されています。

Difyは、生成AIやLLMを活用したアプリケーションを効率よく開発するための多機能なプラットフォームであり、AIを使ったビジネスやプロジェクトにおける開発コストや時間の削減に貢献します。

Difyを使えば、Ollamaの運用をさらに便利にすることができます。

1. Dify のセットアップ

Dify は、以下のコマンドで構築することができます。

コピーした .env を見てみると、Dify の詳しい設定ができます。
色々なオプションがありますが、今回は サンプルのまま動作させます。

Dify が起動したら http://[server_ip_address]/ (ポート80) にアクセスします。
最初にアクセスしたときには、アカウント作成の画面が表示されます。

この情報は、外部には送信されません。 ローカルのDifyのアカウント として使用します。

Dify setup

Dify の活用記事ではないので、Difyの設定方法やモデルの指定方法は割愛します。

2. Dify チャット・ボットのテストと公開

Dify に簡単な ChatBOT を設定して Gemma2 を設定して、 Llama3.2 3B と同じ質問をしてみます。

Gemma2 はカジュアルな回答で、絵文字まで使用しています。
Dify を使った ChatBot では、 「オーケストレーション」で回答に対する条件も設定 できますので、獲得したい回答の方式を細かく指定することもできます。

Dify で作成した チャット・ボット は、メニューの「公開する」から「アプリを実行」で Webアプリ としてスグに公開できます。

「アプリを実行」すると URLが開きチャット・ボットのアプリページが開きます。
良くある チャット・ボット のような画面で校正されていますので、同じ質問をしてみます。

これだけで、ローカルで動作する 生成AI のチャット・ボットを作ることができます。
当然、全て RaspberryPi5 にセットアップした ollama と Dify で実現しています。

公開の方法には、企業サイトでよくあるような「右下にチャットウィンドウ」をだす方法も用意されています。
このコードを、自分のWEBサイトなどに貼り付ければ、自分専用の情報をもったチャット・ボットを要することもできます。

Dify は、単純なチャット・ボットだけで無く、追加の知識ベース(RAG)と使ったり、外部のWebサイトやRestAPIと連携したワークフローやエージェントという動作を作ることもできます。

RaspberryPi5 で実現する ローカルAI の世界

RaspberryPi5でのOllamaとDifyのセットアップにより、生成AIをローカル環境で手軽に利用できる環境が整いました。
外部への通信を気にせず、自分だけのAI環境を楽しむことができます。

自分専用の生成AIや作業を楽にしてくれるロボットがRaspberryPi5で動作します。
RaspberryPi5 で作った環境で、高品質な 生成AI を使いたいときには、APIキーを入手して OpenAI GPT-4o など商業AIにリンクするのも良いでしょう。

私が使っているパーツ類は次の通りです。

追伸

ビジネス(本業というのかな)でも同じように ローカルAI を活用した、システムの自動化や生成AIを活用した業務改善なども実施しています。

ビジネスでの活用も検討してみたい。こんなことはできるのかと疑問の方は、問い合わせフォームからご連絡ください。

驚異的パワーの RaspberryPi 5 と NVMe M.2 SSD 対応

RaspberryPi 2Bの頃から、数え切れないくらいの RaspberryPi を使ってきました。
低価格なうえに小型で省電力、そのわりにちゃんとしたLinux環境で、ほぼフルスペックの環境。
GPIOも装備しているので、IoTのプロトタイピングにも最適な環境です。

そんな RaspberryPi に、新モデル RaspberryPi5 が国内発売開始となりました。
海外モデルは少し前から入手可能だったのですが、技適の問題などもあったので、国内販売を待っていたら(後はお財布事情もあり)ちょっと遅くなってしまいました。

アップグレードされたハードウェアとパフォーマンス

RaspberryPi5は、これまでのRaspberryPiに比べても大きなハードウェアの魅力があります。

  • 電源ボタンがついた
  • PCIe接続端子を搭載
  • PCIeに接続した NVMe M.2 SSD からブート 可能
  • ハードウェアファン端子が追加
  • 強化された CPUパワー(BCM2712クアッドコア1.8GHz)
  • 8GBのメモリー(4GBモデルもあり)

RaspberryPi4 も USB3経由で SSDを接続する HAT(増設ボード)がありましたが、起動は MicroSDからのみでした。

電源仕様には注意が必要 5V 5A Type-C ACアダプターが必須

従来のRaspberry Piシリーズでは3AのUSB Type-C電源で動作可能でしたが、Raspberry Pi 5では5V5AのType-C電源 が推奨されています。
推奨とは言っても、実際には5Aを出力できるACアダプターを用意するのがベストです。
安定した動作を求める方には必須のアイテムです。

RaspberryPi5 と一緒に 5V 5A 出力できる Type-C AC電源 を用意しておきましょう。

GPIO のピン配列も継承

RaspberryPi 5は、今までと同様に GPIOがあります。
pinout コマンド で RaspberryPi5 の GPIO の情報を出力した結果は以下の通りです。

RasPi5 pinout
RaspberryPi5 pinout コマンドの実行結果

pinout コマンドでは、RaspberryPi 5 の基本情報も出力されます。

nameRaspberryPi 5
SoCBCM2712 (BCM2712クアッドコア1.8GHz)
Memory8GB
StoragemicroSD
USB ports4 (of which 2 USB3 )
Ethernet port1 (1000Mbps)
Wi-fiTrue
BluetoothTrue
Camera port (CSI)2
Display port2

pinout コマンドは、RaspberryPi のハードウェア情報をスグに確認できるので、便利なコマンドです。

新規追加の PCIeコネクタと電源ボタン

今までの MicroSD スロットの上部に PCIe 接続のコネクタがあります。
その脇には、電源スイッチがついています。

RaspberryPi5 のサイドには、電源用の Type-C ポートと、microHDMI が2ポートあります。
サイドのデザインは、RaspberryPi4に似ていますが オーディオ端子が無くなって ます。

今回は RaspberryPi5 専用のファンも追加してあります。

ファンの電源/制御コネクタは、USB端子の後ろにあります。
出荷時には、簡単に外れるカバーがついていますので、カバーを外してコネクタを接続します。

外部ポート回りは、RaspberryPi 4 を同じポートがあります。

  • USB 2ポート
  • USB3.0 2ポート
  • Giganet Ethernetポート RJ45

PCIe NVMe SSD HAT を装着

RaspberryPi5 のファンを取り付けたら、その後は PCIe NVMe SSD も取り付けます。

この NVMe SSD HAT は、 2242 もしくは 2232 の PCIe NVMe M.2 SSD が接続できます。
HAT と RaspberryPi5 をつなぐリボンケーブルは、本体の MicroSDスロットの上部にあるコネクタに接続します。

これで、ハードウェアのアセンブリは完了となります。

Raspberry OS の準備

今までは RaspberryPi Imager を使って microSD に Raspberry OS をインストールしていましたが、今回は NVMe M.2 SSD から起動します。
このため NVMe M.2 SSD に RaspberryPi のイメージを書き込む必要があります。

NVMe M.2 SSD を接続するために、USB接続の M.2 アダプターを使用します。

M.2 SSD の選択 (NVMe と SATA と B-M-Key/M-Key)

ご存じの方も多いでしょうが、M.2 SSD には NVMe と SATA接続の他に、コネクタの切り欠きによって B-M-Key や M-Key, B-Key などの種類があります。

2つの切り欠きのある M.2(B-M-Key) は対応が少ないこともありますので、切り欠きが 1つのタイプの NVMe M.2 SSD M-Keyタイプ を使用します。
コネクタの違いと、NVMe/SATA/ACHIの違いは長くなるので割愛します。

価格的には 若干高くなりますが、長く使うものですので NVMe M.2 SSD M-Key 2242 仕様のストレージを購入するのが安全です。

NVMe M.2 SSD をUSBアダプターに接続したら、WindowsやmacOS,Linuxなどで Raspberry OS のイメージ を書き込みます。

RaspberryPi Imager は 最新のものを使用 してください。
古いバージョンでは、最初の「Select Device」で RaspberryPi5 が選択できません。

今回は Raspberry OS 64bit版を使用しました。

後は 今までの RaspberryPi のインストールと同じですので、インストール作業は省略します。

PCIe Gen3で動作させる設定

RaspberryPi5 の PCIe は、初期状態で Gen2で動作していますが、/boot/firmware/config.txt を書き換えることで Gen3 で動作させることができます。

config.txt を編集したら、再起動することで PCIe Gen3 が有効になります。

Raspberry Pi 5の実力をUnixBenchで測定

OSのインストールが完了したら、早速 RaspberryPi5 の実力を試してみます。
Raspberry Pi 5のパフォーマンスを測るために、オープンソースのベンチマークアプリ「UnixBench」を使用しました。

今回使用したのは、 UnixBench というオープンソースのベンチマーク アプリケーションです。

以下の手順で RaspberryPi 5 にインストールします。

コンパイルができたら Run を実行します。

時間がかかりますので終了まで待ち、結果が次の表になります。
今回は、以下の RaspberryPi (とJetSon Nano) でベンチマクーを実行した結果を比較します。

  • JetSon Nano 2GB
  • RaspberryPi Zero
  • RaspberryPi 2B+
  • RaspberryPi 3B+
  • RaspberryPi 4 + USB3.0 M.2 SATA SSD
  • RaspberryPi 5 + PCIe NVMe M.2 SSD

ベンチマーク結果:驚異のスコア

テスト結果を比較すると、Raspberry Pi 4に対し倍近いスコアを出すケースも多く、Raspberry Pi 5の性能向上が目に見えて実感できます。
特にハイエンドなIoTやプロトタイピング用途に最適な選択肢となりそうです。

Raspberry Pi 5で広がる可能性

Raspberry Pi 5の価格は少し上昇しましたが、その分性能も格段にアップしています。
特に、k8sなどの複雑なクラスタシステムを組む際には、従来モデルよりも圧倒的なアドバンテージが得られるでしょう。

今までのRaspberry Piでは難しかった重たい処理もこなせるようになり、さまざまな活用が期待できます。

まずは、色々な準備のために、前に書いた記事を元にして Docker 環境を準備していきます。

古いPCにWindows11? Rufusなら手軽

古いPCに Windows11 をインストールしようとすると表示されるこのメッセージ。

スペックが要件を満たさないためインストールできない

Windows11 の推奨環境がかなりあがったことで、少し古めのハードウェアは軒並みアップグレードの対象から外れてしまいました。
最新のハードウェアや自作PCは問題ないと思いますが、数年前に買ったハードウェアが対象外だった場合… さらに買い直しというのはオサイフにキビシイのが現実です。

これまでも、この制限を解除する方法はいくつかありました。
今まで 古いPCに Windows11をインストールまたはアップグレードする場合の方法は2つ。

  • レジストリを書き換えてインストール(Microsoft 公式の情報あり)
  • インストールメディアを改造してインストール

レジストリ書き換えの方法は、それでもTPM1.2など何かしらのTPMが必要でしたし、インストールメディアの改造は上手くいかない場合もありました。

Rufus を使うと簡単に制限解除のUSBメディアが作れる

残念だと思っていたら、Ubuntu や AlmaLinuxなどの USBインストールメディアを作るときに使っている Rufus で、Windowsのインストールメディアを作ると、偶然にWindows11の制限を回避したメディアを作れることを知りました。

実は、第11世代のCPUの Windows10 に新規に Windows11 をインストールするために、ISOからメディアを作ったのですが、この時に「オプション画面」が表示されて気がついたんです。

今回は実験もかねて、現状 実用ギリギリのラインと思われる 第4世代のノートPC(Acer E5-571 Core i3-4005U)をWindows11にアップグレードしてみました。

Core i3-4005U 古いノートPCにWindows11をアップグレード

このAcer E5-571は、7,8年以上前に メモリーを2GBから16GBへ増設、HDDを1TGのSSDに換装してあります。

それも、今回は新規インストールではなく アプリケーションやユーザーデータを残したままでアップグレード してみます。

Windows11 へのアップグレード の前に

WIndows10 を Windows11 にアップグレードする前には、今使っている Windows10 の Windows Update を全て実行しておきます。

Windows10 の Windows Update を全てかけておかないと、後々 面倒な状態になりますので、時間はかかりますが全てアップデートしてください。

アップグレード前にやること(修復ディスクとバックアップ)

古いPCをアップグレードするときだけではないですが、アップグレードをする前には必ずデータのバックアップと修復ディスクを作ってください。

もし、Windows11 へのアップグレードに失敗しても、修復ディスクで Windows10 に戻して、バックアップしたデータを書き戻すことで被害を最小限にできます。

Rufus で Windows11 インストールメディアを作る

制限解除のWindows11インストールメディアを作成するには、次のようなものが必要になります。

  • USBメモリー 16GB程度
  • Rufus
  • Windows11 インストールISOイメージ

Rufusは公式サイトからダウンロードしてきます。最新のバージョンで問題ありません。
Windows11 カスタマイズは、3.19(2022.07.01) リリースで実装されたようです。

<Rufus公式サイトのリンク>


Rufus

Windows11 のインストールISOは、Microsoft のサイトからダウンロードしてきます。


Windows11 ダウンロード

「Windows 11 ディスク イメージ (ISO) をダウンロードする」から ISOファイルをダウンロードします。

準備ができたら Rufus を起動して、Windows11のインストールISOファイルを指定して、「スタート」でUSBメモリーに書き込みを開始します。

書き込みを開始しようとすると、「Windowsユーザーエクスペリアンス」ダイアログボックスが表示されます。

「スタート」するとオプション画面が表示されて TPM2.0要件などをスキップする指定ができる

ここで必要な内容にチェックを付けます。
最低でも、以下の項目にチェックを入れます。

  • 4GB以上のRAM、セキュアブート及びTPM2.0の要件を削除
  • データ収集を無効化
  • BitLocker自動デバイス暗号化を無効化します

後は USBメモリーの書き込みが終わるのを待つだけ。

いよいよ Windows11 へのアップグレード

USBメモリーができあがり、全てのWindows Update が終わったら、Rufus や他のアプリケーションを終了して、USBメモリーの中の setup.exe を実行します。

インストールの途中で1つ注意点があります。

最初の「Windows11 のインストール」という画面で、すぐに「次へ」をクリックせずにオプションを設定します。

まずは「セットアップの更新プログラムのダウンロード方法の変更」を選択します。

「更新プログラム、ドライバー、オプション機能の入手」という画面が出てきますので、ここで「今は実行しない」を選択します。
インストール中に更新したインストーラーのモジュールをアップデートしてしまうと、せっかくの制限解除のインストーラーが無駄になってしまいます。

好みに合わせて「インストール品質向上に協力する」のチェックは選択してください。

この設定が終わったら「次へ」を選択します。

後は流れに沿ってインストールをすすめると Windows11にアップグレードできます。

今回の環境では、1回目のアップグレードは失敗してWindows10に戻りました。
Windows10が正常なことを確認して、もう一度 setup.exeを実行して Windows11のアップグレードをすると成功しました。

何回か試してみると上手くいくパターンもあるようです。ネットワークの通信状態も関係したかもしれませんが、詳細は不明です。

実際にアップグレードした 第4世代 Acer ノートPC

実際にアップグレードが完了した ノートPCが、こちらになります。

CPUを見ると Core i3 4005U で、Windows11 が動作しています。
起動時から安定するまで CPU が100%になる時間がありますが、安定してくれば Windows10 の時に比べて、極端に重くなったなどの感じはありません。

ただし、このノートPCは メモリーを16GB にして、SSDに換装しています。
8GB以下の少ないメモリーやHDDの環境では、おそらくまともに使うのは難しいでしょう。

WiFi対応SDカード FlashAir W-03 備忘録 : 2023年

この記事の内容は、2023年8月時点での内容です

WiFi対応でLuaスクリプトも使えた FlashAir W-03

WiFi対応のSDカード 東芝 FlashAir (現KIOXIA)。現在では販売終了となり新規に入手も難しくなっています。
また、Luaを使用できる W-03 も2021年 5月にサポート終了となっております。

ただ、現状でも動作するものもありますし、LuaでのFlashAirを使う情報が少なくなりつつありますので、今回は 2023年 8月現在での情報をまとめておきます。

特に FlashAir ツール 関連は、いつダウンロードできなくなるか分かりませんので、FlashAir W-03 をこれからも使う予定の方は、早めに手元にダウンロードしておくことをオススメします。

FlashAir ツール

FlashAir を使用するためのツール(アプリ)は、2つあります。

FlashAir Tool (W-04,W-03共通)

FlashAir のネットワーク設定や無線LAN設定、ファイル共有に関する設定などをするツールです。
KIOXIAのWEBサイトでは W-04 用で配布されていますが、「ファームウェアアップデート済み」の W-03 の設定もできます。


FlashAir Tool

FlashAir の 「FlashAir設定ソフトウェア」をダウンロード

FlashAir W-03 アップデートツール (W-03専用)

上記 FlashAir Tool を使用するには、ファームウェアを最新にする必要がありますが、KIOXIAの日本語サイトでは、すでに W-03 のアップデートツールは消えています。
W-04 のアップデートツールは、配布されていますが W-03 では使用できません。

W-03 のアップデートツールは、英語サイトからダウンロードします。


FlashAir Update Tool

Lua 開発に関する情報

FlashAir で動作する Lua の開発に関しては、以下のサイトで情報がまとまっています。

FlashAir で Luaスクリプトを開発するときに、FlashAir上でエディットとデバッグができるようになる「Flashtools-Lua-Editor」。

これを使用すると、Webブラウザ経由でFlashAir上でLuaスクリプトの動作確認ができます。

FlashTools-Lua-Editor

FlashAir で何をしているのか?

Lua が動くようになった FlashAir W-03 で何をしているのか?

私は文章を書くときなどに KINGJIM ポメラ DM200 を使用しています。
ポメラ DM200 は、無線LANを内蔵していますので、それ単体でファイルの同期や送信、QRコードでの文章の書き出しなどができます。

ただ、どうしても操作が煩雑になり使いかっての悪さを感じていました。

FlashAir W-03 と Lua での自動送信

作成した文章を「半自動的にファイルサーバーに書き出ししたい」ということで、無線LAN機能を持っている FlashAir W-03 を使用しています。

ポメラ DM200 のSDカードとして FlashAir W-03 を使用して、ファイルの書き込み(SD_EVENT)が合ったときに、自動的に指定した SFTPサーバーに対象のファイルを送信(PUT)しています。

ポメラDM200で作成した文章をFlashAirで自動的にNASにアップロード

これで サーバーへの保存し忘れなどもなく、面倒な作業もなく文章作成ができています。

サーバーにアップした文章は、サーバー側のプログラムで ブログ記事や技術文章,リポートのフォルダに配置され、自動的に RedPen や MarkdownLint などで文章の校正をチェックしています。

文章ファイルの管理

FlashAirにコピーした文章ファイルは、ポメラ本体のメモリーから削除しています。
容量の大きいFlashAirにバックアップは残りますし、書きかけの文章だけが ポメラの本体のメモリーに残っていますので、文章作成の進捗も管理しやすくなっています。

Wifi経由で3Dプリント : OctoPi

気がつくと低価格の EasyThreed K1 や ELEGOO neptune 3 pro と2台の FFF(FDM) 3Dプリンターを使って出力してます。
ただ、3Dプリンターの出力のために SDカードを抜き差しして gcode ファイルをコピーして、出力というのが非常に面倒くさいです。

今回は RaspberryPi 3B+ を使って、WiFiを使ってリモートから gcode ファイルを管理したり出力・監視ができる OctoPi という3Dプリンター用のディストリビューションを使ってみました。

3Dプリンター管理のRaspberryPi : OctoPi

OctPi は、OctoPrint という FFF(FDM)形式の 3Dプリンターをリモートから使うためのシステムを組み込んだ RaspberryPi用のディストリビューションです。
OctPi を使うと、Wifi経由で次のようなことができます(私が試した範囲)。

  • WEBの管理画面で3Dプリンターの管理ができる
  • gcode ファイルをアップロードして直接プリンターから出力できる
  • エクストルーダーやベッドの温度をリモートで監視できる
  • WebCAMを使うことで出力状態をリモートで確認できる
  • Timelapce機能で出力状態のタイムラプスがとれる
  • 出力中にエクストルーダーやベッド,その他のパラメータを変更して出力できる

Wifi経由でデータを3Dプリンターに送って出力できるのは魅力的ですし、出力途中をモニターできるのも魅力的です。

OctPi を使用するには RaspberryPi 3B+ もしくは RaspberryPi ZERO 2以上のハードウエアに対応しています。
残念ながら RaspberryPi Zero WH では安定した動作ができません。

また、OctoPi は、FFF(FDM)方式のプリンターに対応していますので、光造形式で使用している ANYCUBIC Photon Mono 4k では使用することができません。

今回は、RaspberryPi 3B+ に OctoPi をインストールして環境を作りました。

OctoPi のインストール

OctoPi は、 RaspberryPi Imager から簡単にインストールすることができます。

RaspberryPi Imager

Raspberry Pi Imager起動して、「CHOOSE OS」→「Other specific purpose OS」→「3D printing」→「Octo Pi」→「OctoPi(stable)」を選択します。

Wifiにすぐつなぎたいので、画面右下のギアボタンから、あらかじめSSHやWiFi情報を設定します。
後でネットワークから見つけやすくするために、ホスト名を「octopi.local」に設定して、SSHやWifiの接続を設定します。

OctoPiのイメージができたら、3DプリンターとRaspberryPi を USBケーブルで接続して、RaspberryPi を起動します。

RaspberryPi 3B+(X68kのケース)と3DプリンターをUSBケーブルで接続
RaspberryPi 3B+(X68kのケース)と3DプリンターをUSBケーブルで接続

最初の起動で、ファイルシステムの拡張や初期設定を行いますので、起動してから2,3分待ちます。
HDMIでディスプレイをつないでおくと、何回か再起動したり初期の立ち上げ設定をしているのが確認できます。

OctoPi の設定とプリンターの追加

OctoPi が起動したら、Webブラウザから http://octopi.local/ にアクセスします。
上手く接続できない場合には、HDMIディスプレイをつないでターミナルから IPアドレスを確認して直接IPアドレスで接続します。

初期の準備が始まり、少しするとセットアップ画面が表示されます。

OctoPi の初期設定

OctoPrintの初期設定を行います。

Restore Backup

他のOctoPiからデータを移行する場合に使用しますが、最初は不要ですのでスキップします。

Access Control

Access Controlでは、ブラウザからアクセスするためのアカウントとパスワード設定になります。
WEB画面にアクセスするためのアカウントになりますので、SSHとは別のアカウントを設定します。

Online Connectivity check

Configure the Connectivity check で接続性の確認がありますが、「Disable Connectivity Check」を選択しました。

Anonymous Usage Tracking
Configure Anonymous Usage Trackingでは、「Disable Anonymous Usage Tracking」を選択しています。

Plugin Blacklist
Configure plugin blacklist processingでは、「Enable Plugin Blacklist Processing」を選択しています。

Webcam & Timelapse Recordings

Webcam & Timelapse Recordings も特に変更することはないので、そのまま「Next」を選択します。

ここまでで、OctPi 自身の設定が完了します。
次ぎに使用する FFF(FDM)プリンターの設定を追加していきます。

Default Printer Profile

今回は、テストのため Easythreed K1 の設定を追加しました。

Easythreed K1 は、次のようなプリンターです

項目内容
NameEasythreed K1
ModelGeneric RepRap Printer

Print bed & Build Volume」 なども設定していきます。
この辺りの数字は、Ultimaker Cura などを使ったことがあれば、迷うことは無いと思います。

ヒートベッドにチェックがついてますが、Easythreed K1はヒートベッドないのでチェック不要ですね。

これで OctoPi のセットアップは完了になります。

OctoPi でのモデルの出力

ここまでの設定で OctoPi から 3Dプリンターを制御して Wifi経由で出力や監視・モニタリングができるようになりました。

左メニューの「Connection」から3Dプリンターに接続します。
次に、gcodeに変換したファイルを左メニューの「Files」からアップロードします。
アップロードしたファイルの、プリンターアイコンをクリックするとモデルの出力が開始されます。

これは、いつもの 3Dベンチマークの船を出力しているところ。

フィラメントのロードのプレヒートや、出力開始を選択したタイミングなども詳しく表示できます。
この画面からエクストルーダーやベッド(この機種にはありません)の温度を上下して出力を調整もできます。

Webカメラを接続すると出力の状態を監視することもできます。
モデルの出力状態や、はがれてスパゲッティのオバケができていないかなどもWebカメラで確認できるのは便利です。

実行している gcode のモニタリングもできます。

リモートでデータをアップロードして、出力できるようになり3Dプリントがさらに使いやすくなりました。

セキュリティキーでWEB認証を強化

gmailやFacebook,Twitterなど日常には欠かせなくなったサービスですが、アカウントの乗っ取りも頻繁に発生しています。

スマートフォンのアプリなどで2要素認証を設定してアカウントを護りたいですが、どうしても数字を入力するのが面倒で2要素認証を設定していないヒトも多いのかも。

また、2要素認証の不安要素としては「スマホの機種変したときにキーの更新に失敗するかも」という不安もあります。

私は、SMS認証やスマホアプリのワンタイムパスワード(OTP)にくわえて、物理的なセキュリティキーを追加して、別の方法でのログインもできるようにしています。

さらには、Twitterは 無料ユーザーのSMS認証を停止することも発表していますので、今まではSMSにコードが送られてログイン認証していたのも使えなくなります。

実際には SMS認証するには1回あたり 通信量が発生します。TwitterのSMS認証の停止は、コストの問題も関係しているかもしれません(が、ここは私見です)。

2要素認証(2FA)に使えるセキュリティキー

Twitter や Facebook, Google, GitHub で使用できるセキュリティキーとして、2つを使用しています。

  • Yubico SecurityKey NFC (物理キー)
  • FEITIAN BioPass FIDO2 (生体認証/物理キー)

Yubico SecurityKey NFC


Yubico SecurityKey は、色々なオンライン販売店で購入できるので入手しやすいセキュリティキーになります。

  • NFC読み取りができるスマートフォン対応
  • FIDO2 認証に対応(多くのSNSやWebサービスに使えます)
  • WindowsやmacOS,一部のLinuxなどのログインも対応

ただし、Yubico SecurityKey NFCは、「物理カギ」として使えるので、次の FEITIAN BioPassのような、「生体認証(指紋)」のような機能はありません。

Yubico SecurityKey NFC をUSBポートに接続するか NFC通信を行うことで 2要素認証のカギの機能を提供します。

FEITIAN BaioPass


BioPass FIDO2 は、販売している場所が限られますが、物理的なセキュリティキーに指紋認証までついていますので、強力な認証環境を準備することが出来ます。

  • セキュリティキー(物理)と指紋(生体情報)を使用した強固な認証
  • FIDO2 認証に対応
  • WindowsやmacOS,一部のLinuxなどのログインも対応

どちらのセキュリティキーを使うのか?

2つのセキュリティキーを使っていますが、私の環境では次のように使い分けています。

Yubico SecurityKey NFC : 物理認証

企業のTwitterアカウントや プロジェクトのGitHubアカウント, 誰かに代行してもらう可能性がある場合のサービスのセキュリティキーに使用しています。

この場合、ログインのためのアカウントとパスワードと セキュリティキー があれば、他の人に代行を依頼できます。
また、セキュリティキーを持たない人は アカウントとパスワードを知っていても サービスを使えませんので、その点でも安全は確保できます。

FEITIAN BaioPass :物理/生体認証

指紋認証まで必要とする FEITIAN BioPass は、個人のアカウントや個人情報に関係するサービスに使っています。

  • 個人の SNSアカウント( Google, Twitter,Facebook, GitHub )
  • お金に関するサービスの認証
  • 個人で使用する Windows端末

これにより、次の 3つの要素がそろわないとログイン出来ません。

  • 知識認証 : アカウントとパスワード
  • 物理認証 : セキュリティキー 本体
  • 生体認証 : 私の指紋

認証情報を3つをそろえることは、非常に困難になりますので アカウントが簡単に乗っ取られる可能性は低くなります。
当然、偽装する方法は色々ありますが、全てを持ち出された状態では、他の情報も持ち出されているでしょう。パスワードを使い回ししないのは基本ですが、アカウント流出があっても、すぐに突破されて乗っ取られる可能性が格段に低くなります。

ただ、BioPassを使用するには「事前に 複数の指紋を登録が必要」です。
ここからの 2要素認証の設定は、手軽に始められる物理キーの Yubico SecurityKey NFC を例にして設定していきます。


2要素認証を設定

早速、インターネット上のサービスで 2要素認証(2 Factor Authentication: 2FA)に対応しているサービスにセキュリティキーの認証を設定していきます。

今回は、利用開始が簡単な Yubico SecurityKey NFC を使用します。
指紋認証 機能をもつ TEITIAN BioPass FIDO2 は、2要素認証を設定する前に、自分の指紋を登録する必要があります。

Google アカウントの 2要素認証(2FA) 設定

Googleアカウントでセキュリティキーを設定するのは、他の2要素認証を設定するのと違いはありません。

Googleアカウントの「セキュリティ」を開きます。

「Googleへのログイン」の「2段階認証プロセス」を選択します。

2段階認証プロセスの画面

2段階認証プロセスから 「セキュリティキー」を選択します。

セキュリティキーの選択画面。すでにキーを登録していますが、通常は「+セキュリティキーを追加」のボタンだけが表示されます

「+セキュリティキーの追加」を選択します。

「セキュリティーの追加」で「物理キー」を選択して、次へを選びます。

「セキュリティキーのセットアップ」が表示されますので、セキュリティキーをUSBポートに接続してセットアップをすすめます。

セキュリティキーが認識されると「セキュリティキーにタッチしてください」をメッセージが出ますので、セキュリティキーにタッチするか指紋認証を実行します。

正常に認証が行われると、これでセキュリティキーによる2要素認証の設定が終わります。

Twitter,Facebook 他のサービス

基本的には Googleアカウントの2要素認証と同じような手順で、セキュリティキーを追加できます。
いま、私が使っているサービスで、同様の手順で 2要素認証を設定指定のは次のようなサービスがあります。

  • AzureAD, Windows ログオン
  • Twitter
  • Facebook
  • GitHub
  • PayPal
  • 他 いくつかの証券会社と銀行口座

セキュリティキーを便利にする

セキュリティキーをUSBポートに接続するのが面倒な場合もあります。その場合には、50cm程度の短い USB Type-A の延長ケーブルを用意しておくと便利です。

私は、デスクトップを使用していることもあり 50cmの延長ケーブルを使用しています。


2要素認証を設定して安全を高める

インターネット上のSNSやサービスは、アカウントを乗っ取られると大きな被害に遭います。
安全に使うためにも 2要素認証を設定していない場合には、スマートフォンのアプリから始めても良いので、すぐに設定した方が安心してサービスを利用できます。

また、お金に関するサービスを利用している人は、乗っ取られた場合 身に覚えのない請求 をされて大変なことになる場合もあります。
お金に関するサービスも利用している方は、物理キーと生体認証のセキュリティキーの導入も検討するのが良いでしょう。

生体認証のセキュリティキーは、最初がちょっと大変ですが、1回設定してしまえば使いかっては、物理キーのセキュリティキーと同じです。

ちょっとひと手間かけるだけで、安全・安心にインターネットサービスが使えるようになります。

Fire HD 10 を快適環境にカスタマイズ

増える一方の書籍の保存場所に困り、技術書などはiPadのReaderやKindleで購入することが多くなってきました。
しかし、いま使っている iPad は 第4世代でOSのアップデートも無くなっています。

買い直すにしても、2022年の円安の影響で エントリーモデルでも結構なお値段なので、Amazonのセールを利用して
Amazon の Fire HD 10 を購入しました。

このモデル 2021年版 なので型落ちの感じはありますが、セールの時には価格が安いのが魅力です。

これで 大きな画面で技術書籍を確認できるので、目が疲れないし快適に読書もできそうです。

Fire HD 10 の不満

Android がベースとなっている、コスパのよい Fire HD ですが、実際に使ってみると 不満も出てきます。

  • ロック画面の広告が邪魔
  • ホーム画面にAmazonのいらないアプリが山盛り
  • Google Storeが使えないのでアプリが少ない

これを解消するために Fire Toolbox でカスタマイズしてみます。

ただし、2022年12月現在 Fire HD 8/8+ の2022年モデルは、この方法が使えないようです。

Fire HD 10 のカスタマイズ : Fire Toolbox

Fire HD 10 の不満を解決するのに使うのは 「 Fire Toolbox 」 というアプリケーションです。

Fire Toolbox でカスタマイズするとサポートが受けられないなど不都合がでてきますが、自己責任で実行してください。
最悪の場合には、工場出荷時のリセットしてしまう方法もありますが、アカウントの紐付けがありますので注意が必要です。

Fire HD 10 カスタマイズの準備

Fire Toolbox でカスタマイズするには、Windows PC と Fire HD を開発者モードでUSB接続する必要があります。

Kindle Fire ドライバーをインストール

Fire HD 10 の開発者モードを有効にしたら、Fire HD と Windows PC を接続するためのドライバーをインストールします。

公式のドライバーのインストール方法は、以下のURLを参照。

作業した Windows PC には Android 開発環境がインストール済みだったため、Kindle Fire ドライバーをインストールしなくても Fire HD 10 に接続することが出来ました。

ここまで準備ができたら、Fire HD 10 と Windows PC をUSBケーブルで接続します。

Fire HD 10 で開発者モードを有効化

Fire HD 10 と Windows PCを接続したら、Fire HD 10 の開発者モードを有効にします。

シリアル番号のあたりを何回もタップして開発者モードを有効にする
  • 「設定」から「端末オプション」をタップ
  • 「Fire タブレットのバージョン情報」をタップ
  • 画面の中間付近にある「シリアル番号」を何回もタップする
  • メッセージが表示されて、開発者モードが有効になる

「端末オプション」に戻ると「開発者オプション」というメニューが追加されているので、以下のパラメータを有効にします。

  • 開発者オプション を ON(有効化)
  • デバッグの 「USBデバッグ」を ON(有効化)
開発者オプションをONにしてUSBデバッグもONにする

一度接続を切ると USBデバッグ のオプションは解除されてしまうので、Fire Toolbox でカスタマイズするには、毎回 USBデバッグを ON にする必要があります。

Fire Toolbox ダウンロードと準備

いよいよ Fire HD 10 のカスタマイズをしていきます。
Fire HD 10 をカスタマイズするには、前述した 「Fire Toolbox」を使用します。

公式サイトから パッケージをダウンロードします。

今回使用したバージョンは、 V30.2 です。
インストールするのが嫌だったので、portable 版のパッケージを使用しました。

適当なフォルダーに展開して Fire Toolbox を起動します。

チュートリアルなどが表示されますが、スキップして Main Menu を表示します。

Fire HD 10 のカスタマイズ

Fire Toolboxを起動した後の Main Menu

OTAアップデートを無効にする

最初に OTAアップデートを無効にします。
OTAアップデートが有効なままだと、Kindle Fire のアップデートにより Fire Toolbox のカスタマイズができなくなるなどの問題が発生する可能性があります。

また、アップデートで カスタマイズした内容がクリアされ、元の状態に戻ってしまうこともあります。

Modify System Settings : この画面で自動アップデートとOTAアップデートを無効にする

「Main Menu」画面から、右下の「Modify System Settings」を選択して、以下の設定を無効にします。

  • Automatic Update
  • OTA Update

設定が完了したら Main Menu に戻ります。

Google Store を有効にする

次ぎに Google Store を有効にします。
Main Menuから「Google Service(Manage)」を選択します。

Manage Google Service

Googleアカウントと連携して Google Play を使えるようにするために、以下の操作をします。

  • Google Account を追加
  • Data/Cache for Play Service を Execute
  • install Play Service を Execute
  • Automatic App Update を Execute

この画面ではすでに Execute して、各サービスが有効になっている状態です。
不要なサービスなどは Uninstall で削除もできます。

ロック画面の広告を削除する

ロック画面の Amazon の広告、この辺りも無効にしてしまいます。
Main Menuから「Lockscreen Management」を選択します。

Lockscreen Management

広告を削除するには、以下の項目を実行します。

  • Remove Lockscreen Ads を Run

その他、ロック画面の壁紙を変えたい場合も、この画面から設定できます。

不要なアプリを無効にする

最後に ゴチャゴチャと入っている Amazon のアプリを削除していきます。
Main Menu から「Manage Amazon Apps」を選択します。

Manage Amazon Apps

「Automatic」がありますが、今回は使用せずに 下段の「Manual」を使います。
Manual の Simple(recommended) を選択します。

Select apps to manualy disable

Amazon のアプリが一覧で出てきますので、不要なものにチェックを付けていきます。
無効にするとリスクがあるアプリは、赤文字の説明が表示されます。
黄色い文字は注意が必要なアプリ。
緑色の文字の説明のあるアプリは、無効にしてもほぼ影響がないアプリです。

一度 Disable にしても、同じ画面の Restore からアプリを書き戻すことが出来るので、試しながら不要なアプリを削除するのが良いでしょう。

カスタマイズした Fire HD 10

カスタマイズして、Google Playも使用できるようになったので、普通のAndroidタブレットのように使えるようになりました。

カスタマイズが終わった Fire HD 10のホーム画面。余計なアプリがなくなりGoogle Playからもアプリが追加できるようになりました

Amazon のアカウントもリンクしているので、 Amazon Prime や Amazonのアプリもストレスなく使うことができます。
Kindle アプリも購入済みの書籍をダウンロードできますし、O’Reilly などの技術書も epub形式 PDF形式ともに表示できるので、快適な電子書籍リーダー環境になりました。

他にも 仕事で使う(可能性のある?) Turmux や Zabbix のアプリなどをインストールしていますが、こっちは ASTRO SLIDE 5Gがあるので、余り出番はないかもしれません。

RaspberryPi swap 設定の変更

RaspberryPi ( Raspberry OS ) の標準インストールをすると swap ファイルが作成されます。
メモリーが厳しくなるような処理を考えていたので、このswapファイルを調整することにしました。

swapファイルの状態を確認

Raspberry Pi OS の swap ファイルの状態を確認するには、以下のコマンドを実行します。

標準では、約 100M の swap 領域を持っているようです。

swap 領域の拡張

容量が分かったので swap 領域を拡張していきます。
Raspberry Pi OS は、 dphys-swapfile サービスで 仮想メモリと swap の管理をしています。

swap 領域を変更するには、 dphys-swapfile を停止して設定ファイルで容量を変更します。

swap ファイルの大きさは、 dphys-swapfile 設定ファイルの CONF_SWAPSIZE の値を変更します。
今回は 512MB に変更しました。

設定変更後、 dphys-swapfile を起動すると swap 領域が変更されます。

変更後の swap 領域の確認

サービスが起動したら 先ほどと同じコマンドで swap 領域の確認をします。

その他の swap 変更方法

今回は、 Raspberry Pi OS の dphys-swapfile サービスで swap 領域を拡張しましたが、Linux OSの標準的な以下の方法でも swap 領域を変更することができます。

  • dd で swapfile を作成して swapon で追加する方法
  • dd で作成した swapfile を /etc/fstab で指定して起動時にマウントする方法
  • fdisk でストレージのデザインを変更して swap パーティッションを作成してマウントする方法

設定が簡単なのは、 dphys-swapfile サービスの設定を変更する方法となります。

RaspberryPi Pico マイコン工作はじめ

RaspberryPi のシリーズとしてリリースされている RaspberryPi Pico。
カテゴリーとしては Micro Controller で、ネットワークがなく 基本的には OS もインストールできないマイコンです。

同じようなカテゴリーとしては、 Arduino や micro:bit, ESP32開発ボード などがあります。
今までは Arduino などで電子工作していたのですが、Arduino IDE の環境が面倒で RaspberryPi で Python で工作することが多くなっていました。

この Pico は、マイコンの言語として MicroPython が使用できます。また、CircuitPython などの異なるPython、 C/C++ SDK でも直接プログラミングできます。

CircuitPython を使うと、手軽に Pico を HID として動作させることも出来るのも魅力です。Picoで、簡単にコンピュータのキーボードやマウスをエミュレーションできます。

HID: Human Interface Device.一般的にキーボードやマウスもHID

Arduino でも、HIDとして動作できますが、Arduino IDEが面倒で工作が進まなかったんです。

RaspberryPi Pico のセットアップ

RaspberryPi Pico は、ピンヘッダーがついていませんので購入後に ピンヘッダーをハンダ付けする必要があります。ピンヘッダー付きの RaspberryPi Pico H もありますので、ハンダが面倒であれば Pico H を購入することも出来ます。


※) RaspberryPi Pico 公式ページから引用

工作をするには、このピンにピンヘッダーを準備するか、直接ハンダで接続することになります。
私は後述するブレッドボードキットを使っているので、ピンヘッダーをハンダ付しています。

最終的にケースに入れる場合にもユニバーサル基板にメスのヘッダーをつけて接続しています。
こうすることで Pico を使い回すことができるので便利です。

Pico に MicroPython をインストール

RaspberryPi Pico で、Micro Pythonが使えるように設定をしていきます。
今回は、RaspberryPi 4 をコンピュータとして使い プログラミングと制御をしてみます。

まずは、Pico の BOOTSEL を押しながら microUSBを接続します。

コンピュータに認識されると、Pico のメモリーが「RPI-RP2」ストレージのように表示されます。
フォルダーの中に INDEX.HTM がありますので、こちらをWEBブラウザで開くと RaspberryPi Pico の本家サイトを開くことが出来ます。

Micro Python を選択すると、初期のセットアップ方法が説明されていますので、その内容に従って UF2 ファイルをPicoにコピーします。

MicroPython IDE : Thonny から制御

Pico に MicroPython の準備が出来たら、コンピュータから Pico に プログラムを書き込む準備をします。
Pico に MicroPython(や CircuitPython)を書き込んで管理するための IDE として、公式でもすすめている Thonny を使用します。

Thonny は、Windows,macOS,Linux をサポートします。
RaspberryPi OS デスクトップ環境の場合には、最初から プログラム カテゴリーに Thonny がインストールされていますので環境構築の手間がありません。

簡単な動作確認: LEDチカチカ(Lチカ)

Thonny で接続が確認できたら、スケッチを描いて工作を始める前に…
本当に動いているかの Lチカ(LEDチカチカ)でプログラム環境と実行の確認をしておきます。

作成した プログラムを RaspberryPi Pico のルートフォルダーに main.py という名前で保存します。
main.py で保存したプログラムは、Picoの電源を接続すると自動的に実行するプログラムになります。

Pico 単体で動作させる場合には、main.py が実行されます。

さらに アナログI/O の確認:温度測定

Lチカで基本的なデジタルI/Oの確認が出来たら、アナログI/Oも確認しておきます。
RaspberryPi Pico には A0からA3 のアナログI/Oがあり、そのうち1つはPico本体の温度を測定するセンサーに接続されています。
この値を取得することで Pico の温度を測定することが出来ます。

今のところコードは少ないですが、以下のGitHubでソースコードを公開しています。

工作に便利なブレッドボード

工作するときに便利なのが、ブレッドボード。

ただ、ジャンプワイヤーを準備したりと面倒なので、私はすべてセットになっている 「Breadboard Kit for RaspberryPi Pico」というキットを使用しています。

このブレッドボードキットでは、Picoを差し込むコネクタと接続ピン、ミニブレッドボードと、他のインターフェースとして ブザー、タクトスイッチ x4、LED x4 と 3.3V,5V,GND が最初から使える状態になっています。

簡単な検証であれば、ブレッドボードにセンサーをつけてつなげるだけで簡単に使えます。

注意点
マニュアルのFAQにも記載があるのですが、電源を入れるとブザーが鳴ってしまうことがあります。マニュアルでは、制御されていない(使わない)場合には、BEEP ピンをGNDに接続するようにと記述があります。
ブザーを使うケースは少ないので、不要であれば取り外してしまっても良いかもしれません。

準備が出来たので、色々な工作をしていきます。
基本的には、アナログI/O, GPIO と I2C 接続のデバイスで工作するので、簡単な配線の接続で工作していきます。

SPI 接続のデバイスは… 必要になったら工作します。

Tello プロペラ間違い 最悪は墜落も

DJI Tello で小型のドローン飛ばしをしていますが、以前の DOBBY と同じ間違いをしてしまいました。

プロペラのメンテナンスをしているときに、プロペラの取付場所を間違えてフライトした瞬間に墜落しました。

Tello のプロペラ配置 と 見分け方

Tello は 2種類のプロペラがあります。

ひとつは、プロペラの付け根に 凸モールドがあるプロペラ。もうひとつは凸モールドがないプロペラです。
このプロペラを正しい場所に取り付けることで、安定して飛行することが出来ます。

Tello を上からみて、凸モールドあり/なしのプロペラの取付場所は写真のようになります。

実機でもわかる取付場所

写真の配置を覚えておけば良いのですが、Tello の実機をみても簡単に取付位置を確認できます。


Tello のプロペラガードを取り外すと、凸モールドのプロペラを取り付ける側には、モーター基部に 凸モールドがあります(写真 上)。
凸モールドがないプロペラは、モーター基部に凸モールドがないプロペラを取り付けます。

取付を間違えると最悪墜落

このプロペラの取付を間違えると、安定して飛行できないだけでなく最悪 墜落します。
DOBBY を含めて、私が経験した プロペラ間違いの飛行状態は…

  • 逆の力が働いて、モーター最大加速で地上に張り付いて飛べない
  • フライトしようとした瞬間に、ひっくり返って墜落
  • 高度を上げた瞬間に不安定になり左右にフラフラして墜落

間違ったプロペラの装着は飛行が出来ないだけでなく、墜落の危険性があります。

Tello だけでなく、ドローンにはプロペラの場所が決まっているものがありますのでマニュアルなどをよく確認して取り付けましょう。

Translate »