Skip to content

Light-monitoring cloud solution β˜€ ​

In this first full solution exercise we will make a full Information-Value Loop and learn about new components and protocols while doing it.

A user watching a cloud dashboard on a tablet

The solution will:

  • enable a user to monitor and look at lighting conditions in a certain spot on a graph over time.
  • enable the user to do this everywhere with an internet connection by using a cloud dashboard.

πŸ’Έ Defining the added value ​

This light-monitoring solution with a cloud dashboard can provide value in some of the following ways:

  • Comfortable and energy-saving lighting conditions: This solution can help monitor the ambient light level in different locations and environments, such as indoors, outdoors, day, night, etc. It can also help adjust the brightness of your room to see when you should be turning on the lights. This can help you save energy and work more comfortably.

  • Optimizing plant growing environments: This solution can help optimize the growth and health of indoor plants, such as monitoring and adjusting the artificial lighting.

πŸ”„ Setting up the information-value loop ​

An Information-Value Loop including value drivers

For an IoT project surrounding remote truck tracking we can roughly determine the following information-value loop aspects:

Sensors ​

We need a sensor that measures light intensity. This happens in lux units.

What is Lux?

Lux is a unit of illumination that measures how much light falls on a surface. It is equal to one lumen per square meter.

Some examples of different illuminance levels in lux are:

  • 0.0001 lux: Moonless, overcast night sky (starlight)
  • 50 lux: Family living room lights
  • 1000 lux: Overcast day
  • 10,000-25,000 lux: Full daylight (not direct sun)

The human eye can adapt to a wide range of brightness levels, but generally prefers moderate to high illuminance for comfortable vision.

To make an argumented choice, can compare and list some popular light intensity (illuminance) sensors, refer to this article for more insights.

We made the choice for the BH1750 sensor on a breakout board.

SensorPower SupplyMeasuring RangeResolutionIR FilterConnection Options
BH17503 - 5 V0 - 65535 lx0.11 - 7.4 lxYesIΒ²C

It is:

  • readily available, making it a common choice in starter packs for learning IoT.
  • capable of handling 3-5V directly as supply voltage, making it usable with boards that have a 5V supply voltage as standard like an Arduino. Some other sensors cannot handle this range directly.
  • able to help to reduce the influence of infrared radiation on the measurements by having an IR filter, making them more accurate and consistent with the human eye response. The IR filter also helps to reject light noise from 50Hz or 60Hz sources, such as fluorescent lamps.

It is however less useful for outdoor applications on battery power, as it has a power consumption on the higher side and has no way of filtering UV light interference.

Embedded communication protocols ​

Our BH1750 uses the IΒ²C protocol to communicate with embedded platforms so we will use that.

Embedded platforms ​

We will be working with the Orange Pi 3 LTS to make our proof-of-concept. It has capability to set up IΒ²C communication.

Regular wireless or wired communication protocols ​

The ThingSpeak cloud plaform we will be using has great MQTT support. MQTT is a protocol that enables lightweight and reliable communication between IoT devices and platforms over the internet. Some of the advantages of using MQTT are:

  • It is lightweight and suitable for low-power and low-bandwidth devices.
  • It reduces network usage and latency by using a publish/subscribe model and minimizing data packets.
  • It is scalable and flexible, as it can support millions of devices and various data types.
  • It is simple and easy to implement, as it has a built-in broker service and supports various hardware and software libraries.

More about this when we work with it in detail.

Cloud platforms ​

For the proof of concept we will use ThingSpeak, a platform that allows you to collect, store, analyze, and visualize data from IoT devices.

ThingSpeak is easy to use in a proof of concept via MQTT because:

  • it has a built-in MQTT broker that supports both publish and subscribe operations. This means you don’t need to set up or manage a separate broker service, and you can use the same platform for both data collection and data analysis.
  • it provides a simple and secure way to create and authorize MQTT devices and channels. You can use the web interface to generate the credentials (client ID, username, and password) for your MQTT device, and assign it to one or more channels. You can also control the permissions (publish and subscribe) for each channel.
  • it offers a web-based interface to monitor and control the data flow and perform data analysis. You can view the live data from your MQTT devices on the channel page, and use the MATLAB Analysis and Visualization apps to process and visualize the data.
  • it has a free tier option that is simple to set up. Other cloud platforms like AWS or Azure are a lot more intricate and involve more part that can cost money. We don't have any need for such a feature-rich cloud platform for this proof-of-concept.

Analytical and intelligence tools ​

We will simply use the descriptive analytics which are included with ThingSpeak: a number of dashboard options for graphs, charts, tables etc.

A ThingSpeak dashboard

Conclusion on the information-value loop ​

We have completed our loop with filling in the following aspects:

AspectDetails
SensorBH1750 light intensity sensor
Embedded communication protocolIΒ²C
Embedded platformsOrange Pi 3 LTS
Regular wireless or wired communication protocolMQTT over the internet
Cloud platformThingSpeak
Analytical and intelligence toolsDescriptive analytics, dashboard included in ThingSpeak

Ο€