- Register device to the dailyiot platform
- Provide gateway to route request to skills and provide health data
- Deploy and manages skill on the go
DailyHOME Device Stack
Device platform use swarm for its core
FaasSwarm: Manage skill dynamically
DeviceGateway: Lightweight and fast http router
Skills : Handle Skill Specific Call (run in a priiviledged mode)
For getting started with swarm on Raspberry Pi with raspbian follow the instructions
Alternatively,
You can deploy the dummy implementation locally by running the dummy skills
Define the device unique identifier by editing configuration file
DEVICEID=MyRaspBuild Locally (optional)
./build.shDeploy the device stack
./deploy.shDevice stack can be deployed along with daily-iot platform in same swarm cluster otherwise independently
It uses same network as of openfaas functionsfunc_functionsfor makingdevice-gatewayaccessible from platform
and create a private network based on theDEVICEIDto independently manage skills
For a independent swarm cluster daily-iot platform address and device address need to be defined by changing docker-compose.yml file:
Change the dailyhome gateway address
DAILYIOT: "http://your-openfaas/function/diot-gateway"and
Change the public address of your device
DEVICEADDR: "http://<device_public_address>"Multiple device stack can be deployed in a same host by changing the DEVICEID and exposed PORT in the configuration file
DEVICEID=MySecondDevice
PORT=6207- Implement switch skill
- Implement dummy skill
- Automatic device registration on Startup
- Support local deployment of multiple devices for testing
- Optional Automatic ngrok tunnel creation on Startup
- Health Checkup for Skills
- Change password and token to docker secrets
- Template and SDK for Writing different IOT Skill
- Write Skill implementation Documentation
- Travis integration
- Device Setup via Wifi Hotspot like Alexa
