Open62541を使用したOPC-UAサーバ開発
はじめに # 本記事の目的 # 本記事では,下記の事項について説明します。 OPC-UAの概要について Open62541のインストール方法 Visual Studioでの開発環境構築 OPC-UA サーバのサンプル作成 GitHubリンク # 本記事で実装するコードはこちらに記載しています...
記事を読むIoT を使ってみる(その13:温湿度センサモジュールDHT11編)
前回は FreeRTOS の「セマフォ」を紹介しました。 今回はIoTデバイスに接続して使用する「温湿度センサモジュール DHT11」を紹介致します。 温湿度センサモジュール「DHT11」 # DHT11は、温度と湿度を同時に計測することができるセンサモジュールです。 ネットでDHT11を検索すると4ピン(単体版)のものと、3ピン(モジュール版)のものが見つかりますが、今回使用するのは3ピン(モジュール版)の方です...
記事を読むIoT を使ってみる(その12:FreeRTOS排他制御編)
前回は「FreeRTOS」のタスク優先度を考察しました。 今回は「排他制御」について見ていきたいと思います。 排他制御とは # 複数のタスクが並列実行するプログラムにおいて、複数のタスクから利用される”共有資源"が存在する場合、複数のタスクが同時に”共有資源”にアクセスすると、”共有資源”に不整合が発生する場合があります。 ”共有資源”には、メモリや外部機器などが該当します...
記事を読むIoT を使ってみる(その11:FreeRTOSタスク優先度編)
前回は「FreeRTOS」のタスクを紹介しました。 今回は前回説明できなかったタスクの挙動が優先度でどのように変わるのかを見ていきたいと思います。 サンプルプログラム # COMポートに”HIGH”、”LOW”の文字を出力する2つのタスクを用意しました。 タスクの優先度は初期値として両方とも「2」を設定しています...
記事を読むIoT を使ってみる(その10:FreeRTOSタスク編)
前回はESP32などの安価なIoTデバイスで利用できる「FreeRTOS」を紹介しました。 今回はFreeRTOSの詳細に入っていきたいと思います。 FreeRTOSのタスク # FreeRTOS では処理を実行する単位を「タスク」として構造化します。 各タスクは、システム内の他のタスクやスケジューラ自体に依存することなく、独自のコンテキスト内で実行されます。 任意の時点で実行できるタスクは 1 つだけであり、FreeRTOS スケジューラがどのタスクを実行させるかを決定します...
記事を読むIoT を使ってみる(その9:FreeRTOS基本編)
今回はESP32などの安価なIoTデバイスで利用できるRTOS(Real Time Operating System)の「FreeRTOS」を紹介したいと思います。 FreeRTOS とは # FreeRTOSはフリーに利用できるRTOS(Real Time Operating System)です。 上記の説明ではただ単語に分解しただけなので、もう少し詳しく説明しましょう。 FreeRTOS は以前は”例外条項付きGPL”の下で配布されていましたが、現在はAmazonが権利を保有しています...
記事を読むIoT を使ってみる(その8:AWS IoT Device Client編)
最近はAWS関連の話題から少し遠ざかっていたので、今回は AWS IoT Device Client を紹介します。 AWS IoT Device Client とは # AWS IoT Device Client はAWSのIoTデバイスのリファレンス実装であり、概念実証(PoC)環境を簡単に構築することができます...
記事を読むIoT を使ってみる(その7:MQTTクライアント paho編)
前回記事でMQTTブローカー「Mosquitto」を紹介しました。 今回はMQTTクライアント「paho」について紹介したいと思います。 paho とは # pahoはPython製の通信ライブラリです。 2022/10/14の段階でMQTT v5.0、MQTT v3.1.1、および v3.1 をサポートしています。 Python 2.7系、3.x系で使用できます。 paho インストール # 使い方は非常に簡単です。 pip または conda でインストールします...
記事を読むロボット開発インターンシップ紹介
社内のとある技術相談会で、所属しているグループのインターンシップを紹介したところ、内容が面白いので記事を書いてみないかということで書いてみました。 はじめに # エンジニアリングソリューション事業部には八王子を拠点としたロボット開発グループがあります。 新卒向けにロボット開発を体験してみようという名目でインターンシップを開催しています。 その内容について紹介したいと思います。 --> Informationロボット開発者を募集しております...
記事を読むIoT を使ってみる(その6:MQTTブローカー Mosquitto編)
前回記事でMQTTを紹介しました。 今回はMQTTブローカー「Mosquitto」について説明したいと思います。 MQTT通信のおさらい # MQTTはパブリッシュ/サブスクライブ(publish/subscribe)型のデータ配信モデル(以降、PUB/SUBモデルと略す)を採用したメッセージ通信プロトコルです。 PUB/SUBモデルは以下の3つの要素で構成されています...
記事を読む