feat: add a simple webserver

load up client-side mqtt code, and static html website
This commit is contained in:
2018-01-11 19:31:28 -07:00
parent 753db12b3e
commit b2d98eb670
5 changed files with 104 additions and 32 deletions

45
src/mqtt.mjs Normal file
View File

@@ -0,0 +1,45 @@
import mosca from 'mosca';
// source: https://github.com/mcollina/mosca/wiki/Mosca-basic-usage
export default function createMQTTServer(port = 1883) {
const moscaSettings = {
port,
persistence: {
factory: mosca.persistence.LevelUp,
path: 'db',
},
};
const server = new mosca.Server(moscaSettings);
const setup = () => {
console.log('Mosca server is up and running on port:', moscaSettings.port);
const message = {
topic: '/hello/world',
payload: 'abdce', // or a Buffer
qos: 0, // 0, 1, or 2
retain: true, // retain message for future subscribers
};
console.log('--- server publishing to mqtt ---');
server.publish(message, () => {
console.log('message published!');
});
};
server.on('ready', setup);
// fired when a message is published
server.on('published', packet => {
console.log(
'published event',
packet.retain ? '(persisted)' : '',
packet.topic,
packet.payload
);
});
return server;
}