GroveWeatherPi New Software/Hardware Version Released

GroveWeatherPi New Software/Hardware Version Released

SwitchDoc Labs is pleased to release a new version (Version 2.8) of the popular GroverWeatherPi Pure Python software for the GroveWeatherPi Raspberry Pi based Solar Powered Weather station kit.  You can find it on the SwitchDoc Labs GitHub repository.

What is GroveWeatherPi?

GroveWeatherPi is a Solar Powered Raspberry Pi WiFi connected weather station designed for Makers by SwitchDoc Labs ( www.switchdoc.com). This is a great system to build and tinker with. All of it is modifiable and all source code is included.

Features of the Grove Weather PiGroveWeatherPi

The most important functions are:

  • – Detects Lightning!
  • – Senses 20 different environmental values
  • – Optionally Solar Powered
  • – Has a full database containing history of the environment (MySQL)
  • – Monitors and reports lots of data on the solar powered system – great for education!
  • – Self contained and monitored for brownouts and power issues
  • – Can be modified remotely
  • – Download your data to crunch it on your PC or Mac
  • – Can be modified to do CWOP, SMS (Text) messaging, Twitters, webpages and more
  • – Has an iPad Based Control Panel
  • – Easy to connect to Twitter, WeatherUnderground, etc

 

 What is in GroveWeatherPi?

As you can see from the above block diagram, GroveWeatherPi contains a bunch of different parts.   A discounted GroveWeatherPi bundle and the GroveWeatherPi Solar Add-on bundle are available on the SwitchDoc Labs store.

[callout size=”col-12″ title=”GroveWeatherPi Bundle” button_title=”Learn More” button_link=”https://store.switchdoc.com/groveweatherpi-product-bundle/”  button_size=”normal” button_rounded=”true” button_color=”red”]

[callout size=”col-12″ title=”GroveWeatherPi Solar Add-On Bundle” button_title=”Learn More” button_link=”https://store.switchdoc.com/groveweatherpi-solar-add-on-product-bundle/”  button_size=”normal” button_rounded=”true” button_color=”red”]

 

Hardware Improvements

The version 2.8 release of GroveWeatherPi.py contains additional support for new hardware and a number of different improvements in the software.

Addition of Grove HDC1080 Support

The original GroveWeatherPi design used a HTU21D-F for sensing inside the box temperature and humidity.   It was an expensive device and required soldering.   We have now developed and inexpensive Grove based temperature and humidity device based on the I2C HDC1080 IC and you can find the device and documentation here.

The HDC1080 is a HDC1000 compatible temperature and humidity sensor.  It is located at I2C address 0x40.

Grove – Temperature and Humidity Sensor (HDC1080) utilizes a HDC1080 sensor, from Texas Instruments. It is a digital humidity sensor with integrated temperature sensor that provides excellent measurement accuracy at very low power. The device measures humidity based on a novel capacitive sensor. The humidity and temperature sensors are factory calibrated. The innovative WLCSP (Wafer Level Chip Scale Package) simplifies board design with the use of an ultra-compact package.  The HDC1080 is functional within the full –40°C to +125°C temperature range, and 0-100% RH range.

The HDC1080 driver software is also pure Python rather than a C based program called by a Python system call.

You can buy this product on the SwitchDoc Labs store.

Features

• – ŸGrove connector compatible
• – ŸI2C Interface
• Ÿ- Low Power
• Ÿ- Wide operating voltage range

Specifications

• Ÿ- Supply Voltage: 3~5Vdc;
• ŸŸ- Working Current: 0.12~90uA;
• ŸŸ- Relative humidity accuracy: ±3%RH;
• ŸŸ- Relative humidity operating range: 0~100%RH;
• ŸŸ- Temperature accuracy: ±0.2℃;
• ŸŸ- Temperature range: -40~125℃;
• ŸŸ- Operating temperature: -20~85℃
• ŸŸ- Dimensions: 40×20mm.

SunLight Sensor Support

GroveWeatherPi now supports the SI1145 Sunlight / IR / UVIndex I2C Grove sensor.

The Grove Sunlight, IR and UV I2C sensor can monitor sunlight intensity, IR intensity and UVfigure-7 intensity.  All in one sensor. The sensor is a multi-channel digital light sensor, which has the ability to detect UV-light, visible light and infrared light.

This device is based on SI1145, a new sensor from SiLabs. The Si1145 is a low-power, reflectance-based, infrared proximity, UV index and ambient light sensor with I2C digital interface and programmable-event interrupt output. This device offers excellent performance under a wide dynamic range and a variety of light sources including direct sunlight.

It measures total visible light (in Lumens), infrared light (in Lumens) and UV  (UV index).

You can download the SI1145 Specification here.

If you are putting a Grove Sunlight / IR / UV sensor in a weather proof container, you should use a far-UV transparent Silica Quartz plate for the window over the sensor.

However, remember most plastics and glass are basically impervious to UV radiation (that’s why your Photogray sun glasses don’t work well in a car) so you need to use a special plastic  or what I prefer, Silica Quartz.   These Quartz  JGS1 windows will let the UV through.

https://store.switchdoc.com/double-side-polished-far-uv-fused-silica-quartz-glass-sheets-plate-30-30-1mm/

WXLink Support

The issue is sometimes you don’t want to run a wire all the way from the Weather Station to the wind and rain sensor.  Using the Mini Pro LP, we built a WeatherRack reader and then we use a transmitter to send it back to the GroveWeatherPi station inside.   And also, sometimes you don’t have power easily available and that is why we added a solar power option.  The WXLink comes in two version:  The WXLink and the Solar WXLink.

The Solar WXLink is a solar powered wireless serial link that can transmit up to 600 meters in free air.   IT is designed to connect up to any source of data from sensors connected to the Mini Pro LP Arduino compatible low power computer board.  It was specifically designed to connect a WeatherRack weather sensor array to a Weather Board based system connected to an Arduino or Raspberry Pi computer.   The receiver is read by the host computer through an I2C interface.   Much easier and more available than a serial interface.   And yes, it has Grove connectors throughout the system.   The WXLink comes preloaded with the software to support a WeatherRack and AM2315.   See below for the source code.  No soldering required.

 

GroveWeatherPi Software Improvements / Changes

The  new version (Version 2.8) of the popular GroverWeatherPi Pure Python software for the GroveWeatherPi Raspberry Pi based Solar Powered Weather station kit has been released.  You can find it on the SwitchDoc Labs GitHub repository.

Scheduler Added – Main Loops Reconstructed

The main architectural change is this version is the conversion of the main loop from a polling based system to a scheduler based task system.   Much less processor intensive, more power efficient and a more maintainable program structure.   This was done partially in preparation for the Project Curacao2 project.  More on that in the next few weeks.

The Advanced Python Scheduler (APScheduler) is a light but powerful in-process task scheduler that lets you schedule functions (or any other python callables) to be executed at times of your choosing.

We have used the APScheduler software for a number of projects in the past, such as Project Curacao [ref:  Raspberry Pi Geek article on Project Curacao], SunRover [ref: Raspberry Pi Geek Article on SunRover software], the upcoming Project Curacao2 project (we revisit wind power and the Caribbean with a 2nd generation Project Curacao) as well as other SwitchDoc Labs projects for customers.   It’s a great package.

Below is a list of all the current jobs that are scheduled in a running GroveWeatherPi Raspberry Pi Weather Station.

-----------------
Scheduled Jobs
-----------------
Jobstore default:
    sampleAndDisplay (trigger: interval[0:00:10], next run at: 2017-03-10 16:51:04 PST)
    patTheDog (trigger: interval[0:00:10], next run at: 2017-03-10 16:51:04 PST)
    blinkSunAirLED2X (trigger: interval[0:00:10], next run at: 2017-03-10 16:51:04 PST)
    tick (trigger: interval[0:01:00], next run at: 2017-03-10 16:51:54 PST)
    sampleWeather (trigger: interval[0:05:00], next run at: 2017-03-10 16:55:54 PST)
    sampleSunAirPlus (trigger: interval[0:05:00], next run at: 2017-03-10 16:55:54 PST)
    writeWeatherRecord (trigger: interval[0:05:00], next run at: 2017-03-10 16:55:54 PST)
    writePowerRecord (trigger: interval[0:05:00], next run at: 2017-03-10 16:55:54 PST)
    updateRain (trigger: interval[0:05:00], next run at: 2017-03-10 16:55:54 PST)
    checkForShutdown (trigger: interval[0:05:00], next run at: 2017-03-10 16:55:54 PST)
    sampleWeather (trigger: interval[0:15:00], next run at: 2017-03-10 17:05:54 PST)
    sampleSunAirPlus (trigger: interval[0:15:00], next run at: 2017-03-10 17:05:54 PST)
    doAllGraphs (trigger: interval[0:15:00], next run at: 2017-03-10 17:05:54 PST)
    WLAN_check (trigger: interval[0:30:00], next run at: 2017-03-10 17:20:54 PST)
    rebootPi (trigger: cron[day='2-30/2', hour='0', minute='4'], next run at: 2017-03-12 00:04:00 PST)
-----------------

HTU21DF and HDC1080 Support

The GroveWeatherPi software now detects and supports both the HTU21DF and the HDC1080 Temperature and Humidity Sensors.   They both occupy I2C Address 0x40 but the GroveWeatherPi software can recognize which one is connected.   Connecting both of them (on the same I2C bus segment) will result in neither working, but won’t damage the devices.

The HDC1080 driver software is also pure Python rather than a C based program called by a Python system call.

The big two advantages of the HDC1080 over the HTU21DF is it is one half the price and uses a Grove connector to avoid soldering and mistakes.

Here is the detection code:

###############
# HDC1080 Detection
try:
        deviceID = hdc1080.readDeviceID()
        #print "deviceID = 0x%X" % deviceID
        config.HDC1080_Present = True
except:
        config.HDC1080_Present = False

###############
# HTU21DF Detection

if (config.HDC1080_Present == True):
        config.HTU21DF_Present = False
else:
        try:
                HTU21DFOut = subprocess.check_output(["htu21dflib/htu21dflib","-l"])
                config.HTU21DF_Present = True
        except:
                config.HTU21DF_Present = False

###############

Note that detection of the HDC1080 precludes the detection of an HTU21DF. This makes sense as they can’t both be there at the same time.

Solar Version Bootup Email Message

When you are using a SunAirPlus solar power system with the GroveWeatherPi, on boot up the system now sends an email with the current state of the entire solar battery system.   We found ourselves looking for that information all the time on boot up during testing, so it is now included.

GroveWeatherPi Version 2.8 Startup 
BV=4.00V/BC=2.00mA/SV=1.87V/SC=-0.00mA

WeatherUnderGround Support

We recently (Version 2.2) released a version of the GroveWeatherPi software that allows you to connect up your GroveWeatherPi Raspberry Pi Weather Station to the WeatherUnderground.  This new version also calculates and reports dew point.

 

Coming Next

The next major release of the GroveWeatherPi software will be building upon the Project Curacao2 software release.   It will contain the following:

  • – Support for the LoRa WXLink system – ranges of greater than 2km.  Really!  Up to 10km with a  good antenna.   LoRa is working in the lab and will be part of the Project Curacao2 system because there will be two sets of WeatherRack sensors in the new Project Curacao2.  One on a tower about 100m away from the base unit and one on a tower about 2km away up on a ridge.    It should be a great project.
  • – Support for a PiCamera – Mainly for stills, with an optional video component.   Video just kills the battery, but it can be done for a short time.
  • – Support for the upcoming GroveControl device that allows the Raspberry Pi to shut off the power to specific Grove devices for power savings.   For example, the OLED display.  Since Project Curacao2 is 3500 miles away from SwitchDoc Labs, not very many people will be able to read the display very often.

1 Comment

  1. İt is great for me! Please send me more documents to pobox: 112 Antalya -Turkey or to my mail.
    Thanks

2 Trackbacks / Pingbacks

  1. Tutorial: Part 1 -Building a Solar Powered Raspberry Pi Weather Station - GroveWeatherPi - SwitchDoc Labs
  2. Project Curacao2 - RaspberryPi and Arduino Based Environmental Station - Part 1 - SwitchDoc Labs

Comments are closed.