reTerminal DM & Machinechat JEDI: あなたの産業用IoTパワーハウス
はじめに
Machinechat JEDI は、強力で多用途なIoT(Internet of Things)データ管理ソフトウェアです。幅広いデバイス、センサー、機械からのリアルタイムデータの収集、可視化、監視、および応答のプロセスを合理化するように設計されています。SeeedのreTerminal DMとMachinechat JEDIソフトウェアを使用すると、30分以内にカスタムダッシュボードを構築できます。運用を追跡し、トレンドを分析し、効率を向上させ、コストのかかる中断を防ぐためのタイムリーなアラートを受信できます。
はじめに
このプロジェクトを開始する前に、ここで説明されているように、ハードウェアとソフトウェアを事前に準備する必要があります。
ハードウェアの準備
ソフトウェアの準備
公式ウェブサイトから Raspberry Pi 64 bit OS の Bullseye バージョンをインストールすることをお勧めします。
reTerminal DM に Machinechat JEDI をインストール
JEDI のダウンロード
Machinechat のウェブサイトにアクセスし、JEDI Free Edition または JEDI Lite Trial Edition のいずれかを選択してください。
メールアドレスを入力してください。ライセンス情報とサポートされているすべてのオペレーティングシステム用のダウンロードリンクが記載されたメールが届きます。お使いのオペレーティングシステムに適したダウンロードリンクをクリックしてください。このケースでは 64bit Raspberry pi
解凍と起動
ダウンロードしたファイルは ZIP アーカイブです。reTerminal DM の任意の場所にコンテンツを展開してください。
ターミナルを開いて実行してください。この /path/to/jedi/folder をフォルダの場所に置き換えてください。
cd /path/to/jedi/folder
JEDIを起動
./mcjedi.bin
JEDIのWebインターフェースへのアクセス
reTerminal DMでWebブラウザを開き、以下を入力してください
http://localhost:9123
セットアップとアクティベーション
EULAを読んで同意し、フォームに記入してください。ユーザー名、パスワード、およびチャレンジ質問への回答(パスワード回復に使用)を提供してください。
新しく作成した認証情報を使用してください。
ダウンロードメールで提供されたライセンスキーを入力してください。JEDIは一時的にインターネットに接続してライセンスを検証し、アクティベートします。
クイックテスト
データパイプラインの作成
ラップトップでお気に入りのPython IDE(pycharm/Vs codeなど)を開いてください。 コピーして貼り付けてください。
import requests
import json
url = 'http://<jedi_ip>:8100/v1/data/mc' # Replace <jedi_ip> with your reTerminal DM IP address
payload = {
"context": {
"target_id": "my_PC",
"target_ip": "192.168.1.10" #PC IP
},
"data": {
"temperature": 25.5,
"humidity": 68
}
}
headers = {'Content-Type': 'application/json'}
response = requests.post(url, data=json.dumps(payload), headers=headers)
if response.status_code == 200:
print('Data sent successfully')
else:
print('Error sending data:', response.text)
可視化と探索
ダッシュボードの時間です!ナビゲーションパネルでData Dashboardをクリックしてください。このダッシュボードは事前に作成されています。今度はこのダッシュボードにゲージチャートを追加します。
- ADD CHARTをクリックして、Data Dashboardに新しいチャートを追加します。
- Nameをクリックして、チャートの名前を入力します。
- Chart Typeをクリックして、Gaugeを選択します。
- Sourceをクリックして、データと一緒に送信されたtarget_idを選択します。上記のサンプルコードまたはペイロードを使用した場合、リストにmy_PCが表示されます。
- Propertyをクリックして、プロパティ(例:temperature または humidity)を選択します。
- ADDをクリックして設定を保存し、チャートをダッシュボードに追加します。
ダッシュボードにゲージが表示されます。

MQTTデータコレクター
JEDIは、即座に使用できる事前設定されたデータコレクターの堅牢な配列を提供します。これらのコレクターは典型的なIoT状況に対応し、以下を含みます:
- HTTP: HTTP APIを介してデバイス、スクリプト、その他のアプリケーションからデータを受信できます。
- MQTTブローカー: 広く利用されているIoTメッセージングプロトコルであるMQTTを通じて、センサーやデバイスからデータを取得できます。
- TCP: 生のTCP接続を介して通信するデバイスからデータを取得できます。
- Serial: シリアルポート経由でデータを送信するデバイス(例:Arduinoボード、GPS受信機など)との接続を確立します。
そこで、最も人気のあるMQTTプロトコルについて説明します。
Xiaoの準備
コードをアップロードする前に、SSID WiFiパスワード MQTTサーバーIP(JEDI IP) MQTTユーザー名 MQTTパスワードを設定してください。この例では、Machine Chat JEDIにダミーデータを送信します。
#include <WiFi.h>
#include <PubSubClient.h>
const char* ssid = "ABC";
const char* password = "XXXXX";
const char* mqtt_server = "192.XXX.X.XXX"; // Replace with your MQTT broker's IP
const int mqtt_port = 1883; // Default MQTT port
const char* mqtt_username = "ABC";
const char* mqtt_password = "ABC123";
WiFiClient espClient;
PubSubClient client(espClient);
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
client.setCallback(callback);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi...");
}
Serial.println("Connected to WiFi");
client.setServer(mqtt_server, mqtt_port);
}
void loop() {
if (!client.connected()) {
reconnect();
}
client.loop();
// Generate random values for each lab: VOC, human presence, temperature, and humidity
for (int lab = 1; lab <= 3; lab++) {
int voc = random(60, 80);
int presence = random(0, 3); // Assuming presence is represented as a boolean (0 for no presence, 1 for presence)
bool acState = false; // Default A/C state is off
float temperature = random(18, 30); // Assuming temperature is in Celsius
int humidity = random(30, 70); // Assuming humidity is a percentage
bool fire = false;
// Check if temperature is greater than 25 and human presence is true
if (temperature > 25 && presence) {
acState = true; // Turn on the A/C
}
// Construct payload
String payload = "{\"lab\":" + String(lab) + ",\"voc\":" + String(voc) + ",\"presence\":" + String(presence) + ",\"acState\":" + String(acState) + ",\"temperature\":" + String(temperature) + ",\"humidity\":" + String(humidity) +",\"fire\":" + String(fire) + "}";
// Publish payload for the current lab
client.publish(("Lab" + String(lab) + "/data").c_str(), payload.c_str());
}
delay(10000); // Wait for 10 seconds before sending next data
}
void reconnect() {
while (!client.connected()) {
Serial.println("Attempting MQTT connection...");
if (client.connect("ESP32Client", mqtt_username, mqtt_password)) {
Serial.println("connected");
// Subscribe to topics if needed
client.subscribe("rpi/data");
} else {
Serial.print("failed, rc=");
Serial.print(client.state());
Serial.println(" try again in 5 seconds");
delay(5000);
}
}
}
void callback(char* topic, byte* payload, unsigned int length) {
Serial.print("Message arrived in topic: ");
Serial.println(topic);
Serial.print("Message:");
for (int i = 0; i < length; i++) {
Serial.print((char)payload[i]);
}
Serial.println();
}
MQTTブローカーを有効にする
-
Settings -> Data Collectorsに移動します。
-
ADD CONNECTORボタンをクリックして新しいコレクターを追加します。
-
コレクタータイプとして「MQTT Broker」を選択します。
-
高度な設定オプション:
-
Listen IP:MQTTブローカーがリッスンするIPアドレス。JediのIPアドレス。
Username/Password:このオプションを有効にして、クライアント認証用のユーザー名とパスワードを設定します。クライアントはMQTTブローカーに接続するために有効な認証情報を提供する必要があります。そのため、Arduinoコードで置き換える必要があります。
デバイスダッシュボードで、MQTTデバイス(ESP32Client)が追加されていることが確認できます。
ダッシュボードの準備
カスタムデータダッシュボードの作成
Machinechat JEDIのダッシュボードは、生のIoTデータを洞察に満ちた視覚化に変換するための堅牢で適応性のある方法を提供します。直感的なドラッグアンドドロップインターフェースを通じて、ユーザーは独自の要件に合わせてパーソナライズされたダッシュボードを簡単に作成し、データの物語を効果的に実現できます。
これらのダッシュボードには、カスタマイズ可能なグリッドベースのレイアウト用のデータダッシュボード、リアルタイムデバイスとセンサーデータ表示用のデバイスダッシュボード、背景画像上にデータをオーバーレイするシステムダッシュボードなど、さまざまなタイプがあり、プロセス図やHMIスタイルのインターフェースの作成に最適です。
- JEDI WebインターフェースのDashboard Managerセクションに移動します。
- 次にADD DASHBOARDをクリックします。
- ダッシュボードタイプ(この場合はData view)、名前、説明を選択して保存します。
その後、サイドバーに新しいダッシュボードが追加されたことがわかります。いくつかのウィジェットを追加しましょう。まず、折れ線グラフを追加します。
折れ線グラフの追加
-
ADD CHARTをクリックします。
-
任意の名前を付け、Chart typeとしてLineを選択します。プラスマークをクリックしてデータソースを追加します。
- ソース、プロパティタグを追加し、適切な名前と単位を指定します。
- ADDをクリックした後、データソース追加ウィンドウと新しいチャートウィンドウで、美しい折れ線グラフを見ることができます。
積み重ね折れ線グラフの追加
-
再びAdd graphをクリックします。
-
任意の名前を付け、Chart typeとしてLineを選択します。また、Multiple Y axis modeを有効にします。一つは「Temperature」用、もう一つは「Humidity」用に使用します。プラスマークをクリックしてデータソースを追加します。
- ソース、プロパティタグを追加し、適切な名前と単位を指定してAddボタンをクリックします。
- 2番目のメトリックの追加:プラスアイコンをクリックして、同じ折れ線グラフに別のメトリックを追加します。
- 再びソース、プロパティタグを追加し、適切な名前と単位を指定し、Y Axis on Rightを選択します。次にAddをクリックします。
- 最後にAddをクリックします。
これで完了です!積み重ね折れ線グラフを取得できます。
結論として、reTerminal DMを搭載したMachinechat JEDIは、産業運営とスマートインフラ管理の状況を革命的に変える変革的なソリューションとして立っています。IIoT機能をシームレスに統合することで、ユーザーは接続されたデバイスからのリアルタイムデータを活用し、製造プロセス、サプライチェーンロジスティクス、運用効率に関する比類のない洞察を提供します。
Resources
- [Web Page] Machinechat Official Documentation
Tech Support
私たちの製品をお選びいただき、ありがとうございます!私たちは、お客様の製品体験が可能な限りスムーズになるよう、さまざまなサポートを提供しています。異なる好みやニーズに対応するため、複数のコミュニケーションチャネルを用意しています。