産業用モニター - ラズベリーパイモニター(黒)回路基板のクローズアップ

HMIプロトタイプ

迅速で安価

組込みソフトウェア開発

プロフェッショナルソリューション

組み込みソフトウェアは、通常は従来のコンピューターとは見なされない 組み込みHMI で動作するように設計された特殊なコンピューターソフトウェアです。ハードウェア(CPU/RAM/FLASH MEMORY)は、アプリケーションに対して非常に最適化されているため、制限されています。オペレーティングシステムは、アプリケーションに必要なソフトウェアのみを持つように大幅に最適化されています。アプリケーションに合わせてオペレーティングシステムをコンパイルします。家電製品から産業機械、さらにはRaspberry Piのような汎用性の高いツールまで、さまざまなシステムに電力を供給します。Raspberry Piは、コンパクトで手頃な価格のコンピューターであり、組み込みシステムの学習と実験で有名です。これを使用すると、さまざまなハードウェアコンポーネントを制御するソフトウェアを作成して実行できるため、組み込みソフトウェア開発の世界を実践的に探索できます。このページでは、Raspberry Pi と組み込みソフトウェア プロジェクトの使用を開始するのに役立つチュートリアルのコレクションを提供します。

組み込みソフトウェアラズベリーパイ-Yoctoは、Docker環境でラズベリーパイ4を構築するコンピューターのスクリーンショット

このプロジェクトは、柔軟なツールとスペースを提供し、世界中の埋め込み開発者がテクノロジー、ソフトウェアスタック、構成、およびベストプラクティスを共有することができ、組み込みおよびIOTデバイス用に、またはカスタマイズされたLinux OSが必要な場所で、カスタマイズされたLinuxイメージを作成するために使用できます。

組み込みソフトウェアラズベリーパイ - Yocto Raspberryカスタムスプラッシュ画面とプログレスバー 黒いテキストの白いローディングバー

通常、Raspberry Pi用に Yoctoを使用して カスタムlinux画像を作成する場合は、プログレスバー付きのカスタムスプラッシュスクリーンも表示します。

組み込みソフトウェア - YoctoブートラズベリーからQtアプリケーションへのコンピュータのスクリーンショット

このガイドでは、QtとQtデモアプリケーションをRaspberry Pi 4 にインストールし、このQtデモアプリケーションを自動起動するための Yoctoプロジェクトの設定方法について説明します。

組み込みソフトウェア ラズベリーパイ - ヨクト - ラズベリー - ピグピオ - Qt コンピュータプログラムのスクリーンショット
PIGPIOライブラリとQtツールチェーンを含める

Yoctoを構成して、pigpioライブラリ、Qtおよびクロスコンパイルのためのツールチェーンを統合した、Raspberry Pi 4向けのカスタムLinuxを作成します。

組込みソフトウェア - VisionFive - Mender - Yocto コンピュータのスクリーンショット
パート1 - Yocto環境の基本的な設定

一連の記事のパート1は、Menderクライアントを統合してYocto Linuxを作成するためのYocto環境を設定する方法。

最近、私はラズベリーパイ4用のアプリケーション(キオスクシステム)を開発しなければなりませんでした。それについての特別なことは、2つのタッチモニターがHDMIを介して接続されることになっていたということでした、そしてそれは右に90度回転しなければなりませんでした。したがって、ポートレートフォーマット、2つのモニターを重ね合わせます。 画面を回転させて互いの上に配置しても、ユーザーインターフェイスを介して簡単に可能であるため、問題はありませんでした-「デスクトップと推奨ソフトウェアを備えたRaspbian Buster」がインストールされました。

データの頻繁な書き込みまたは上書きにより、SDカードの寿命が影響を受けます。

たとえば、再起動後に不要になった一時データ(比較計算用のセンサー値など)を含むことが多いアプリケーションの場合は、一時データ(比較計算用のセンサー値など)をRAMディスクに書き込むことをお勧めします。

また、通常は電源供給に使われるRaspberry Pi 4のUSB-Cインターフェースを通常のUSBインターフェースとして使うこともできます。 ただし、この場合、ラズベリーはGPIOピンを介して電力を供給する必要があります。

組み込みソフトウェアラズベリーパイ - ラズベリーパイ4ブルースクリーンのコンピュータスクリーンショット上のQt

Qt はしばしばグラフィックインタフェースの開発に使用される。Qtには、さまざまなオペレーティングシステムでコンパイルできるグラフィカルインターフェイスを作成するためのC ++ライブラリが含まれています。このコンパイルには多くのコンピューティングパワーが必要なため、比較的パワーの少ないプロセッサは、ホストコンピュータ上で開発およびコンパイルを実行し、その後、完了したアプリケーションをターゲットコンピュータにロードすることが推奨されます。Raspberry Pi 3およびPi 4モデル用のQtアプリケーションを開発するための多くの説明がオンラインにあります。残念ながら、Raspberry Pi 4と私たちのニーズに完璧に機能するものが見つかりませんでした。

これは、Compute Module 4にRaspberry Pi OS Liteをインストールするためのガイドです。仕事用のコンピューターとして、仮想マシンにインストールされたUbuntu20を使用しています。

これは、Raspberry Pi 4用のQt 5.15.2をクロスコンパイルし、コンピューティングモジュール4にインストールするためのガイドです。 これは、Raspberry Pi 4に関する私のブログ投稿 Qtのアップデートですが、今回はRaspberry Pi OS Liteを使用しているという違いがあります。

これは、Raspberry Pi 4用のクロスコンパイルされたQtライブラリを使用するようにQt-Creatorを設定し、ラズベリー用のアプリケーションを作成するためのガイドです。

組み込みソフトウェア - Qtクロスコンパイル Raspberry Pi 4 コンピュータプログラムのスクリーンショット用のセットアップスクリプト

このページでは、LinuxホストとRaspberry Pi 4でクロスコンパイルを自動的に設定するためのスクリプトのダウンロードリンクと、それらの使用方法の説明を提供します。

このブログでは、TCP/IPを介したModbus接続の例として、小さなQtクイックアプリケーション(qml)を提供したいと思います。 Qtの例では、Modbus接続のQWidgetの例しか見つかりませんでしたが、最近Qt Quickアプリケーションを作成した後、例としてスリム化されたバージョンを提供したいと思います。

Raspberry Pi 4用のQtアプリケーション(またはその他のアプリケーション)を作成した場合、アプリケーションの完了後にRaspberryを再起動した直後にアプリケーションを呼び出すことがよくあります。 これは、さまざまな場所に入力できる開始スクリプトでよく試みられます。 ただし、 systemd を介してこれを設定する方が合理的です。

タスクは、新しいファームウェアをタッチコントローラーにアップロードするためのQt Quickアプリケーション(GUI)を作成することでした。 アップロードソフトウェアは、.binファイルをタッチコントローラーにロードする .exeアプリケーションで 製造元から提供されました。 シェルアプリケーションを呼び出して制御するために使用できるQtクラス "QProcess"を使用したかったのです。Linux側では、私はすでにこれを数回うまく使用していましたが、Windowsでは最初は機能しませんでした。

組み込みソフトウェア - HDMIモニタ設定 コンピュータプログラムのスクリーンショット
ddcutilでHDMIモニター設定を制御する

ddcutilをインストールして、I2Cを介してHDMIモニターの設定を生業するYoctoレシピ。

組み込みソフトウェア - 黄色の画面に黒いテキストが libgpiod 表示される
Yoctoにlibgpiodを含める

Yoctoにlibgpiodライブラリを含め、組み込みシステムで使用します。