Lan
Internet of Things Server Layer with CoAP, WebSocket, MQTT, HTTP Protocol.
Install / Use
/learn @phodal/LanREADME
Lan IoT Server
Internet of Things Server Layer with CoAP, WebSocket, MQTT, HTTP Protocol.
Inspired by Qest
Test on Node Version: v5,v6
Architecture:

详细可见:《自己动手设计物联网》

Lan Server Layer:

配置
默认配置:
{
"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"
}
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/lan --recursive
2.安装依赖
npm install
bower install
3.修改config下的配置
/config.json 数据库配置
/default.json Lan系统配置
4.数据库初始化
npm install -g sequelize-cli
sequelize db:migrate
5.Start Cron
node jobs/cron.js
6.运行
npm start
Setup
require: Install
MongoDB- Sqlite || MySQL || PostgreSQL || MariaDB || MSSQL -> SQL: save user info
Then.
1.Install dependencies
npm install
Or Just Production only:
npm install --production
2.Setup Database
sequelize db:migrate
3.Start Cron
node jobs/cron.js
4.Run
npm start
Test With Tool
HTTP
Get
curl --user root:root -X GET -H "Content-Type: application/json" http://localhost:8899/topics/root
PUT/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:root
GET - libcoap
coap-client -m get coap://127.0.0.1:5683/topic?root:root
GET/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~2016 Phodal. This code is distributed under the MIT license.
Related Skills
node-connect
349.0kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.4kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.0kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.0kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
