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://haodehen.cn/did222856