- Decrypt and encrypt Lora packet
- Authentification by OTAA and ABP via Aloes device-manager
- MQTT flow triggered by LoraWan server events
- Decode payload received/sent with CayenneLPP
LoraWan MQTT API build upon :
-
/. --> Main application configuration, dependencies list, and launch scripts
-
/deploy --> contains environment variables ( hidden files )
-
/docs --> contains static site assets and configuration ( JSDoc & Vuepress)
-
/log --> contains logs from PM2
-
/src --> contains source code
Edit your config in .env_sample
and save it as .env
.
You can override these by populating deploy
with files corresponding to an environment ( eg: .env_production ... ), and via pm2 ecosystem.config.json
.
$ npm install -g pm2
$ npm install
$ npm run lint
$ npm run start:dev
With JSDoc and Vuepress
$ npm run docs:dev
$ npm run docs:build
$ npm run docs:serve
Please remember to update .env
and / or ecosystem.config.json
files to match your enviroment.
$ npm run deploy:prod
- Access to server with SSH :
$ ssh-keygen -f ~/.ssh/server_name -t rsa -C <email_address> -b 4096
$ ssh-copy-id -i ~/.ssh/server_name user@server_uri
- Creating environment :
$ pm2 deploy ecosystem.config.js production setup
- Updating environment :
$ pm2 deploy ecosystem.config.js production update
Be sure to commit your changes on the right branch before each setup and update: ( master for production env, and staging for dev/staging env )
$ git checkout master
$ git add .
$ git commit .
$ git push