All Projects → flowchain → Devify Server

flowchain / Devify Server

Licence: mit
A set of lightweight IoT cloud server boilerplates. The simplest way to build isomorphic JavaScript IoT servers.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Devify Server

Iotex Core
Official implementation of IoTeX blockchain protocol in Go.
Stars: ✭ 505 (+547.44%)
Mutual labels:  blockchain, internet-of-things
Deno Websocket
🦕 A simple WebSocket library like ws of node.js library for deno
Stars: ✭ 74 (-5.13%)
Mutual labels:  websocket-server
Izzzio
IZZZIO - Fully customizable blockchain platform | Node
Stars: ✭ 73 (-6.41%)
Mutual labels:  blockchain
Starcoin
A Layered Cryptocurrency and Decentralized Blockchain System.
Stars: ✭ 72 (-7.69%)
Mutual labels:  blockchain
Use Dai
💸 A curated, community compiled list of everywhere you can use the decentralized Dai stablecoin
Stars: ✭ 74 (-5.13%)
Mutual labels:  blockchain
React Native Blockchain Poll
Source code of bringing-the-blockchain-to-react-native blog post.
Stars: ✭ 75 (-3.85%)
Mutual labels:  blockchain
Cebsocket
Lightweight WebSocket library for C.
Stars: ✭ 73 (-6.41%)
Mutual labels:  websocket-server
Portis Sdk
Portis Web SDK [DEPRECATED, PLEASE USE OUR NEW SDK: https://github.com/portis-project/web-sdk]
Stars: ✭ 78 (+0%)
Mutual labels:  blockchain
Sming
Sming - Open Source framework for high efficiency native ESP8266 development
Stars: ✭ 1,197 (+1434.62%)
Mutual labels:  internet-of-things
Nethereum
Ethereum .Net cross platform integration library
Stars: ✭ 1,191 (+1426.92%)
Mutual labels:  blockchain
Workshops
Workshops for The Things Network
Stars: ✭ 74 (-5.13%)
Mutual labels:  internet-of-things
Mailchain
Using Mailchain, blockchain users can now send and receive rich-media HTML messages with attachments via a blockchain address.
Stars: ✭ 74 (-5.13%)
Mutual labels:  blockchain
Composer Tools
⚠️ ⚠️ ⚠️ Hyperledger Composer has been deprecated ⚠️ ⚠️ ⚠️
Stars: ✭ 75 (-3.85%)
Mutual labels:  blockchain
Smart Contracts
Ethereum smart contracts for security and utility tokens
Stars: ✭ 1,187 (+1421.79%)
Mutual labels:  blockchain
Blockerized Dockchain
Because all problems are solvable with containers and blockchains
Stars: ✭ 77 (-1.28%)
Mutual labels:  blockchain
Kamu Cli
Next generation tool for decentralized exchange and transformation of semi-structured data
Stars: ✭ 69 (-11.54%)
Mutual labels:  blockchain
Shodanz
🔭 A modern, async Ruby gem for Shodan, the world's first search engine for Internet-connected devices.
Stars: ✭ 74 (-5.13%)
Mutual labels:  internet-of-things
Ethnode
Run an Ethereum node (Geth or Openethereum) for development
Stars: ✭ 74 (-5.13%)
Mutual labels:  blockchain
Marketprotocol
Ethereum based derivatives trading protocol creating digital tokens for any asset
Stars: ✭ 78 (+0%)
Mutual labels:  blockchain
Iroha Javascript
JavaScript library for Iroha, a Distributed Ledger Technology (blockchain) platform.
Stars: ✭ 77 (-1.28%)
Mutual labels:  blockchain

A fast and simple way to write isomorphic Web of Things application servers in the Iot.

devify-server

Build Status

devify-server, or Devify, is a set of IoT device server boilerplate.

Devify is written in 100% JavaScript and designed to be light-weight. It aims to help developers to create IoT application servers, faster.

What's a Devify ?

Devify is a sub-project of WoT.City software framework that it proposes a new design software architecture for the development of interoperable Internet of Things (IoT) application server on IoT devices. To begin creating and developing customized such IoT application servers, the Devify provides several boilerplates (project templates) that can be used instantly.

Introduction

Devify is an open source project to develop a set of boilerplates for getting started with interoperable IoT device servers. It aims to help you developing device server running on IoT devices and using emerging web technologies.

Technology

Devify itself is a broker server that implements REST-style RPC operations. Moreover, the code size of the Devify is extremely light weight; thus, it can run on laptops, mobile devices, and even resource-constrained devices.

Quickstart

A cli tool devify-cli is available for getting started with devify.

$ npm install -g devify-cli
$ devify new <new_project_dir>
$ cd <new_project_dir> && npm install
$ node coap-broker-server-events.js

Tutorial

This section introduces the steps to write a CoAP device server to collaborate with an ESP8266 (NodeMCU) IoT device that the device server will receive data from the ESP8266 device.

The following instructions show how to connect NodeMCU to your localhost (PC/Notebook) and send ADC data to localhost over CoAP.

Step 1. Get devify-cli

$ npm install -g devify-cli 

devify-cli a cli app aimed to get you speed up.

Step 2. Create a new project

$ devify esp_air_iot

Create a new Devify project by devify-cli. Devify-cli will automatically create a new folder and download the project template at this folder. The folder name is esp_air_iot at this example.

Please make sure that git was installed at your host.

Step 3. Install dependencies

$ cd esp_air_iot && npm install

Devify project template is an isomorphic JavaScript app using Node.js. Please run npm install to get Node.js modules installed.

Step 4. Start the server

You need to export the host IP through HOST environment variable before starting the CoAP server.

$ export HOST=192.168.0.100
$ node coap-broker-server-events.js
WoT/CoAP server is listening at coap://192.168.0.100:8000

The message shows that the server is listening at coap://192.168.0.100:8000.

Step 5. Programing IoT device

The simplest way to send sensor data to IoT server via CoAP is using NodeMCU and Lua programming language.

-- Configure the ESP as a station (client)
wifi.setmode(wifi.STATION)  
wifi.sta.config("<SSID>", "<PASSWORD>")  
wifi.sta.autoconnect(1)

-- Create a CoAP client
cc = coap.Client()

-- Make a POST request
uri="coap://192.168.0.100:8000/object/12345678/send"

-- Setup a timer to send ADC data
tmr.alarm(0, 1000, 1, function() 
    buf = 
          "{" ..
          "\"quality\":" ..
          adc.read(0) ..
          "}"
    
    cc:post(uri, buf)
    print(buf)
end)

The sample coap-broker-server-events.js will print messages from IoT devices on the console. Please read 101-air-quality-sensor-console-print for getting started.

Step 6. Deploy

A Devify application server might be installed and run on a cloud-based server, an application processor-based high-performance device or a microcontroller device. The following section introduces how to install a Devify application server on Azure, the cloud-based server.

Deploy: Cloud-Based Server

Deploy to Azure

Before starting to develop your own IoT server. You may want to have a try. By click the Deploy to Azure button, it takes couple minutes to have devify-server deployed at Microsoftt Azure web service. The following instructions show how to deploy devify-server, and have a try by using test scripts.

  • Please click above button to deploy this project.

  • Be sure to Enable Web Sockets after deploy.azure.com has finished deploying this project.

  • Go to the Windows Azure Management Console

  • Select App Services

  • Select your web site, and go to the All settings page

  • Scroll down and select Application settings in the GENERAL label

  • Scroll down and switch the button of Web sockets to On

  • Click the Save icon

  • Use your web site URL to access Devify server.

  • Go to the Windows Azure Management Console

  • Select App Services

  • Select your web site

  • Find URL here, for example devify-server88de.azurewebsites.net

  • Use WebSocket broker server.

  • Open test/test.websocket.send.js file

  • Modify this line: client.connect('ws://localhost:8000/object/5550937980d51931b3000009/send', ''); to meet your web site URL. For the example above client.connect('ws://devify-server88de.azurewebsites.net/object/5550937980d51931b3000009/send', '');

  • The Devify framework will generate a URI for sending the received messages, use ws://devify-server88de.azurewebsites.net/object/5550937980d51931b3000009/viewer to receive real-time messages from the server. Please open test/test.websocket.viewer.js, and modify the URL string.

  • The string 5550937980d51931b3000009 is the device ID. You can modify it and give a favor string.

Biolerplates

Currently, the Devify provices 5 templates to introduce the usage of devify-server open source project.

License

devify-server is released under the MIT License. See LICENSE.md.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].