This scale is a solution for obtaining weight data and sending out instantaneous notifications to users. In practical settings, such as a bakery, users can have access to inventory through dashboard visualizations as well as customized notifications once inventory falls below a certain threshold. Using the growing Helium Network, this solution provides a simple solution for managing resources.
The Set Up:Set Up the ScaleQwiic Scale Hookup Guide - learn.sparkfun.com.
Follow the informative guide on SparkFun’s page to set up the wiring of the scale of the other electronic parts. Here you can also have access to the examples that are provided by SparkFun to verify if the scale is properly set up and solutions for unexpected values.
Arduino IDE SetupThe code to run this project uses Arduino IDE.
Follow the follow steps to set up the IDE
https://docs.helium.com/use-the-network/devices/development/heltec/cubecell-dev-board/arduino/
Connect Heltec CubeCell to computer and run the code (ctrl+u) that is provided through the Code section. Open up the serial monitor (ctrl+shft+m) to verify if weight data is accurate.
Helium ConsoleCreate an account on Helium Console
Click on Devices on the left and then Add Device located in the bottom right “+”. Name the device on Console
Helium console will automatically generate the Dev EUI, App EUI, and the App Key needed to place into the code of the scale for connectivity
Click on the “+” and Add Integration to choose from a list of default integrations- make sure to name the integration so that it will be easier to attach labels.
Go back to Devices and click on a unique device. You can now add a label (integration chosen) to the device to send data to.
- Go back to Devices and click on a unique device. You can now add a label (integration chosen) to the device to send data to.
4. Create an account on https://tago.io/ and generate an authorization key (this step can be done with any other dashboard services, follow Integrations | Helium Documentation for examples).
5. Return to Helium Console and create a label with the new authorization key provided through selected dashboard service (https://docs.helium.com/use-the-network/console/labels/ for additional help)
Dashboard- Tago.ioNow, it is time to set up a dashboard service account depending on the integration that you chose in the earlier steps. Follow Integrations | Helium Documentation for examples.
This project utilizes the Tago.io dashboard.
Create an account on https://tago.io/ and generate an authorization key
Click on Devices in the top left corner and then Add Device on the top right
In the search bar, look for Helium as we are creating a custom Helium Sensor. You can then set the name of your device and input the Dev EUI generated by the Helium Console
Since this is a custom sensor, we have to provide the payload parser- which is provided in the Code section of this document.
Now that that is all set up, we can now set up a function dashboard- you can add a dashboard in the left menu. Tago.io provides a variety of widgets that you can use to display the data that is sent.
Once you select a widget (in this case a line graph), you must select the device that you registered and a variable (data from scale is declared as weight).
After customizations, an example of a functional dashboard would look something like this
You can now set up alerts on this dashboard service by clicking on the Actions button and then the add Action, here you can completely customize it to fit your needs
Run the device on Helium Console and verify that there is integration success (blue dots). *
Decoder FunctionIf you chose to use a different dashboard platform, the following may be useful. This is a decoder that decodes the hex string values that are sent by the device to Console and will instantly decode them through the Console. The Tago.io dashboard’s payload parser does the same thing, but on their platform since the data that is sent to them from Console is encoded. This function allows for the encoded values to be sent to dashboards as decoded and readable values without having to write a parser.
1. Go to Helium Console and click on the “+” to Add a Function
2. Give the function a unique name (this will be the name of the label)
3. Set function type to Decoder
4. Set format to Custom Script
4. Copy and paste the decoder provided in the Code section of this document
Comments