กลับไปที่ โซลูชัน

แพลตฟอร์มซอฟต์แวร์อัจฉริยะ

เอนจินฉาก ตัวแปลงโปรโตคอล และ toolchain วิศวกรรมสำหรับ UI กำหนดเอง

หมายเหตุ: ไพร์พอยท์ สมารท์ เป็นผู้ผลิตRCU ห้องพักและแผงอัจฉริยะ เน้นจัดหาปริมาณและ OEM/ODM หน้านี้เป็นอ้างอิงการผสานรวมโปรโตคอล / พัฒนารองทางเลือกไม่ใช่ผลิตภัณฑ์หลัก ไพร์พอยท์ สมารท์

ฮาร์ดแวร์พร้อม — โปรโตคอลเปิดสำหรับการผสานรวม

เราส่งมอบการผลิต RCU แผงและโมดูลที่เสถียร พร้อมเอกสารโปรโตคอล Modbus / MQTT และโค้ดตัวอย่าง integrator ทำ logic ฉากบนแพลตฟอร์มของตน ไพร์พอยท์ สมารท์ รับผิดชอบนิยามและการผลิตฮาร์ดแวร์ ซอฟต์แวร์ PMS และ cloud โดยพันธมิตรหรือบุคคลที่สาม

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 สำหรับทีมซอฟต์แวร์ integrator
เปิดฟังก์ชันอุปกรณ์เต็มรูปแบบ
เปิดฟังก์ชันอุปกรณ์เต็มรูปแบบ

ไพร์พอยท์ สมารท์ เปิดความสามารถอุปกรณ์ทั้งหมดให้นักพัฒนาสร้างแอปสำหรับสถานการณ์ IoT มากขึ้น

โปรโตคอลอุปกรณ์ร unified
โปรโตคอลอุปกรณ์ร unified

ข้ามการออกแบบชิป ไพร์พอยท์ สมารท์ รักษาโปรโตคอลสื่อสาร unified — รองรับ MQTT และ TCP ทั้งหมด

รุ่นภูมิภาคทั่วโลก
รุ่นภูมิภาคทั่วโลก

แต่ละอุปกรณ์มีเวอร์ชันเฉพาะภูมิภาคตามมาตรฐานท้องถิ่น พร้อมเครื่องมือและการประกอบเฉพาะ

รองรับ OEM/ODM
รองรับ OEM/ODM

OEM จาก 1,000 ชิ้นต่อ batch ตาม spec ลูกค้า ติดต่อ ไพร์พอยท์ สมารท์ สำหรับ ODM

WiFi หรือ 4G เชื่อมต่อบริการเครือข่าย
อุปกรณ์ WiFi ไพร์พอยท์ สมารท์ โดยทั่วไป 10–50 m เชื่อมบริการ local หรือ cloud ลูกค้า 4G รองรับผู้ให้บริการหลัก เหมาะไซต์กระจายหรือเดินสายยาก — cloud เท่านั้น
การเชื่อมต่อ WiFi
การเชื่อมต่อ WiFi

อุปกรณ์ smart WiFi deploy เซิร์ฟเวอร์ LAN หรือ cloud ใช้ MQTT pub/sub หรือ TCP listen — เหมาะการ deploy รวมศูนย์

การเชื่อมต่อ 4G หลายผู้ให้บริการ
การเชื่อมต่อ 4G หลายผู้ให้บริการ

อุปกรณ์ 4G ต้อง host cloud ใช้ MQTT pub/sub หรือ TCP listen — เหมาะการ deploy กระจาย

MQTT หรือ TCP สำหรับการสื่อสารอุปกรณ์ที่เชื่อถือได้
รัน MQTT broker เองสำหรับ pub/sub หรือเชื่อม TCP Server สำหรับ comms แบบดั้งเดิม — Netty TCP Server หรือ PC host สามรูปแบบเครือข่ายทั่วไปด้านล่าง
การสื่อสาร MQTT server
การสื่อสาร MQTT server

เชื่อมอุปกรณ์ ไพร์พอยท์ สมารท์ ผ่าน MQTT มาตรฐาน — เชื่อถือได้ มีประสิทธิภาพ ปลอดภัย เริ่มธุรกิจ IoT

การสื่อสาร TCP server
การสื่อสาร TCP server

TCP Server custom กับโปรโตคอล TCP ขยายเครือข่ายเดิมควบคู่อุปกรณ์อื่น

การสื่อสาร PC host
การสื่อสาร PC host

ตั้งอุปกรณ์ ไพร์พอยท์ สมารท์ เป็น TCP host ใช้ SCADA เก็บข้อมูลและควบคุมโดยตรง

ฟังก์ชันพื้นฐานเสถียร — พัฒนาธุรกิจอย่างอิสระ
ไพร์พอยท์ สมารท์ ห่อคำสั่งฮาร์ดแวร์ซับซ้อนเป็นข้อความ JSON มาตรฐาน หลัง MQTT เชื่อม pub/sub ง่ายเก็บและควบคุมข้อมูล นักพัฒนา front/back-end รับอุปกรณ์ได้เร็ว
ควบคุมเปิด/ปิดไฟ

ควบคุมเปิด/ปิดไฟ

Publish MQTT topic หรือส่งผ่าน TCP Server ไป client

ส่ง JSON (เปิดไฟ)
{
"type":"event",
"key":1
}
JSON ตอบกลับ
{
"type":"Socket-mini",
"key":1,
"wifiLock":0,
"keyLock":0,
"ip":"192.168.0.101"
}
สอบถามพลังงาน

สอบถามพลังงาน

สอบถามแรงดัน กระแส พลังงานสะสม realtime สำหรับ monitor โหลด

ส่งข้อความ JSON
{
"type":"statistic"
}
JSON ตอบกลับ
{
"voltage": 226.024,
"current": 15.027,
"power": 2921.511,
"energy": 25.047
}
ล็อก provisioning WiFi

ล็อก provisioning WiFi

ล็อก config WiFi ป้องกัน misconfig หน้างาน

ส่งข้อความ JSON
{
"type":"setting",
"wifiLock":1
}
JSON ตอบกลับ
{
"type":"Socket-mini",
"key":1,
"wifiLock":1,
"keyLock":0,
"ip":"192.168.0.101"
}
ล็อกปุ่มฟังก์ชัน

ล็อกปุ่มฟังก์ชัน

ล็อกปุ่มฟังก์ชันป้องกัน reset กดค้าง

ส่งข้อความ 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
เลือกอุปกรณ์ smart
ซื้อฮาร์ดแวร์ smart สำหรับสถานการณ์แอป
02
ตั้งค่าเริ่มต้นอุปกรณ์
ตั้งค่าเครือข่ายและการเชื่อมต่อเซิร์ฟเวอร์
03
ควบคุม & เก็บข้อมูล
ลองส่งคำสั่งควบคุมและรับรายงานอุปกรณ์
04
ผสานระบบธุรกิจ
เปิดระบบธุรกิจและ deploy ส่วนตัวให้เสร็จ
ขั้นตอน provisioning (ตัวอย่าง smart socket)
ขั้นที่ 1:

เชื่อมโทรศัพท์หรือ PC กับ hotspot อุปกรณ์ hc-xxxxxxxx รหัส: Aa123456

ขั้นที่ 1:
ขั้นที่ 2:

หลังเชื่อม หน้า provisioning เปิดอัตโนมัติ (หรือเปิด 192.168.4.1)

ขั้นที่ 2:
ขั้นที่ 3:

แตะ config WiFi เลือกเครือข่าย (รีเฟรชสแกนใหม่) ใส่รหัสและบันทึก

ขั้นที่ 3:
ขั้นที่ 4:

รหัสถูกต้อง แตะบันทึก — provisioning ตรวจ WiFi และตั้งค่าเสร็จ

ขั้นที่ 4:
ตัวเลือกการเข้าถึงยืดหยุ่น สำหรับนักพัฒนาทุกคน
หลายสถานการณ์ รวมอิสระควบคุมฮาร์ดแวร์ ไพร์พอยท์ สมารท์ ถ่ายโอน JSON ตอบสนองต่ำกว่า 50 ms รองรับหลายภาษา
ตัวเลือกการเข้าถึงยืดหยุ่น สำหรับนักพัฒนาทุกคน
MQTT Client
Pub/sub MQTT สองทางระหว่างอุปกรณ์และเซิร์ฟเวอร์สำหรับเก็บและควบคุมข้อมูล
TCP Client
อุปกรณ์เริ่ม TCP ไป TCP Server และฟังคำสั่งเซิร์ฟเวอร์
TCP Server
อุปกรณ์รัน TCP Server เป็น host client TCP เชื่อมเพื่อเก็บและควบคุม
MQTT Client

ต้องการ BOM ฮาร์ดแวร์หรือคู่มือเดินสาย?

ดูแคตตาล็อกผลิตภัณฑ์และเอกสารวิศวกรรม Developer API สำหรับการผสานระบบ