Skip to content

Commit

Permalink
Raname Gateway SDK to IoT Edge
Browse files Browse the repository at this point in the history
  • Loading branch information
damonbarry committed May 10, 2017
1 parent 0881e67 commit d6873e4
Show file tree
Hide file tree
Showing 21 changed files with 130 additions and 122 deletions.
18 changes: 9 additions & 9 deletions Contributing.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The Azure IoT Gateway SDK shares the same [contribution guidelines](https://github.com/Azure/azure-iot-sdks/blob/master/CONTRIBUTING.md) as
the other Azure IoT SDKs. The gateway SDK team also monitors our [GitHub issues](https://github.com/Azure/azure-iot-gateway-sdk/issues)
section and Stack Overflow, especially the [azure-iot-gateway-sdk](http://stackoverflow.com/questions/tagged/azure-iot-gateway-sdk) tag.
Azure IoT Edge shares the same [contribution guidelines](https://github.com/Azure/azure-iot-sdks/blob/master/CONTRIBUTING.md) as
the other Azure IoT SDKs. The Azure IoT Edge team also monitors our [GitHub issues](https://github.com/Azure/azure-iot-gateway-sdk/issues)
section and Stack Overflow, especially the [azure-iot-edge](http://stackoverflow.com/questions/tagged/azure-iot-edge) tag.

----------

Expand All @@ -19,7 +19,7 @@ Provide documentation for your module, including:
### Automated tests
If your module is available as open-source code, make automated tests available (e.g., published to the module's code repository, with instructions for building and running them) so anyone can confirm that the module behaves as described. The tests must:
- Verify domain-specific behavior (e.g. if it's a protocol translation module, does it successfully and accurately translate from protocol A to protocol B?)
- Validate that the module uses the gateway SDK correctly (Note: in the future we'd like to provide an acceptance suite to help you with this part)
- Validate that the module uses Azure IoT Edge correctly (Note: in the future we'd like to provide an acceptance suite to help you with this part)

If your module is _not_ available as open-source code, we still recommend automated tests but don't require them.

Expand All @@ -30,10 +30,10 @@ We recommend that you provide one or more samples, in the form of code or docume
Open a [Pull Request](https://github.com/Azure/azure-iot-gateway-sdk/compare) that adds a row about your module to the bottom of the Featured Modules table in our [README](https://github.com/Azure/azure-iot-gateway-sdk/blob/master/README.md), e.g.,

```
>| Name | More information | Targets gateway SDK version |
>|--------------|---------------------------------|-----------------------------|
>| ... | ... | ... |
>| XYZ protocol | http://contoso.com/xyz_protocol | 2016-09-01 |
>| Name | More information | Targets Azure IoT Edge version |
>|--------------|---------------------------------|--------------------------------|
>| ... | ... | ... |
>| XYZ protocol | http://contoso.com/xyz_protocol | 2016-09-01 |
```

#### "More information" field
Expand All @@ -45,6 +45,6 @@ Your module's documentation must be discoverable from the page at this URL.

#### PR Comments

Add comments to the PR to describe how your module meets the requirements listed here. Also describe what steps you've taken to test your module against the gateway version referenced in the **Targets gateway SDK version** field.
Add comments to the PR to describe how your module meets the requirements listed here. Also describe what steps you've taken to test your module against the gateway version referenced in the **Targets Azure IoT Edge version** field.

**Note**: We reserve the right to remove a module's entry from the table if it hasn't been updated in a while.
2 changes: 1 addition & 1 deletion License.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
Microsoft Azure IoT Gateway SDK
Microsoft Azure IoT Edge
Copyright (c) Microsoft Corporation

MIT license
Expand Down
62 changes: 36 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,18 @@
This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [[email protected]](mailto:[email protected]) with any additional questions or comments
The Azure IoT Gateway SDK was our first step to enabling edge analytics in IoT solutions. We’re doubling down on, and expanding, this vision as explained in Satya’s Keynote at the Build conference and Sam George’s [blog post](http://blogs.microsoft.com/iot/?p=23040). As part of this evolution, the SDK is becoming an extensible product you can use instead of a set of code you build. To reflect this, we’re changing the name to Azure IoT Edge.

# Azure IoT Gateway SDK
All the important developer concepts are maintained as we continue to improve Azure IoT Edge. Specifically…
- modules remain units compute which can be written in your programming language of choice.
- traditional cloud services and 3rd party business logic can run as a module.
- modules can communicate with each other via declarative message passing.

This similarity means that existing solutions can evolve with the product! There will be some infrastructural changes. For example: modules will run in Docker containers and the broker used to pass messages between module code will move to a lite version of IoT Hub running locally in a module. The vast majority of this is shielded from both a module developer and gateway developer.

Sign up [here](https://microsoft.qualtrics.com/jfe/form/SV_0V8Xr8y9c4mHUfb) to be kept up to date about the next generation of Azure IoT Edge features. In the meantime, be sure to check out the great features we just added to Azure IoT Edge, like [development packages](https://azure.microsoft.com/en-us/blog/azure-iot-gateway-sdk-packages/) and an [Azure Stream Analytics module](https://azure.microsoft.com/en-us/blog/announcing-azure-stream-analytics-on-edge-devices-preview/).


# Azure IoT Edge
IoT scenarios vary drastically between industries and even between customers within the same industry.
The Azure IoT Gateway SDK lets you build IoT solutions tailored to your exact scenario. Connect new
Azure IoT Edge lets you build IoT solutions tailored to your exact scenario. Connect new
or existing devices, regardless of protocol. Process the data in an on-premises gateway using the
language of your choice (Java, C#, Node.js, or C), before sending it to the cloud. Deploy the solution
on hardware that meets your performance needs and runs the operating system of your choice.
Expand All @@ -13,14 +23,14 @@ cloud, it also filters the data so that only the most important information is u

![](doc/media/READMEDiagram.png)

Using existing modules from the Azure IoT Gateway SDK ecosystem significantly reduces your development
Using existing modules from the Azure IoT Edge ecosystem significantly reduces your development
and maintenance costs. Running the gateway on-premises opens up all kinds of scenarios like
communicating between devices in real time, operating your IoT solution with an intermittent cloud
connection, or enforcing additional security requirements.

Visit https://azure.microsoft.com/en-us/services/iot-hub/iot-gateway-sdk/ to learn more about the Azure IoT Gateway SDK.
Visit [https://azure.microsoft.com/campaigns/iot-edge](https://azure.microsoft.com/campaigns/iot-edge/) to learn more about Azure IoT Edge.

## SDK Modules
## Azure IoT Edge Modules
The following modules are available in this repository:
>| Name | Description |
>|------------------|-------------------------------------------------------------------------|
Expand All @@ -34,18 +44,18 @@ The following modules are available in this repository:
## Create Modules using Packages
The fastest way to setup your development environment to start writing modules is to leverage our packages for Java, C#, and Node.js. Our [sample apps repo](https://github.com/Azure-Samples/azure-iot-gateway-samples/) has quick steps on getting started with these packages:
- [Gateway SDK Maven](https://github.com/Azure-Samples/azure-iot-gateway-samples/#how-to-run-java-modules-windows-10ubuntu-linux-14): With this you will be able to run the Gateway sample app and start writing Java modules. This package contains the Gateway runtime core and links to the module dependencies’ packages for Linux or Windows.
- [Gateway SDK npm](https://www.npmjs.com/package/azure-iot-gateway): With this you will be able to run the Gateway sample app and start writing Node.js modules. This package contains the Gateway runtime core and auto-installs the module dependencies’ packages for Linux or Windows.
- [Gateway SDK NuGet .NET Framework](https://www.nuget.org/packages/Microsoft.Azure.IoT.Gateway.Module): With this you will be able to run the Gateway sample app and write .NET Framework modules on Windows, dependent on [Gateway Core Runtime for Windows](https://www.nuget.org/packages/Microsoft.Azure.Devices.Gateway.Win32/).
- Gateway SDK NuGet .NET Core (coming soon)
- [Azure IoT Edge Maven](https://github.com/Azure-Samples/azure-iot-gateway-samples/#how-to-run-java-modules-windows-10ubuntu-linux-14): With this you will be able to run the Azure IoT Edge sample app and start writing Java modules. This package contains the Azure IoT Edge core and links to the module dependencies’ packages for Linux or Windows.
- [Azure IoT Edge npm](https://www.npmjs.com/package/azure-iot-gateway): With this you will be able to run the Azure IoT Edge sample app and start writing Node.js modules. This package contains the Azure IoT Edge core and auto-installs the module dependencies’ packages for Linux or Windows.
- [Azure IoT Edge NuGet .NET Framework](https://www.nuget.org/packages/Microsoft.Azure.IoT.Gateway.Module): With this you will be able to run the Azure IoT Edge sample app and write .NET Framework modules on Windows, dependent on [Azure IoT Edge Core for Windows](https://www.nuget.org/packages/Microsoft.Azure.Devices.Gateway.Win32/).
- Azure IoT Edge NuGet .NET Core (coming soon)

## Featured Modules
Other people are creating modules for the gateway SDK too! See the **More information** link for
Other people are creating modules for Azure IoT Edge too! See the **More information** link for
a module to find out how to get it, who supports it, etc.
>| Name | More information | Targets gateway SDK version |
>|---------------|---------------------------------------------|-----------------------------|
>| Modbus | https://github.com/Azure/iot-gateway-modbus | 2017-01-13 |
>| OPC-UA Client | https://github.com/Azure/iot-gateway-opc-ua | 2016-11-18 |
>| Name | More information | Targets Azure IoT Edge version |
>|---------------|---------------------------------------------|--------------------------------|
>| Modbus | https://github.com/Azure/iot-gateway-modbus | 2017-01-13 |
>| OPC-UA Client | https://github.com/Azure/iot-gateway-opc-ua | 2016-11-18 |
>| GZip Compression (NodeJS) | https://github.com/Azure/iot-gateway-compression-gzip-nodejs | 2016-12-16 |
>| Proficy Historian | https://github.com/azure-samples/iot-gateway-proficy-historian | 2017-01-13 |
>| SQLite        | https://github.com/Azure/iot-gateway-sqlite | 2017-01-13                 |
Expand All @@ -55,8 +65,7 @@ We'd love to feature your module here! See our [Contribution guidelines](Contrib
more info.

## Operating system compatibility
The SDK is designed to be used with a broad range of operating system platforms. The version
of the Azure IoT Gateway SDK has been tested on the following operating systems:
Azure IoT Edge is designed to be used with a broad range of operating system platforms. It has been tested on the following operating systems:

- Ubuntu 14.04
- Ubuntu 15.10
Expand All @@ -65,37 +74,36 @@ of the Azure IoT Gateway SDK has been tested on the following operating systems:
- Wind River 7.0

## Hardware compatibility
The SDK is designed to be independent from hardware in addition to the operating system.
Azure IoT Edge is designed to be independent from hardware in addition to the operating system.
Developers can power their gateways with hardware as constrained as a microcontroller to
systems as powerful as a ruggedized server.

## Directory structure

### /doc
This folder contains general documentation for the SDK as well as step by step instructions
This folder contains general documentation for Azure IoT Edge as well as step by step instructions
for building and running the samples:

General documentation

- [Dev box setup](doc/devbox_setup.md) contains instructions for configuring your machine to
build the Azure IoT Gateway SDK as well as instructions for configuring your machine to build
build Azure IoT Edge as well as instructions for configuring your machine to build
modules written in Java, Node.js, and .NET.

- [Ubuntu Snap Package Walk-through](doc/azure_iot_gateway_snap.md) provides the step-by-step
instructions used to create the Azure IoT Gateway Snap package. The walk-through is a great
starting point, for anyone trying to integrate the Azure IoT Gateway SDK into their own snap
instructions used to create Azure IoT Edge Snap package. The walk-through is a great
starting point for anyone trying to integrate Azure IoT Edge into their own snap
package.

API documentation can be found [here](http://azure.github.io/azure-iot-gateway-sdk/api_reference/c/html).

### /samples
This folder contains all of the samples for the Azure IoT Gateway SDK. Samples are separated
This folder contains all of the samples for Azure IoT Edge. Samples are separated
in their own folders. Step by step instructions for building and running each sample can be found
in the README.md file in the root of each sample's folder.

Samples include:
- [Hello World](samples/hello_world/README.md) - Learn the basic concepts of the Azure IoT
Gateway SDK by creating a simple gateway that logs a hello world message to a file every 5 seconds.
- [Hello World](samples/hello_world/README.md) - Learn the basic concepts of Azure IoT Edge by creating a simple gateway that logs a hello world message to a file every 5 seconds.
- [Simulated Device](samples/simulated_device_cloud_upload/README.md) Send data to IoTHub from
a gateway using a simualted device instead of using a real device.
- [Real Device](samples/ble_gateway/README.md) - Send data to IoTHub from a real device that could not
Expand All @@ -104,7 +112,7 @@ connect to the cloud unless it connected through a gateway. This sample uses a B
as the end device .

### /modules
This folder contains all of the modules included with the Azure IoT Gateway SDK. Each module
This folder contains all of the modules included with Azure IoT Edge. Each module
represents a specific piece of functionality that can be composed into an end to end gateway
solution. Details on the implementation of each module can be found in each module's devdoc/ folder.

Expand All @@ -118,3 +126,5 @@ Details on the implementation of core components can be found in [core/devdoc](c
This is the default folder that cmake will place the output from our build scripts. The developer
always has the final say about the destinaiton of build output by creating a folder, navigating to
it, and then running cmake from there. Detailed instructions are contained in each sample doc.

This project has adopted the [Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/). For more information see the [Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/) or contact [[email protected]](mailto:[email protected]) with any additional questions or comments
Loading

0 comments on commit d6873e4

Please sign in to comment.