@ capgo/ 电容- mqtt
将您的 Capacitor app 连接到 iOS 和 Android 上的 MQTT 经纪人, 用于实时 IOT 消息: 发布、 订阅并响应到来的消息 .
🤖 建筑与AI编码代理? 安装 Capgo 技能 所以克劳德代码,代码,光标,副驾驶,或双子座CLI知道如何安装和使用
@capgo/capacitor-mqtt在您的电容应用程序中:npx skills add Cap-go/capgo-skills。然后问你的经纪人: 将@capgo/capor-mqtt 添加到我的Capacitor app上,并把它连接起来 代理设置指南 • 妇女 主机磁共振
主要特点
- 连接数字 :
connect()包含服务器URI,端口,客户端ID,证书,超时和自动重接. - 发布数字 :
publish()将有效载荷发送到一个带有QoS的话题并保留选项. - 订阅数字 :
subscribe()改为QoS级的主题. - 活动数字 :
onMessageArrived, (中文(简体) ),onConnectComplete财务报告和审定财务报表onConnectionLost听众. - 本地客户: CocoaMQTT在iOS上,Eclipse Paho在Android上.
- 平台: iOS和Android. 互联网档案馆的存檔,存档日期2013-12-21. 在网上不可用.
使用 Eclipse Paho MQTT 库为Android和iOS上的MQTT连接提供电容插件.
为什么是MQTTT?
MQTT(Message Queing Teleometry Transport)是一个轻量级,发布订阅的邮件协议理想,用于:
- IOT 设备 - 带宽低 电池用量少.
- 实时消息 - 客户之间即时发送信息
- 远程监测 - 从分布式设备发送/接收数据
- 家用自动化 - 无缝连接智能设备
这个插件为 Capacitor apps 提供了完整的 MQTT 客户端执行,支持Android和iOS.
此插件与Capacitor 8及以上兼容.
公关很受欢迎.
特征
- 通过 TCP 连接 MQTT 经纪人
- 在 QoS 支持下订阅主题
- 使用 QoS 发布信件并保留标记选项
- 收听收到的消息
- 自动重联支持
- 连接损失检测
- 清洁会话管理
- 保持活动间隔配置
安装
您可以使用我们的 AI 辅助设置安装插件 。 使用以下命令将 Capgo 技能添加到您的 AI 工具 :
npx skills add https://github.com/cap-go/capacitor-skills --skill capacitor-plugins
然后使用下列提示:
Use the `capacitor-plugins` skill from `cap-go/capacitor-skills` to install the `@capgo/capacitor-mqtt` plugin in my project.
如果您更喜欢手动设置,请通过运行以下命令来安装插件,并遵循下面的平台特定指令:
npm install @capgo/capacitor-mqtt
npx cap sync
Android cleantext MQTT (tcp://) (英语)
Android 块非 TLS MQTT (tcp://默认情况下。 如果您的经纪人不使用 TLS, 请在您的应用程序中添加网络安全配置 :
<!-- android/app/src/main/res/xml/network_security_config.xml -->
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<base-config cleartextTrafficPermitted="true" />
</network-security-config>
<!-- android/app/src/main/AndroidManifest.xml -->
<application
android:usesCleartextTraffic="true"
android:networkSecurityConfig="@xml/network_security_config">
没有这个, connect() 以代理连接错误拒绝, 而不是默默失败 .
使用量
连接到 MQTT 经纪
import { MqttBridge } from '@capgo/capacitor-mqtt';
const connectionOptions = {
serverURI: 'tcp://broker.hivemq.com',
port: 1883,
clientId: 'my-client-id',
username: '',
password: '',
setCleanSession: true,
connectionTimeout: 30,
keepAliveInterval: 60,
setAutomaticReconnect: true,
};
await MqttBridge.connect(connectionOptions);
订阅主题
const result = await MqttBridge.subscribe({
topic: 'my/topic',
qos: 0,
});
发布信件
const result = await MqttBridge.publish({
topic: 'my/topic',
payload: 'Hello World',
qos: 0,
retained: false,
});
聆听信件
import { MqttBridge } from '@capgo/capacitor-mqtt';
MqttBridge.addListener('onMessageArrived', (result) => {
console.log('Topic:', result.topic);
console.log('Message:', result.message);
});
断开连接
await MqttBridge.disconnect();
API 密码
connect(...)disconnect()subscribe(...)publish(...)addListener('onConnectionLost', ...)addListener('onConnectComplete', ...)addListener('onMessageArrived', ...)- 接口
- 类型异名
连接(...)
connect(options: { serverURI: string; port: number; clientId: string; username: string; password: string; setCleanSession: boolean; connectionTimeout: number; keepAliveInterval: number; setAutomaticReconnect: boolean; setLastWill?: { willTopic: string; willPayload: string; willQoS: number; setRetained: boolean; }; }) => Promise<any>
| 参数 | 类型 |
|---|---|
options | { serverURI: string; port: number; clientId: string; username: string; password: string; setCleanSession: boolean; connectionTimeout: number; keepAliveInterval: number; setAutomaticReconnect: boolean; setLastWill?: { willTopic: string; willPayload: string; willQoS: number; setRetained: boolean; }; } |
回返情况: Promise<any>
断开( )
disconnect() => Promise<any>
回返情况: Promise<any>
订阅(...)
subscribe(options: { topic: string; qos: number; }) => Promise<{ topic: string; qos: number; }>
| 参数 | 类型 |
|---|---|
options | { topic: string; qos: number; } |
回返情况: Promise<{ topic: string; qos: number; }>
发布(...)
publish(options: { topic: string; payload: string; qos: number; retained: boolean; }) => Promise<{ topic: string; payload: string; qos: number; retained: boolean; messageId: any; }>
| 参数 | 类型 |
|---|---|
options | { topic: string; payload: string; qos: number; retained: boolean; } |
回返情况: Promise<{ topic: string; payload: string; qos: number; retained: boolean; messageId: any; }>
添加倾听器( 连接丢失,...)
addListener(eventName: 'onConnectionLost', listener: onConnectionLostListener) => Promise<PluginListenerHandle>
| 参数 | 类型 |
|---|---|
eventName | 'onConnectionLost' |
listener | onConnectionLostListener |
回返情况: Promise<PluginListenerHandle>
添加Listener('on Connect Conflete',...)
addListener(eventName: 'onConnectComplete', listener: onConnectCompleteListener) => Promise<PluginListenerHandle>
| 参数 | 类型 |
|---|---|
eventName | 'onConnectComplete' |
listener | onConnectCompleteListener |
回返情况: Promise<PluginListenerHandle>
添加倾听器( 在“ MessageArived ” 中)..
addListener(eventName: 'onMessageArrived', listener: onMessageArrivedListener) => Promise<PluginListenerHandle>
| 参数 | 类型 |
|---|---|
eventName | 'onMessageArrived' |
listener | onMessageArrivedListener |
回返情况: Promise<PluginListenerHandle>
接口
插件听筒
| Prop | 类型 |
|---|---|
remove | () => Promise<void> |
类型异名
连接丢失收听器
(x: { connectionStatus: string; reasonCode: number; message: string; }): void
连接完成收听器
(x: { reconnected: boolean; serverURI: string; }): void
时间轴: 听众
(x: { topic: string; message: string; }): void
许可证
MPL - 2.0 导弹