b19b276378 | ||
---|---|---|
.github | ||
build/tools | ||
common | ||
device | ||
doc | ||
e2etests | ||
provisioning | ||
sdklab | ||
security | ||
service | ||
ts-e2e | ||
vsts | ||
.eslintrc.json | ||
.gitattributes | ||
.gitignore | ||
.jshintignore | ||
.jshintrc | ||
CODE_OF_CONDUCT.md | ||
LICENSE | ||
SECURITY.MD | ||
commitlint.config.js | ||
credscan_suppression.json | ||
feature_matrix.md | ||
lerna.json | ||
lts_branches.png | ||
mocha-reports.json | ||
package-lock.json | ||
package.json | ||
readme-modules.md | ||
readme.md | ||
thirdpartynotice.txt | ||
tls_protocol_version_and_ciphers.md | ||
tslint.json |
readme.md
Critical Upcoming Change Notice
All Azure IoT SDK users are advised to be aware of upcoming certificate changes for IoT hub and Device Provisioning Service that will impact the SDK's ability to connect. In October 2022, both services will migrate from the current Baltimore CyberTrust CA Root to the DigiCert Global G2 CA root. There will be a transition period beforehand where your IoT devices must have both the Baltimore and Digicert public certificates installed in their certificate store in order to prevent connectivity issues.
Devices with only the Baltimore public certificate installed will lose the ability to connect to IoT hub and Device Provisioning Service in October 2022.
To prepare for this change, make sure your device's certificate store has both of these public certificates installed.
For a more in depth explanation as to why the service is doing this, please see this article.
Getting Started
Why Azure IoT?
Click here to learn how Azure IoT can empower the digital transformation of your organization.
New to Azure IoT Hub?
Introduction to Azure IoT Hub: Follow this guide to learn how to set up an IoT Hub and IoT Hub devices.
New to the Azure IoT Node.JS SDK?
Try a Device Sample: Create a basic Node.js application following one of the device client library samples provided.
Components
The Azure IoT Node.js SDK enables developers to create IoT solutions written in Node.js for the Azure IoT platform. It is composed of the following client libraries:
- Device Client Library: to connect devices and IoT Edge modules to Azure IoT Hub. API Reference | README | Configuration Options
- Note: IoT Edge for Node.js is scoped to Linux containers & devices only. Learn more about using Linux containers for IoT edge on Windows devices.
- Service Client Library: enables developing back-end applications making use of Azure IoT Hub. API Reference
- Provisioning Device Client Library: to connect devices to the Azure IoT Provisioning Service. API Reference
- Provisioning Service Client Library: enables developing back-end applications making use of the Azure IoT Provisioning Service. API Reference
Samples
Device Library Samples | Service Library Samples |
---|
npm Package List
Azure IoT Hub Device Client Libraries
Name | npm package |
---|---|
Device Client | |
MQTT Transport | |
AMQP Transport | |
HTTP Transport |
Azure IoT Hub Service Client Libraries
Name | npm package |
---|---|
Service SDK |
Azure IoT Hub Device Provisioning Service: Device Client Libraries
Name | npm package |
---|---|
Device Client | |
MQTT Transport | |
AMQP Transport | |
HTTP Transport | |
TPM Security Client | |
x509 Security Client |
Azure IoT Hub Device Provisioning Service: Service Client Libraries
Name | npm package |
---|---|
Service SDK |
Working from Source Code
If you want to modify or contribute changes to the SDK, then you can build the libraries following these instructions.
How to Contribute
If you encounter any bugs, have suggestions for new features or if you would like to become an active contributor to this project please follow the instructions provided in the contribution guidelines.
- Have a feature request for SDKs? Please post it on User Voice to help us prioritize
- Have a technical question? Ask on Stack Overflow with tag "azure-iot-hub"
- Need Support? Every customer with an active Azure subscription has access to support with guaranteed response time. Consider submitting a ticket and get assistance from Microsoft support team
- Found a bug? Please help us fix it by thoroughly documenting it and filing an issue.
Platform Compatibility
The Azure IoT SDK for Node.js supports the LTS and Current versions of the Node.js runtime.
Long Term Support
The project offers a Long Term Support (LTS) version to allow users that do not need the latest features to be shielded from unwanted changes.
The maintenance lifetime of an LTS branch is currently planned for 12 months. LTS branches receive all bug fixes that fall in one of these categories:
- security bugfixes
- critical bugfixes (crashes, memory leaks, etc.)
No new features or improvements will be picked up in an LTS branch.
LTS branches are named lts_mm_yyyy, where mm and yyyy are the month and year when the branch was created. An example of such a branch is lts_07_2017.
Schedule1
Below is a table showing the mapping of the LTS branches to the package versions released
NPM Package | Github Branch | LTS Status | LTS Start Date | Maintenance End Date | Removed Date |
---|---|---|---|---|---|
1.11.x | lts_09_2019 | Active | 2019-09-09 | 2020-09-09 | 2021-03-09 |
1.17.x | lts_07_2020 | Active | 2020-07-28 | 2021-07-28 | 2022-01-28 |
1 All scheduled dates are subject to change by the Azure IoT SDK team.
New LTS branches will generally be released around the midpoint of the current LTS.
Read More
- Azure IoT Hub documentation
- Prepare your development environment to use the Azure IoT device SDK for Node.js
- Setup IoT Hub
- Node.js API reference: Service SDK
- Node.js API reference: Device SDK
This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments.
Microsoft collects performance and usage information which may be used to provide and improve Microsoft products and services and enhance your experience. To learn more, review the privacy statement.