แพลตฟอร์มซอฟต์แวร์อัจฉริยะ
เอนจินฉาก ตัวแปลงโปรโตคอล และ toolchain วิศวกรรมสำหรับ UI กำหนดเอง
หมายเหตุ: ไพร์พอยท์ สมารท์ เป็นผู้ผลิตRCU ห้องพักและแผงอัจฉริยะ เน้นจัดหาปริมาณและ OEM/ODM หน้านี้เป็นอ้างอิงการผสานรวมโปรโตคอล / พัฒนารองทางเลือก — ไม่ใช่ผลิตภัณฑ์หลัก ไพร์พอยท์ สมารท์
ฮาร์ดแวร์พร้อม — โปรโตคอลเปิดสำหรับการผสานรวม
เราส่งมอบการผลิต RCU แผงและโมดูลที่เสถียร พร้อมเอกสารโปรโตคอล Modbus / MQTT และโค้ดตัวอย่าง integrator ทำ logic ฉากบนแพลตฟอร์มของตน ไพร์พอยท์ สมารท์ รับผิดชอบนิยามและการผลิตฮาร์ดแวร์ ซอฟต์แวร์ PMS และ cloud โดยพันธมิตรหรือบุคคลที่สาม
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();
}
}
}
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);
}
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)
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)
}
}
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)
}
})
})
})
{
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++;
}
}
'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 อัจฉริยะที่ใช้งานง่าย
ไพร์พอยท์ สมารท์ เปิดความสามารถอุปกรณ์ทั้งหมดให้นักพัฒนาสร้างแอปสำหรับสถานการณ์ IoT มากขึ้น
ข้ามการออกแบบชิป ไพร์พอยท์ สมารท์ รักษาโปรโตคอลสื่อสาร unified — รองรับ MQTT และ TCP ทั้งหมด
แต่ละอุปกรณ์มีเวอร์ชันเฉพาะภูมิภาคตามมาตรฐานท้องถิ่น พร้อมเครื่องมือและการประกอบเฉพาะ
OEM จาก 1,000 ชิ้นต่อ batch ตาม spec ลูกค้า ติดต่อ ไพร์พอยท์ สมารท์ สำหรับ ODM
อุปกรณ์ smart WiFi deploy เซิร์ฟเวอร์ LAN หรือ cloud ใช้ MQTT pub/sub หรือ TCP listen — เหมาะการ deploy รวมศูนย์
อุปกรณ์ 4G ต้อง host cloud ใช้ MQTT pub/sub หรือ TCP listen — เหมาะการ deploy กระจาย
เชื่อมอุปกรณ์ ไพร์พอยท์ สมารท์ ผ่าน MQTT มาตรฐาน — เชื่อถือได้ มีประสิทธิภาพ ปลอดภัย เริ่มธุรกิจ IoT
TCP Server custom กับโปรโตคอล TCP ขยายเครือข่ายเดิมควบคู่อุปกรณ์อื่น
ตั้งอุปกรณ์ ไพร์พอยท์ สมารท์ เป็น TCP host ใช้ SCADA เก็บข้อมูลและควบคุมโดยตรง
ควบคุมเปิด/ปิดไฟ
Publish MQTT topic หรือส่งผ่าน TCP Server ไป client
"type":"event",
"key":1
}
"type":"Socket-mini",
"key":1,
"wifiLock":0,
"keyLock":0,
"ip":"192.168.0.101"
}
สอบถามพลังงาน
สอบถามแรงดัน กระแส พลังงานสะสม realtime สำหรับ monitor โหลด
"type":"statistic"
}
"voltage": 226.024,
"current": 15.027,
"power": 2921.511,
"energy": 25.047
}
ล็อก provisioning WiFi
ล็อก config WiFi ป้องกัน misconfig หน้างาน
"type":"setting",
"wifiLock":1
}
"type":"Socket-mini",
"key":1,
"wifiLock":1,
"keyLock":0,
"ip":"192.168.0.101"
}
ล็อกปุ่มฟังก์ชัน
ล็อกปุ่มฟังก์ชันป้องกัน reset กดค้าง
"type":"setting",
"keyLock":1
}
"type":"Socket-mini",
"key":1,
"wifiLock":1,
"keyLock":1,
"ip":"192.168.0.101"
}
สอบถามสถานะ
สถานะอุปกรณ์ปัจจุบันรวม MAC ชื่อ WiFi ฯลฯ
"type":"info"
}
"mac":"Socket-mini",
"type":"Socket-mini",
"version":"2.0.0",
"key":1,
"wifiLock":1,
"keyLock":1,
"ip":"192.168.0.101",
"ssid":"open-wifi"
}
เชื่อมโทรศัพท์หรือ PC กับ hotspot อุปกรณ์ hc-xxxxxxxx รหัส: Aa123456
หลังเชื่อม หน้า provisioning เปิดอัตโนมัติ (หรือเปิด 192.168.4.1)
แตะ config WiFi เลือกเครือข่าย (รีเฟรชสแกนใหม่) ใส่รหัสและบันทึก
รหัสถูกต้อง แตะบันทึก — provisioning ตรวจ WiFi และตั้งค่าเสร็จ
ต้องการ BOM ฮาร์ดแวร์หรือคู่มือเดินสาย?
ดูแคตตาล็อกผลิตภัณฑ์และเอกสารวิศวกรรม Developer API สำหรับการผสานระบบ
