1. 在 MKSDKForDevice 文件夹以下是配置智能插座的 SDK
1.1 如果您想为智能插座配置 MQTT 服务器信息和 Wi-Fi 信息,您需要将智能插座设置为 AP 模式(请参阅 MokoLife 用户手册):将智能插座插入电源插座,按住按钮 10 秒,直到智能插座指示灯闪烁 amber 光,这意味着智能插座已进入 AP 模式(注意:AP 模式的超时时间为 3 分钟,一旦您将信息配置到智能插座,它将结束 AP 模式)。进入 Wlan 页面,选择智能插座热点进行连接。连接成功后,调用 connectDeviceWithHost:port:connectSucBlock:connectFailedBlock 方法连接智能插座。以下是智能插座完整的配置过程
步骤1
[[MKSocketManager sharedInstance] connectDeviceWithHost:@"192.168.4.1"
port:8266
connectSucBlock:^(NSString *IP, NSInteger port) {
//connect success
connectFailedBlock:^(NSError *error) {
//connect failed
}];
step2
[[MKSocketManager sharedInstance] readSmartPlugDeviceInformationWithSucBlock:^(id returnData) {
//Read device info success
} failedBlock:^(NSError *error) {
//Read device info failed
}];
step3
[[MKSocketManager sharedInstance] configMQTTServerHost:@"your MQTT Server host"
port:port
connectMode:mqttServerConnectTCPMode
qos:mqttQosLevelExactlyOnce
keepalive:60
cleanSession:YES
clientId:@"your device mac address"
username:@"your MQTT Server userName"
password:@"your MQTT Server password"
sucBlock:^(id returnData) {
//Config Success
}
failedBlock:^(NSError *error) {
//Config Failed
}];
step4
[[MKSocketManager sharedInstance] configWifiSSID:your wifi ssid
password:wifi password
security:wifiSecurity_WPA2_PSK
sucBlock:^(id returnData) {
//Config Success
} failedBlock:^(NSError *error) {
//Config Failed
}];
2. The MKSDKForMqttServer folder is the SDK that configures the APP and MQTTServer
2.1 MKMQTTServerManagerDelegate
@protocol MKMQTTServerManagerDelegate
-
(void)mqttServerManagerStateChanged:(MKMQTTSessionManagerState)state;//connect state delegate method
-
(void)sessionManager:(MKMQTTServerManager *)sessionManager didReceiveMessage:(NSData *)data onTopic:(NSString *)topic;//Receives the data from the MQTT server
@end
2.2 APP连接到MQTT服务器
当网络可用时,调用 [[MKMQTTServerManager sharedInstance] connectMQTTServer:port:tls:keepalive:clean:auth:user:pass:clientId:] 来连接您的MQTT服务器。
2.3 订阅主题
请参阅智能插座的MQTT协议文档。用于订阅主题,请调用- (void)subscriptions:(NSArray Highlights: <NSString *>*)topicList
;注销主题,请调用- (void)unsubscriptions:(NSArray Highlights: <NSString *>*)topicList
。
2.4 APP向指定主题发布数据
请参阅智能插座的MQTT协议文档。使用以下方法发送数据:- (void)sendData:(NSDictionary *)data topic:(NSString *)topic sucBlock:(void (^)(void))sucBlock failedBlock:(void (^)(NSError *error))failedBlock