Gateway para IoT
Gateway para iteração com dispositivos de IoT desenvolvido em node.js e Typescript
- TypeScript 2.3 com transpile para ES6,
- TSLint 4.x com recomentações gerais padrão (*Nota: TSLint >= 5.x ainda não é suportado pelo tslint-microsoft-contrib,
- Jest para teste unitário e cobertura,
- Definições de tipo para Node.js v6.x (LTS) e Jest
- Angular 1.6 para o front end da aplicação
Scripts disponíveis
npm start
- Inicia o servidor do express.jsnpm clean
- remove todos os caches e arquivos tranpiladosnpm build
- Transpile de TypeScript para ES6,npm run watch
- Inicia um watch que efetua o transpile automatico de coisas alteradasnpm lint
- Executa um lint dos arquivos e dos testesnpm test
- Executa os testesnpm test:watch
- Inicia um watch que executa os testes sempre que algo for modificado
Dependências
MongoDb
- Na versão mais atual
Configurando
- Editar arquivo
mongoose.ts
no pathsrc/config/mongoose.ts
com as credênciais do banco. - Editar arquivo
mqtt-config.ts
no pathsrc/config/mqtt-config.ts
com as credênciais do banco.
Executando a aplicação
- Execute o comando
npm run watch
em um console e deixe aberto - Execute o comando
npm start
em outro console - Abra o navegador na tela padrão conforme a porta configurada (ela será escrita no log, por padrão é 3000).
Carregando com dados básicos:
Os dados básicos para execução da app, são criados através de uma URL exposta no endpoint de api no endereço:
http://localhost:3000/api/basicos
Ao executar este endereço, será criado um cadastro wildcard, com ID do MQTT Client '*', de forma que qualquer dispositivo enviando os dados, terá seu cadastro de dispositivo atendido para este.
O evento padrão é o envio de SMS para o número padrão e será enviado sempre que a aplicação receber um valor 'true'.
Papper
O papper (artigo) que está sendo confeccionado pode ser conferido aqui: IoT-Gateway-TCC.
License
MIT License. LICENSE.