Compare commits

...

1 Commits

Author SHA1 Message Date
3168b084d3
configuration stuff not yet working 2018-06-26 23:14:42 +02:00
6 changed files with 52 additions and 2 deletions

View File

@ -11,6 +11,7 @@ let accessLogStream = fs.createWriteStream(path.join(__dirname, '/../../../acces
app.use(morgan('combined', {stream: accessLogStream}))
app.use('/', express.static(path.join(__dirname, '/../../../dist')))
app.use('/config', express.static(path.join(__dirname, '/.././../config')))
app.listen(3000, () => {
console.log('smartclient app listening on port 3000!')

View File

@ -1,6 +1,7 @@
import { BrowserModule } from '@angular/platform-browser';
import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { NgModule } from '@angular/core';
import { HttpClientModule } from '@angular/common/http'
import { MatTabsModule } from '@angular/material/tabs';
import { MatExpansionModule } from '@angular/material/expansion';
@ -8,6 +9,7 @@ import { MatButtonModule } from '@angular/material/button';
import { MatDividerModule } from '@angular/material/divider';
import { MqttclientService } from './mqttclient.service'
import { ConfigService } from './config.service'
import { AppComponent } from './app.component';
import { LedindicatorComponent } from './ledindicator/ledindicator.component';
@ -31,13 +33,15 @@ import { LedBoxComponent } from './led-box/led-box.component';
imports: [
BrowserModule,
BrowserAnimationsModule,
HttpClientModule,
MatTabsModule,
MatExpansionModule,
MatButtonModule,
MatDividerModule
],
providers: [
MqttclientService
MqttclientService,
ConfigService
],
bootstrap: [AppComponent]
})

View File

@ -0,0 +1,15 @@
import { TestBed, inject } from '@angular/core/testing';
import { ConfigService } from './config.service';
describe('ConfigService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
providers: [ConfigService]
});
});
it('should be created', inject([ConfigService], (service: ConfigService) => {
expect(service).toBeTruthy();
}));
});

25
src/app/config.service.ts Normal file
View File

@ -0,0 +1,25 @@
import { Injectable } from '@angular/core'
import { HttpClient } from '@angular/common/http'
import { Observable } from 'rxjs/Observable';
export interface Config {
mqttUrl: string
}
@Injectable()
export class ConfigService {
private configUrl : string = 'assets/smartclient.json'
private observableConfig : Observable<Config> = undefined
constructor(private http: HttpClient) {
}
getConfig() : Observable<Config> {
if (this.observableConfig == undefined) {
this.observableConfig = this.http.get<Config>(this.configUrl)
}
return this.observableConfig
}
}

View File

@ -1,4 +1,5 @@
import { Injectable } from '@angular/core';
import { ConfigService, Config } from './config.service'
import * as Mqtt from 'mqtt'
type callbackFunc = (message: string) => void
@ -7,8 +8,9 @@ type callbackFunc = (message: string) => void
export class MqttclientService {
private mqttClient : Mqtt.MqttClient
private callbacks : Map<string, callbackFunc> = new Map()
private config : Config
constructor() {
constructor(private configService: ConfigService) {
this.mqttClient = Mqtt.connect('ws://127.0.0.1:9001')
this.mqttClient.on('connect', () => {
console.log('MQTT connected')

View File

@ -0,0 +1,3 @@
{
"mqttUrl": "ws://127.0.0.1:9100"
}