After searching and trying out different things for a while, I found this solution, you can use this library if you want to use MQTT in your project.
Install it using npm install ngx-mqtt --save
Usage : app.module.ts
import { Observable } from ' rxjs/Observable ' ;
import {
IMqttMessage,
MqttModule,
MqttService
} from ' ngx-mqtt ' ;
export const MQTT_SERVICE_OPTIONS = {
hostname: ' 13.127.53.13 ' ,
port: 9001 ,
path: ' /mqtt '
};
export function mqttServiceFactory() {
return new MqttService(MQTT_SERVICE_OPTIONS);
}
@NgModule({
imports: [
BrowserModule,
HttpModule,
MqttModule.forRoot({
provide: MqttService,
useFactory: mqttServiceFactory
}),
IonicModule.forRoot(MyApp)
]
And then you can use it in your page like: (ex: home.ts file)
import { IMqttMessage, MqttModule, MqttService } from ' ngx-mqtt ' ;
import { Observable } from ' rxjs/Observable ' ;
export class HomePage {
constructor( private _mqttService: MqttService)
{
this ._mqttService.observe( ' home/door ' ).subscribe((message: MqttMessage) =>
{
this .sensor1 = message.payload.toString();
console.log( this .sensor1);
});
}
publishMessage()
{
this ._mqttService.unsafePublish( " home/button " , " on " , {qos: 0 , retain: false });
}
声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did222856