ソリューションに戻る

ソフトウェアインテリジェンスプラットフォーム

シーンエンジン、プロトコルアダプター、カスタムUI向けエンジニアリングツールチェーン。

注:ピュアポイント・スマート は客室 RCU とスマートパネルハードウェアメーカーで、量産供給と OEM/ODM が主業です。本ページはオプションのプロトコル連携 / 二次開発リファレンス — ピュアポイント・スマート の主製品ではありません

ハードウェア準備完了 — プロトコルオープン連携

安定した RCU、パネル、モジュール量産と Modbus / MQTT プロトコル文書・サンプルコードを提供し、インテグレーターが自社プラットフォームでシーンロジックを実装可能。ピュアポイント・スマート は硬件定義と製造を担当;アプリ、PMS、クラウドはパートナーまたは第三者が構築。

import org.eclipse.paho.client.mqttv3.*;
import org.eclipse.paho.client.mqttv3.persist.MemoryPersistence;

public class MqttClientDemo {
public static void main(String[] args) {
String broker = "tcp://127.0.0.1:1883";
String clientId = "JavaClient";
String pub_topic = "hotel/light/control";
String sub_topic = "hotel/light/status";
String content = "Smart lighting control";
int qos = 1;

try {
MemoryPersistence persistence = new MemoryPersistence();
MqttConnectOptions connOpts = new MqttConnectOptions();
MqttClient client = new MqttClient(broker, clientId, persistence);
client.connect(connOpts);
MqttMessage message = new MqttMessage(content.getBytes());
message.setQos(qos);
client.publish(pub_topic, message);
System.out.println("Message published");
client.subscribe(sub_topic, qos);
System.out.println("Subscribed to topic: " + sub_topic);
} catch (MqttException e) {
e.printStackTrace();
}
}
}
void publish(MQTTClient client, char *topic, char *payload) {
MQTTClient_message message = MQTTClient_message_initializer;
message.payload = payload;
message.payloadlen = strlen(payload);
message.qos = QOS;
message.retained = 0;
MQTTClient_deliveryToken token;
MQTTClient_publishMessage(client, topic, &message, &token);
MQTTClient_waitForCompletion(client, token, TIMEOUT);
printf('Send `%s` to topic `%s` ', payload, PUB_TOPIC);
}
def publish(client):
    msg_count = 0
    while not FLAG_EXIT:
        msg_dict = {
            'type': 'info'
        }
        msg = json.dumps(msg_dict)
        if not client.is_connected():
            logging.error('publish: MQTT client is not connected!')
            time.sleep(1)
            continue
        result = client.publish(PUB_TOPIC, msg)
        status = result[0]
        if status == 0:
            print(f'Send `{msg}` to topic `{PUB_TOPIC}`')
        else:
            print(f'Failed to send message to topic {PUB_TOPIC}')
        msg_count += 1
        time.sleep(1)
func publish(client mqtt.Client) {
qos := 0
msgCount := 0
for {
payload := `{'type':'info'}`
if token := client.Publish(pub_topic, byte(qos), false, payload); token.Wait() && token.Error() != nil {
fmt.Printf('publish failed, topic: %s, payload: %s', pub_topic, payload)
} else {
fmt.Printf('publish success, topic: %s, payload: %s', pub_topic, payload)
}
msgCount++
time.Sleep(time.Second * 1)
}
}
client.on('connect', () => {
console.log(`${protocol}: Connected`)
client.subscribe(sub_topic, { qos }, (error) => {
if (error) {
console.log('subscribe error:', error)
return
}
console.log(`${protocol}: Subscribe to topic '${sub_topic}'`)
client.publish(pub_topic, payload, { qos }, (error) => {
if (error) {
console.error(error)
}
})
})
})
static void Publish(MqttClient client, string topic)
{
int msg_count = 0;
while (true)
{
System.Threading.Thread.Sleep(1*1000);
string msg = '{'type':'info'}';
client.Publish(topic, System.Text.Encoding.UTF8.GetBytes(msg));
Console.WriteLine('Send `{0}` to topic `{1}`', msg, topic);
msg_count++;
}
}
$payload = array(
'type' => 'info'
);
$jsonp = json_encode($payload);
$mqtt->publish(
$jsonp,
0,
true
);
printf('msg send $jsonp to $pub_topic');
$mqtt->subscribe($sub_topic, function ($topic, $message) {
printf('Received message on topic [%s]: %s', $topic, $message);
}, 0);

ソフトウェア開発者のために
使いやすい IoT スマートデバイス

1996年創業以来、ピュアポイント・スマート は RCU ホスト、ガラスタッチのホテル向けスマートスイッチパネルと客室モジュールを量産し、Modbus / MQTT プロトコル文書でホテル・住宅・商用プロジェクトのインテグレーターと OEM 顧客を支援します。
デバイス機能を全面開放
デバイス機能を全面開放

ピュアポイント・スマート はデバイス機能をすべて開放し、開発者がより多くの IoT シナリオ向けアプリを創出可能。

統一デバイス通信プロトコル
統一デバイス通信プロトコル

チップ設計に関わらず統一通信プロトコルを維持 — すべて MQTT と TCP をサポート。

グローバル地域バリアント
グローバル地域バリアント

各地域の規格に合わせたバージョンを個別設計し、専用金型で組立再生産。

OEM/ODM 対応
OEM/ODM 対応

1,000 個/ロットから OEM 可能;ODM は ピュアポイント・スマート へ詳細要件をご相談。

WiFi または 4G でネットワークサービスに接続
ピュアポイント・スマート WiFi デバイスの通信距離は通常 10–50 m;ローカルまたはクラウドサービスに接続可能。 4G は主要キャリア対応、分散配置や配線困難現場向け — クラウドサービスのみ。
WiFi 接続
WiFi 接続

WiFi スマートデバイスでは LAN またはクラウドにサーバー展開。MQTT pub/sub または TCP リッスンでデータ交換 — 集中配置向け。

4G マルチキャリア接続
4G マルチキャリア接続

4G デバイスではサーバーはクラウド必須。MQTT pub/sub または TCP リッスン — 分散配置向け。

MQTT または TCP でデバイス通信を維持
自社 MQTT ブローカーで pub/sub メッセージング。 または TCP Server 接続で従来通信 — Netty TCP Server やホスト PC 連携など。 以下に 3 つの一般的なネットワーク構成を記載。
MQTT サーバー通信
MQTT サーバー通信

標準 MQTT で ピュアポイント・スマート デバイスに接続 — 信頼性、効率、セキュリティで IoT ビジネスを開始。

TCP サーバー通信
TCP サーバー通信

カスタム TCP Server と TCP プロトコルで既存ネットワークを拡張。

ホスト PC 通信
ホスト PC 通信

ピュアポイント・スマート デバイスを TCP ホストに設定;SCADA ツールで直接データ収集・制御。

安定した基礎機能 — 自由にビジネス開発
ピュアポイント・スマート は複雑な硬件命令を標準 JSON メッセージに封装。 MQTT 接続後、シンプルな pub/sub でデータ収集・制御。 フロント/バックエンド開発者が迅速にデバイスを引き継ぎ可能。
通電/断電制御

通電/断電制御

MQTT トピック公開または TCP Server から Client へ送信

JSON 送信(通電)
{
"type":"event",
"key":1
}
JSON 応答
{
"type":"Socket-mini",
"key":1,
"wifiLock":0,
"keyLock":0,
"ip":"192.168.0.101"
}
電力照会

電力照会

リアルタイム電圧・電流・累計電力を照会し負荷監視

JSON メッセージ送信
{
"type":"statistic"
}
JSON 応答
{
"voltage": 226.024,
"current": 15.027,
"power": 2921.511,
"energy": 25.047
}
WiFi プロビジョニングロック

WiFi プロビジョニングロック

WiFi 設定をロックし現場誤操作を防止

JSON メッセージ送信
{
"type":"setting",
"wifiLock":1
}
JSON 応答
{
"type":"Socket-mini",
"key":1,
"wifiLock":1,
"keyLock":0,
"ip":"192.168.0.101"
}
機能キーロック

機能キーロック

機能キーをロックし長押しリセットを防止

JSON メッセージ送信
{
"type":"setting",
"keyLock":1
}
JSON 応答
{
"type":"Socket-mini",
"key":1,
"wifiLock":1,
"keyLock":1,
"ip":"192.168.0.101"
}
ステータス照会

ステータス照会

MAC、WiFi 名等を含む現在のデバイス状態

JSON メッセージ送信
{
"type":"info"
}
JSON 応答
{
"mac":"Socket-mini",
"type":"Socket-mini",
"version":"2.0.0",
"key":1,
"wifiLock":1,
"keyLock":1,
"ip":"192.168.0.101",
"ssid":"open-wifi"
}
ソフトウェア二次開発フロー
01
スマートデバイス選定
アプリケーションシナリオ向けスマート硬件を購入
02
デバイス初期設定
ネットワークとサーバー接続情報を設定
03
制御とデータ収集
制御命令送信とデバイス報告受信を試行
04
業務システム連携
自社業務システムを公開しプライベート展開を完了
プロビジョニングフロー(スマートコンセント例)
ステップ 1:

スマホまたは PC でデバイスホットスポット hc-xxxxxxxx に接続、パスワード:Aa123456。

ステップ 1:
ステップ 2:

接続後、プロビジョニングページが自動表示(または 192.168.4.1 を開く)。

ステップ 2:
ステップ 3:

「WiFi 設定」をタップ、ネットワーク選択(更新で再スキャン)、パスワード入力して保存。

ステップ 3:
ステップ 4:

正しいパスワードで【保存】— プロビジョニングが WiFi を検証し設定完了。

ステップ 4:
開発者向け 柔軟な接続方式
多シナリオ、自由な組み合わせで ピュアポイント・スマート 硬件を制御。 JSON データ転送、50 ms 未満の応答、多言語開発対応。
開発者向け 柔軟な接続方式
MQTT Client
デバイスとサーバー間で MQTT 双方向 pub/sub によりデータ収集・制御
TCP Client
デバイスが TCP Server に接続しサーバー命令をリッスン
TCP Server
デバイスが TCP Server をホストとして実行;TCP Client が接続して収集・制御
MQTT Client

硬件 BOM または配線マニュアルが必要?

製品カタログとエンジニアリング資料をご覧ください;システム連携は開発者 API。