Helium – Streamr is an End-to-End Pipeline for Connecting, Delivering, and Monetizing IoT Data.
ERC-20 Compatible $DATA Token Combines With Helium Network
Every day, the Helium Network is traversed by hundreds of millions of data packets, each of which carries the undeniable momentum toward a connected and open world in addition to priceless information like the location of your asset.
While the Helium Network has made connectivity far-reaching and affordable, the IoT data may be collaboratively analyzed to uncover enormous potential. Imagine setting up a humidity sensor to enable researchers to study microclimates, installing smoke detectors to help the forest service department respond to wildfires more quickly, or even sharing your car’s vibration data with city planners to help them keep an eye on the state of the roads. …and here’s the cherry on top: You get compensated for your data!
Here we have Streamr, a decentralized platform for real-time data publishing, consumption, and monetization. They have created Data Unions, a higher-level framework that enables huge groups of individuals to productize and find markets for their data, in addition to the core Streamr protocol. $DATA, Streamr’s ERC-20 compliant token that enables settlements and distribution of data streams straightforward and decentralized, facilitates all transactions.
The fact that the network belongs to the people and that the data should follow suit makes the union of Helium and Streamr truly ideal. Are you eager to get in and get things going? You’ll be up and running with Helium x Streamr in no time thanks to our updated instructions!
Onboarding a device to Helium
Please refer to the step-by-step guide here.
Establishing a Streamr Broker node
Please refer to the step-by-step guide here. I’m using the default MQTT port (1883) and HTTP port (7171).
Open your Streamr Broker node config json file and find your apiAuthentication key towards the bottom of the file. You will need this later for the integration.
After launching your node, take a note of your node’s Ethereum address since you will need this later for the integration as well.
Creating a Streamr data stream
Please refer to the step-by-step guide here. Take a note of your stream ID, you will need this later for the integration. If you’d prefer to create your stream with code, checkout the Streamr examples repo for all the details.
Allow your Broker node to publish data to your stream
- If you haven’t installed NodeJS yet, please do so here.
- Open up a terminal
- Run npm i streamr-client
- Download a script that enables our Broker node to publish/subscribe to our data stream from here.
- Open that script with your preferred editor and fill in the following variables — the PrivateKey is your the private key, BrokerNodeAddress is your node’s Ethereum address, and the id in the getOrCreateStream function should be replaced by your stream ID.
- Navigate to the folder that you downloaded the script to, then run node 01-CreateStreamAndAssignPermissions.js
- You should see something like this! Your node should have publish and subscribe access now.
Flow your data from Helium to Streamr
- Allow port forwarding on your MQTT port and HTTP port (1883 & 7171 by default) so Helium can reach your Streamr node. Please refer to the step-by-step guide here. Make sure you only enable port forwarding for the local IP address that your Broker node is running on (e.g. if you are running your Broker node on your laptop, then enable port forwarding for the local IP address of that laptop.)
- Navigate to the Helium Console’s Integrations panel. Let’s first add a MQTT integration. In the endpoint field, the format should be
mqtt://<username (can be anything)>:<apiAuthentication key>@<the external IP address of your Streamr node>:<the MQTT port your Streamr node is using>
- The uplink & downlink topic should simply be your stream ID. Finally, let’s name the integration MQTT to Streamr. Note that < and > are only there for formatting readability and they should NOT be included.
- Next, let’s add an HTTP integration. In the endpoint URL field, the format should be
//<the external IP address of your Streamr node>:<the HTTP port your Streamr node is using>/streams/<formatted stream ID>.
- Note that you need to replace the backslash in the data stream topic with %2F to satisfy the URL formatting requirement. (e.g. if the data stream topic is 0xabcd/test, you will use 0xabcd%2Ftest for the formatted data stream topic). In the HTTP Headers section, we need to fill the Key blank with Authorization, and the Value blank with Bearer <apiAuthentication key>. Note that < and > are only there for formatting readability and they should NOT be included.
- In order to use the MQTT and HTTP integrations, add those integrations to your Flow. Learn more about setting up a device -> decoder -> integration flow here. The decoder is necessary as the Streamr Network is a JSON only protocol.
In order to validate if the integration works or not, inspect the event log of your device uplinks. If successful, you should see the following.
Lastly, head over to the data stream page on Streamr, and you should be able to inspect data as they flow in.
You can also subscribe to the live data using the Streamr CLI tool.
Opportunities in the Streamr ecosystem
Now that your data stream is connected to Streamr, you can use the whole ecosystem to your advantage and make your data go further. You can, for example, connect the data to web apps in real-time using the client library for JS, plug it into Grafana for visualizations, connect to IFTTT for automation using community-built tools, or connect the data to smart contracts with Chainlink and soon API3.
For data monetization, you can wrap your stream(s) into a product and sell it on the Streamr Marketplace. Other people will then be able to pay you a reward of your choosing for continuous access to your streams. If the data from your devices alone is not enough to make a compelling product, you can join (or start!) a Data Union, a framework that allows you to join forces with others producing similar data, and “crowdsell” it together using a revenue sharing model implemented by Data Unions.
By realizing this integration, both Helium and Streamr can provide their users with a fully decentralized and trustless global data infrastructure for a “first-to-last-mile” IoT pipeline. Users gain benefits from the network effects of composable ecosystems, and no longer need to accept vendor lock-in or privacy issues inherent with centralized cloud services in order to connect their data to applications and to data consumers. Instead, users can leverage networks made for, and operated by, the people. They stay in control of the data they’re producing, and they gain the opportunity to participate in the emerging data economy.
Via this site