Qt

あなたの想いを KNX プロトコルに載せる、スマートホーム用のライブラリ QtKnx について

Published Thursday August 17th, 2017 | Leave a comment
Posted in Qt for Automation | Tags: ,

この記事は The Qt Blog の Introducing QtKnx, the smart home library that translates your wishes into KNX protocol. を翻訳したものです。 執筆: Lucie Gérard, 2017年8月14日 QtKnx は Qt ユーザーのみなさんをホームオートメーションの世界へお連れします。 マルチプラットフォームでエレガントでフレキシブルなスマートホーム向けのソフトウェアが簡単に作れるようになりました。 必要なものは新たに開発された QtKnx ライブラリと、Qt の既存の機能だけです。 KNX はスマートホームとビル管理プロトコルのヨーロッパのリーダーで(https://www.knx.org)、PC 向けのソフトウェアでプログラミングやインストールが可能です。QtKnx ライブラリはオープンソースと商用のオプションでお使いいただけます。 まずはじめに、QtKnx では KNX サーバーを探索する KNX のクライアントの実装と、サーバーへのインストールの制御と管理が可能です。それでは実際の作業を見てみましょう。 テストケース (下記の写真の)ボードとサーバー用意し、QtKnx の機能を使って KNX の小さなインストールを試してみます。サーバーはイントラネット内にあるものを使います。 探索 以下が QtKnx ライブラリでサーバーを探索する方法です: 探索用のエージェントオブジェクトの取得(QKnxNetIpServerDiscoveryAgent agent) エージェントの設定(任意) エージェントに探索開始を指示(agent.start()) […]

Read More

QtMqtt について

Published Thursday August 17th, 2017 | Leave a comment
Posted in Qt for Automation | Tags: ,

この記事は The Qt Blog の Introducing QtMqtt を翻訳したものです。 執筆: Maurice Kalinowski, 2017年8月14日 最近、オートメーション分野にむけたアプローチについての議論が活発に行われています。興味のある方は、こちら と別の ブログ記事 も合わせてご覧ください。 オートメーションむけのプロジェクトを開始するにあたって、最初の障壁は適切なコミュニケーションスタックの構築です。MQTT はテレメトリデータ(センサーからのデータの収集やデバイスの状態など)の管理で、ここ数年でとても注目を集めている技術で、今回これをサポートすることで開発のワークフローの単純化に対応することにしました。 MQTT とは MQTT の自身の説明 を引用します。 “It was designed as an extremely lightweight publish/subscribe messaging transport. It is useful for connections with remote locations where a small code footprint is required and/or network bandwidth is at a premium.” […]

Read More

Qt for Automation

Published Thursday August 17th, 2017 | Leave a comment
Posted in Qt for Automation | Tags: , ,

この記事は The Qt Blog の Qt for Automation を翻訳したものです。 執筆: Lars König, 2017年8月14日 みなさんこんにちは。おそらくみなさんはご存知とは思いますが、我々のミッションは開発者のみなさんが素晴らしいアプリケーションの開発において「本当に本当にしたいことに集中すること」をお助けするフレームワークや開発ツールをお届けすることです。 最近は Industry 4.0 や IoT の分野でまた新しいチャレンジがはじまっています。インターネットに接続されるデバイスの数はさらに増加し、これらの機器に由来する様々なデータの量は増大します。この結果、アプリケーションはどんどん複雑になっていくでしょう。 というわけで、戦いの現場はめまぐるしいペースで変わり続けます。デバイスのインフラの状況やアプリケーションの複雑化、開発自体。これらの結果、相互運用性やスケーラビリティの多次元的なチャレンジが生まれます。我々はこの度新たに開発した Qt for Automation で、みなさんのチャレンジをチャンスに変えるお手伝いをしたいと思います。 「オートメーション」の定義は? 我々にとっての「オートメーション」とは、複雑なオートメーション環境に存在する、すべてのネットワークに接続されうる(末端の)デバイス(クライアントやゲートウェイ、ヘッドレス機器)と、それと連携するデスクトップアプリケーションを意味します。「スマート施設」「ネットワークサービスのタッチポイント」と「オートメーションの構築」の間にあるものを考えてみてください。それらのすべてのセグメントで、技術だけではなくサービスやビジネス面で同様のチャレンジが存在するでしょう。 「Qt for Automation」の理由 Qt for Automation では、新たなライブラリや開発ツールを提供するだけではなく、このドメインに特化した サービス を提供することでこの業界特有の問題の解決をサポートします。 Qt for Automation の今回のリリースははじまりにすぎません。今後様々な改善や改良を継続的に行い、定期リリースという形で更新していく予定です。 それでは、この最初のリリースを紹介します。 基本思想:Qt 5.9 LTS などを最大限活かす Qt for Automation には仮想キーボード、QtSerialBus、VNC、Qt Lite Confituration Tool、WebGL ストリーミング機能(Qt 5.10 で導入予定)など、Qt […]

Read More

Qt Speech (文字の音声化)について

Published Wednesday July 26th, 2017 | Leave a comment
Posted in Qt | Tags: , , ,

この記事は The Qt Blog の Qt Speech (Text to Speech) is here を翻訳したものです。 執筆: Frederik Gladhorn, 2017年1月20日 Qt 5.8.0 には Qt Speech モジュールがテクノロジープレビューとして追加されました。ここまでくるのには結構な時間を要しましたが、これは注目に値する要素が今のところ少ないためです。Android ではバックエンドが正常に動作するためのビルドとも格闘をしました。が、幸運なことに、手助けをしてくれるコミュニティがいつも存在しています。 パッケージに含まれるものは、テキストの音声化(Text to speech)です。モジュールはとてもコンパクトで、異なるプラットフォームの様々なバックエンドに賢い言葉を喋らせるための抽象化された API を提供します。上記のスクリーンショットは、Linux 上でのスピーチのバックエンドで、これは性別などの属性の機能がありません。これらはプラットフォームに依存していて、我々は様々な音声を選択できるように最大限の工夫をしました。 普通のことを最大限シンプルにし、綺麗な API を提供するのが Qt のゴールです。さて、どのくらいシンプルでしょう? エンジンの選択(プラットフォームによっては複数選択肢がある場合があります)が可能です。地域と音声を選択しましょう。デフォルトのものが自動で選択されるので、単に QTextToSpeech のインスタンスを生成して、1、2個シグナルの接続をし、say() と呼ぶだけです。 m_speech = new QTextToSpeech(this); connect(m_speech, &QTextToSpeech::stateChanged, this, &Window::stateChanged); m_speech->say(“Hello World!”); これだけです。さぁ、やってみましょう。現時点ではテクノロジープレビューなので、API が不完全だったり、やりかたがまずい場合には是非フィードバックをいただければと思います。ドキュメント はこちらになります。 ここで、今回貢献していただいた皆さんに感謝を申し上げます。The Qt Company […]

Read More

Shape を追加しました!

Published Saturday July 15th, 2017 | Leave a comment
Posted in Qt | Tags: ,

この記事は The Qt Blog の Let There Be Shapes! を翻訳したものです。 執筆: Laszlo Agocs, 2017年7月7日 次の Qt 5.10 の新機能の一つとして Qt Quick に shape プラグインを追加しました。これにより、直線や二次曲線、三次曲線、弧などからなる線や図形などのパスを Qt Quick に追加することが可能になりました。もちろん、これまでも QQuickPaintedItem や Canvas 上で実現は可能でしたが、Shapeは Qt Quick の純正のエレメントで、シーングラフ的には実際のジオメトリもしくはベンダー固有の GPU のパスの描画機能(GL_NV_path_rendering) にて処理がなされます。 Android タブレット上での Shape のサンプルプログラム これのなにがすごいの? CPU による(QImage や OpenGL FBO への)描画処理の必要がなくなるので、高解像度のディスプレイを含む比較的広いエリアにこういった描画をしていたり、移動や回転などのアニメーションによる再描画が多発していた場合にとても効果を発揮します。 API は完全に宣言的で、stroke や fill パラメータ、パスエレメントの座標、コントロールポイントなどのすべてのプロパティが QML の表現で書け、Qt Quick […]

Read More

Qt 5.9.1 をリリースしました

Published Monday July 3rd, 2017 | Leave a comment
Posted in Qt | Tags: ,

この記事は The Qt Blog の Qt 5.9.1 Released を翻訳したものです。 執筆: Jani Heikkinen, 2017年6月30日 本日 Qt 5.9.1 をリリース致しました。Qt 5.9 ブランチに対して行われた様々なバグの修正や改善が含まれています。 同じく本日リリースした Qt Creator 4.3.1 が Qt 5.9.1 のオフラインインストーラーにバンドルされます。Qt Creator 4.3.1 はオンラインインストーラー経由でも入手可能です。 Qt 5.9.1 はパッチリリースという位置づけのため、新機能はなく、バグの修正や様々な改善のみが追加されています。Qt 5.9.0 からの変更点の詳細は Qt 5.9.1 の 変更履歴 をご覧ください。 Qt 5.9 LTS ではこれまで以上にパッチリリースのサイクルを短くしていく予定です。Qt 5.9.1 でみなさんが待ち望んだ修正が対応されなかった場合でも、今後数ヶ月間に複数回行われる予定のパッチリリースをお待ちください。 オンラインインストーラーをお使いの方は、その中のメンテナンスツールを利用して Qt 5.9.1 と Qt 4.3.1 へのアップデートが可能です。オフラインインストーラーは、商用版は Qt Account […]

Read More

Qt 5.9 LTS のパフォーマンスの改善

Published Monday June 19th, 2017 | Leave a comment
Posted in Qt | Tags: ,

この記事は The Qt Blog の Performance Improvements with Qt 5.9 LTS を翻訳したものです。 執筆: Tuukka Turunen, 2017年5月31日 Qt 5.9 LTS では Qt Quick および QML のパフォーマンスが ARM 上の Linux 環境を中心に、劇的に改善されました。これまで QML のエンジンや Qt Quick の描画エンジン、QML コンパイラ、Qt Quick Controls などの領域でパフォーマンスの改善に力を入れてきました。パフォーマンスの改善は様々な領域に渡って大幅に改善しており、いくつかのアイテムでは一つ前の LTS Qt 5.6 と比較して数倍も高速になった部分もあります。 様々なプラットフォームにおいて、数々の最適化の効果を継続的に把握するために、いくつかのパフォーマンスのテストを定期的に実施しています。まだ自動化できていないテスト項目もありますが、これらの結果は testsresults.qt.io で公開しています。私たちは Qt がサポートしているすべてのプラットフォームや CPU アーキテクチャに対してパフォーマンスの改善に可能な限りの時間を割きたいと思っています。本記事では ARM 上での Linux は Qt 5.9 […]

Read More

Qt Safe Renderer を用いた機能安全の実現

Published Monday June 5th, 2017 | Leave a comment
Posted in Qt | Tags: , , ,

この記事は The Qt Blog の Functional Safety with the Qt Safe Renderer を翻訳したものです。 執筆: Tuukka Turunen, 2017年5月22日 この記事では Qt によるユーザーインターフェースと機能安全について、新しいアプローチを紹介します。Qt Safe Renderer により、リッチな GUI とセーフティクリティカルなシステムの共存の実現が簡単になります。車載や医療、産業オートメーションのような Qt が UI フレームワークとしてリードしている業界において、Qt の利用と共にセーフティクリティカルの要件を満たすことがより簡単になりました。 我々の機能安全に対するアプローチについては以前書いた「機能安全」の記事と「Qt を用いたシステムの認証取得」に関する記事をご覧ください。 認証取得可能なシステムの構築において、セーフティークリティカルな機能はシステムのその他の部分と分離されている必要があります。セーフティークリティカルな機能は、例えば認証済みのリアルタイムオペレーティングシステム(RTOS)を用いて自身のメモリ領域を保護されたプロセスとして分離することが可能です。これにより、セーフティークリティカルなシステムに必要な部分は以下の2つとなります。 UI のデザインワークフローを実現する認証済みのツール セーフティクリティカル部分の設計、コーディング、認証取得 この度開発をした Qt Safe Renderer は、セーフティクリティカルな UI のアイテムをデザインするためのツールと、その部分を描画する特別なソフトウェアを提供することで、Qt ベースのセーフティクリティカルシステムのこの2つの問題を解決いたします。 Qt Safe Renderer のツールでは、セーフティークリティカルの UI を Qt によるセーフティクリティカルシステムに容易に追加できるようになっています。警告灯などのセーフティクリティカルの UI エレメントを GUI […]

Read More

Qt 5.9 をリリースしました

Published Thursday June 1st, 2017 | Leave a comment
Posted in Qt | Tags: ,

この記事は The Qt Blog の Qt 5.9 released を翻訳したものです。 執筆: Lars Knoll, 2017年5月31日 Qt 5.9.0 を本日リリースいたしました。Qt 5.9 は Qt 史上、最高のバージョンになるよう、これまで開発を続けてまいりました。 Qt 5.9 では特に パフォーマンスと安定性の向上に力を入れてきました。バグの修正は Qt の隅々に渡って行われ、継続的な自動テストのインフラの改善も行いました。これにより、Qt 5.9 以降の Qt のリリースサイクルを(パッチレベルでもマイナーリリースでも)速く回すことができるようになりました。 また、テストのインフラにパフォーマンスの自動テストも追加し、パフォーマンスの向上を継続的に可視化できるようにしました。詳細は こちらのブログ記事 をご覧ください。 Qt Lite 向けに開発した新しい Qt のコンフィグレーションシステムにも様々なバグフィックスがなされました。詳細は こちらのブログ記事 をご覧ください。 長期サポート(LTS) Qt 5.9 を「長期サポート(LTS)」としたのは大きな決断の一つでした。前回の LTS である Qt 5.6 は時代遅れになり始めたところで、もっと新しいバージョンを長期的なプロジェクトのベースとして採用したいという要望が数多く寄せられていました。 Qt 5.6 以降、2000 以上のバグフィックスが Qt 全体に渡って行われてきました。Qt […]

Read More

Qt 5.9 LTS の INTEGRITY RTOS サポート

Published Monday May 29th, 2017 | Leave a comment
Posted in Qt | Tags: , , ,

この記事は The Qt Blog の INTEGRITY RTOS Support in Qt 5.9 LTS を翻訳したものです。 執筆: Tuukka Turunen, 2017年5月17日 Qt 5.9 LTS は Green Hills Software 社のリアルタイムオペレーティングシステム(RTOS) である INTEGRITY を公式にサポートします。INTEGRITY は Qt 4.8 で一度サポートされましたが、今回 Qt 5.9 で再度サポートされることになりました。INTEGRITY 上で Qt を動かしたいという要望は、機能安全を満たす車載のメータークラスタ以外にも様々な業界のみなさんから上がってきていました。 Qt で INTEGRITY をサポートする重要性はどのくらいあるのでしょうか?その最先端のクロスプラットフォームのアプリケーション&UI開発フレームワークが RTOS のアプリケーション開発に必要でしょうか?それらはインフラの深部で動作しているので、普通にしていたら絶対気づかないでしょう? これは半分は正しくて半分は間違いです。多くの RTOS アプリケーションは UI を持たず、美しい操作可能な GUI は分離されています。しかし、ユーザー体験を実現するために最新の GUI フレームワークを必要とする RTOS アプリケーションの数は急速に増えつつあり、高度なセーフティとセキュリティを提供する […]

Read More
Get started today with Qt Download now