lan
v0.2.0
Published
Internet of Things Server Layer with CoAP, WebSocket, MQTT, HTTP Protocol.
Readme
Lan Server Layer
Internet of Things Server Layer with CoAP, WebSocket, MQTT, HTTP Protocol.
Similar to Ponte & Inspired by Qest
Test on Node Version: 0.12.7
##IoT Architecture:

##Lan Server Layer:

##Configure
Default Config:
{
"encrypt": "crypto",
"db_url": "mongodb://localhost:27017/lan",
"db_collection": "documents",
"db_collection_user": "user",
"modules": [
"coap",
"http",
"mqtt",
"websocket"
],
"port": {
"http": 8899,
"websocket": 8898,
"coap": 5683,
"mqtt": 1883
},
"logging" :true,
"secret": "keyboard cat"
}###Import make sure change secret
encrypt: ["crypto", "bcrypt"]
modules: ["coap", "http", "mqtt", "websocket"]
Use bcrypt, please install it:
npm install --save bcrypt##Docker
Require: Docker
docker build .##安装(Setup)
必装:
- MongoDB -> NoSQL: 数据存储
- Sqlite || MySQL || PostgreSQL || MariaDB || MSSQL -> SQL: 存储用户信息
然后:
1.Clone
git clone https://github.com/phodal/lan2.安装依赖
npm install
bower install 3.修改config下的配置
/config.json 数据库配置
/default.json Lan系统配置 4.数据库初始化
npm install -g sequelize-cli
sequelize db:migrate5.Start Cron
npm jobs/cron.js6.运行
npm start ##Setup
require: Install
MongoDB- Sqlite || MySQL || PostgreSQL || MariaDB || MSSQL -> SQL: save user info
Then.
1.Install dependencies
npm installOr Just Production only:
npm install --production2.Setup Database
sequelize db:migrate 3.Start Cron
npm jobs/cron.js4.Run
npm start##Test With Tool
###HTTP
Get
curl --user root:root -X GET -H "Content-Type: application/json" http://localhost:8899/topics/rootPUT/POST - cUrl
curl --user root:root -X PUT -d '{ "dream": 1 }' -H "Content-Type: application/json" http://localhost:8899/topics/root###MQTT
Publish - Mosquitto
mosquitto_pub -u root -P root -h localhost -d -t lettuce -m "Hello, MQTT. This is my first message."Subscribe - Mosquitto
mosquitto_sub -t message -h localhost -u root -P root###CoAP
POST/PUT - libcoap
coap-client -e "{message: 'hello,world}" -m put coap://127.0.0.1/topic?root:rootGET - libcoap
coap-client -m get coap://127.0.0.1:5683/topic?root:rootGET/POST/PUT - Copper
GET: Click GET
POST: Type on Outgoing, Click POST
###WebSocket
Message
node test_scripts/ws_test.js##Auth
Standalone (单机)
User -> SQL Database (Auth)
SQL Database -> NoSQL (Save)
Multi
User -> SQL Database (Save)
SQL Database -> NoSQL (Cron Job || MQ)
User -> NoSQL (Auth && Save)
##License
© 2015 Phodal Huang. This code is distributed under the MIT license.
