Click here to Skip to main content
15,860,859 members
Articles / Hosted Services / Azure

Giant Pumpkin Monitor

Rate me:
Please Sign up or sign in to vote.
3.59/5 (3 votes)
30 Mar 2015CPOL4 min read 11K   3   3
Taking continual measurement of a giant pumpkin during its growth phase. A giant pumpkin can grow to 1000+ lbs in under 100 days! This project reads data, pushes into the Azure environment (via EventHub, Application Insights, and a SQL Server database). The data is then made available via an SSL-bas

This article is an entry in our Microsoft Azure IoT Contest. Articles in this section are not required to be full articles so care should be taken when voting.

Introduction

Giant pumpkins can weigh over 1000 lbs. While the vine itself may grow for 90-100 days, the pumpkin itself takes only 60 days to go from pollination to its full size. During the most prolific days, a giant pumpkin can put on 20+ pounds per day! Pumpkin weigh-offs at state fairs, fall festivals, etc. are very popular and giant pumpkin growers are a passionate crew. During the growing phase, weight estimations are done by using some measurements on the pumpkin size and plugging into formulas. These measurements, because of the time involved, are typically done only several days at most during the growth phase. The techniques are estimates and because of that the actual pumpkin weight will come in light or heavy depending on how the pumpkin grew compared to how the estimation formulas are defined.

The result of these articles will be a site available at https://pumpkin.staplessolutions.com.
NOTE: Currently, the site is only available to authenticated users. As the articles progress, Anonymous authentication will be added to the site for viewing.

Architecture

Image 1


This project will be used to get continual data points on the giant pumpkin during its growth phase. It is planned to take measurements on pumpkin weight, soil temperature, and air temperature. Because the pumpkins are out in the field and may not have continual internet connectivity, the data logging application will assume an Occasionally Connected state and push data when the device is connected. These data points will be collected through an Azure Event Hub, summarized using Application Insights. Insights will post the results into an Azure database, and that data will be made available via a website hosted within Azure. The Azure website will run under SSL and allow for authentication using Azure Organizational Authentication.
 

Article Overview

Because there are a lot of moving pieces to this application, the process will be broken into multiple articles. Some will focus on the Azure infrastructure, while others will focus on the IoT part of the application. As each step in the process can have its own stumbling blocks, I have decided to include all steps in the process. 

The following articles will be developed:

  • Build MVC Web App, use Azure Organizational Authentication and Publish to Azure
  • In Azure, Publish Web Application to Custom Domain URL
  • For Azure, create an SSL Certificate and Publish Web Application for SSL
  • Create the MVC View and Edit Pages for Pumpkin data
  • Configure the Occasionally Connected Data Logger for Air and Soil Temperature
  • Configure the Occasionally Connected Data Logger for Pumpkin Weight
  • Configure the Occasionally Connected Data Logger to Push to Event Hub
  • Run Application Insights against Event Hub and Push Results to SQL Server
  • Modify Web Pages to display Application Insights Results

While you wait, some details on IoT data

While you, the reader, wait for the articles to be published, here are some general details on the components that may make it to the final installation for this year's growing seasons. There are 4 components of interest in pulling the data:

1. Receiving Weight Data

There are a variety of scales available for desktop usage, and many are accessible via USB connectivity. However, when it comes to measuring 1000+ lbs, the possible technologies slim down to a set focused on durability. Scales in this range, generally, are capable of holding a pallet, can weigh 1,000 to 5,000 lbs with an accuracy of +/- 1 lbs and have some sort of external connection, typically a COM port. This COM port will be accessed from the application via an RS-232 connection.
 

//
// Open COM1 Port
// Receive data
// TODO: 
//

2. Receiving Data - Air and Soil Temperature

Measuring Soil and Air Temperature can both be handled by a single data logger that has multiple connections on it. Two waterproof temperature sensors will be used; one inserted into the soil, and another placed 2-3' above ground in a shaded location. A typical temperature sensor is fairly affordable. Both of these temperature sensors will be connected to an intermediate data logger. The data logger converts the analog data and provides the application to poll for data via a COM port connection, similar to the scale. The only difference is that there will be multiple channels of data being received, and so that data will need to be split and handled accordingly.
 

//
// Open COM2 Port
// Receive data, split Channel data into Air and Soil temperatures
// TODO: 
//

2015-03-30 - In the middle of code pushing to Azure and decided to rework this article. Many details to go over ... so I changed the format into a multi-part article. IoT contest ends, but I will not plant pumpkin seeds until May 2nd.

2015-03-19 - Just started the project. Growing season will not happen for another several weeks and pumpkin pollination does not occur until the middle of June. Several months to figure out the mechanics of it all!

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Engineer
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
GeneralThanks for entering! Pin
Kevin Priddle30-Mar-15 5:29
professionalKevin Priddle30-Mar-15 5:29 
GeneralRe: Thanks for entering! Pin
HenryStaples30-Mar-15 5:32
HenryStaples30-Mar-15 5:32 
GeneralRe: Thanks for entering! Pin
Kevin Priddle30-Mar-15 5:37
professionalKevin Priddle30-Mar-15 5:37 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.