Note : Les descriptions sont présentées dans la langue officielle dans laquelle elles ont été soumises.
CA 02913165 2015-11-23
METHOD, SYSTEM AND APPARATUS FOR COLLECTING AND
PROCESSING AGRICULTURAL DATA
The present application claims priority to US application 62/111863 filed on
Februdry 4, 2015, which is incorporated by reference in its entirety.
FIELD
[0001] The specification relates generally to agricultural data
collection, and
specifically to a method, system and apparatus for processing agricultural
data.
BACKGROUND
[0002] A wide variety of instruments and sensors can be employed to collect
measurements of environmental conditions in agricultural settings. It may,
however, be necessary to collect such data over a large geographic area with
sporadic or non-existent coverage by data networks. When network coverage is
lacking, it may become necessary to record such measurements manually, which
can be a time-consuming and error-prone process.
[0003] In addition, recording data in sufficient volume and at
sufficient
frequency to provide a representative sampling of an agricultural site (such
as an
orchard) can require significant investments in equipment and staff.
BRIEF DESCRIPTIONS OF THE DRAWINGS
[0004] Embodiments are described with reference to the following
figures, in
which:
[0005] FIG. 1 depicts an agricultural data collection system, according
to a
non-limiting embodiment;
[0006] FIG. 2 depicts certain internal components of the collection
computing
device and the server of FIG. 1, according to a non-limiting embodiment;
[0007] FIGS. 3A-3C depict a carrying case for the collection device of
FIG. 1,
according to a non-limiting embodiment;
1
CA 02913165 2015-11-23
[0008] FIGS 4A-4B depict a carrying case for the collection device of
FIG. 1,
according to another non-limiting embodiment;
[0009] FIGS 5A-5C depict a carrying case for the collection device of
FIG. 1,
according to a further non-limiting embodiment
[0010] FIG. 6 is a flowchart depicting a method of collecting agricultural
data,
according to a non-limiting embodiment;
[0011] FIG. 7 is a flowchart depicting a method of processing
agricultural
data, according to a non-limiting embodiment; and
[0012] FIG. 8 depicts an agricultural data collection system, according
to
another non-limiting embodiment.
DETAILED DESCRIPTION OF THE EMBODIMENTS
[0013] FIG. 1 depicts an agricultural data collection system 100 (also
referred
to herein as system 100). System 100 includes at least one data collection
computing device 104, also referred to herein as collection device 104.
Collection
device 104, in the present embodiment, is a portable computing device such as
a
smart phone, tablet computer, laptop computer or the like.
[0014] Collection device 104 can connect to a network 108, for example
via a
wireless link 112. In other embodiments, link 112 can be a wired link, or a
combination of wired and wireless links. It is contemplated that the link 112
may
be intermittent, because during its operation at an agricultural site 114
(e.g. an
apiary, an orchard, a winery, or the like) collection device 104 may be out of
range of network 108, particularly of network components such as wireless
access points. Network 108 can be any one of, or any suitable combination of,
wired and wireless networks, including local area networks (LANs or WLANs),
wide area networks (WANs) such as the Internet, mobile networks (e.g. Public
Land Mobile Networks or PLMNs), and the like.
2
CA 02913165 2015-11-23
[0015] Although a single collection device 104 is shown in FIG. 1,
system 100
can include a plurality of collection devices 104, either at agricultural site
114 or
at additional agricultural sites (not shown).
[0016] Collection device 104 is also configured to connect to at least
one
sensor device 116. In the present example, three sensors 116-1, 116-2 and 116-
3 are shown (collectively referred to as sensors 116, and generically referred
to
as a sensor 116), although any suitable number of sensors 116 can be provided.
Sensors 116 connect to client device 104 via wired links as shown in
connection
with sensor 116-1 (e.g. USB), wireless links as shown in connection with
sensors
116-2 and 116-3 (e.g. Bluetooth), or a combination thereof.
[0017] The nature of sensors 116 is not particularly limited. In
general, each
sensor 116 is any conventional device for measuring one or more environmental
conditions. For example, in the present embodiment sensor 116-1 is an
anemometer capable of measuring wind speed and direction; sensor 116-2 is a
soil moisture sensor; and sensor 116-3 is a chlorophyll meter. In other
embodiments, a wide variety of sensor combinations can be provided. further,
non-exhaustive examples of sensors that can be included in system 100 and
connected to collection device 104 are weight sensors (e.g. for weighing
fruit,
leaf or other material); pH sensors for measuring soil acidity; gas meters for
measuring atmospheric content of various gases (e.g. carbon monoxide, carbon
dioxide); temperature sensors for measuring the temperature of soil, air or
both;
sugar or alcohol sensors (e.g. for measuring sugar or alcohol content of
fruit);
barometers for measuring atmospheric pressure; ambient light sensors; cameras
(e.g. for capturing images on which any of the above measurements can be
overlaid), and the like. Sensors 116 can be handheld, autonomous (e.g. air or
land-based robots), or any suitable combination thereof.
[0018] System 100 also includes a server 120 connected to network 108
via a
link 124. In the present example, link 124 is a wired link, but in other
embodiments link 124 can be a wireless link, or a combination of wired and
wired
links. Server 120, which will be described in further detail below, can also
be
3
CA 02913165 2015-11-23
implemented as a plurality of servers. System 100 further includes at least
one
client computing device 128, also referred to as client device 128. Client
device
128 can be any of a laptop computer, desktop computer, smartphone, tablet
computer or the like. Although only one client device 128 is shown in FIG. 1,
a
plurality of client devices 128 may be included in system 100.
[0019] In general, collection device 104 receives agricultural data
(measurements of various environmental conditions at agricultural site 114)
from
sensors 116 and provides the received agricultural data to server 120 via
network 108. Server 120 stores the data received from collection device 104
and
other collection devices, if present, (not shown). Server 120 can also provide
portions of the received data to client device 128 (or other client devices)
upon
request. Further, server 120 is configured to generate alerts for transmission
to
client device 128 when the received data (or portions thereof) satisfy various
conditions. The transmission of data and alerts from server 120 to client
device
128 can be employed to control the operation of agricultural site 114 (e.g.
the
application of irrigation, pesticides or fungicides, and the like).
[0020] Before a detailed discussion of the operation of collection
device 104
and server 120, certain internal components of collection device 104 and
server
120 will be provided.
[0021] Turning to FIG. 2, certain internal components of collection device
104
are illustrated. In particular, collection device 104-1 includes a central
processing
unit (CPU) 200, also referred to herein as processor 200, interconnected with
a
computer readable storage medium such as a memory 204. Memory 204 can
include any suitable combination of volatile memory (e.g. random access
memory (RAM)) and non-volatile memory (e.g. read only memory (ROM),
Electrically Erasable Programmable Read Only Memory (EEPROM), flash
memory, magnetic hard disc, or optical disc).
[0022] Memory 204 stores computer readable instructions executable by
processor 200, including a data collection application 208, also referred to
herein
as application 208. It is contemplated that other computer readable
instructions
4
CA 02913165 2015-11-23
can also be stored in memory 204, including an operating system (indeed, in
some examples, application 208 can be integrated with other applications,
including the operating system). Application 208 includes instructions for
communicating with each of sensors 116. In some embodiments, application 208
can include modular sets of instructions, each set corresponding to a
different
sensor 116. Thus, when additional sensors 116 are obtained for connection to
collection device 104, rather than replacing or upgrading application 208 as a
whole, a module can be added to application 208 containing instructions for
interfacing with the new sensor.
[0023] Processor 200 and memory 204 are hardware elements, generally
comprised of one or more integrated circuits (lCs), and can have a variety of
structures, as will now occur to those skilled in the art (for example, more
than
one CPU can be provided). Processor 200 executes the instructions of
application 208 to perform, in conjunction with the other components of
collection
device 104, various functions related to receiving measurements from sensors
116 and providing those measurements to server 120. In the discussions below
of those functions, collection device 104 is said to perform or implement
those
functions. It will be understood that collection device 104 is configured to
perform
such functions via the processing of the computer readable instructions in
memory 204 (including those of application 208) by the hardware components of
collection device 104 (including processor 200). More particularly, processor
200
can be said to perform those functions by executing the instructions in memory
204.
[0024] Collection device 104 also includes a display 212 interconnected
with
processor 200. Display 212 includes one or more display panels based on any
suitable panel technology (e.g. liquid crystal display (LCD), organic light
emitting
diode (OLED), and the like), and receives data for presentation on such panels
from processor 200. In addition, collection device 104 includes a touch input
device 216 interconnected with processor 200, for receiving input (e.g. from
an
operator of collection device 104) and providing data representing such input
to
5
CA 02913165 2015-11-23
processor 200. Touch input device 216 can include any suitable combination of
buttons and keypads, touch screens integrated with display 212, and the like.
[0025] Collection device 104 can also include other input devices, such
as a
GPS receiver 220 interconnected with processor 200. GPS receiver 220 detects
signals from GPS satellites, and based on those signals, determines global
location coordinates for collection device 104. Collection device 104 may also
include other input devices (not shown), such as a camera, a microphone,
sensors such as light and motion sensors and the like.
[0026] Collection device 104 also includes a network interface 224
interconnected with processor 200, which allows collection device 104 to
communicate with other devices, including sensors 116 and server 120 (via link
112 and network 108). Network interface 224, thus includes the necessary
hardware, such as radio transmitter/receiver units, network interface
controllers
and the like, to communicate over the above-mentioned links.
[0027] The components of collection device 104 can be interconnected by
one or more buses (not shown) and contained within a housing made of any
suitable combination of materials (e.g. metals such as aluminum, plastics such
as Acrylonitrile butadiene styrene (ABS), and the like). The components of
collection device 104 can be powered by a battery within the housing, a wall
socket, or a combination thereof.
[0028] Referring to FIG. 3A, collection device 104 can be housed in a
protective carrying case 300, for example made of metal, plastic, or a
combination thereof. Sensors 116 may also be stored in case 300 in some
embodiments. Case 300 can include a carrying member such as a handle 304
(illustrated in FIG. 3B), a shoulder strap 308 (illustrated in FIG 3C), or
both.
[0029] Referring to FIG. 4A, in other embodiments case 300 can include
a
stand portion 400 extending therefrom. In use (as illustrated in FIG. 4B),
stand
portion 400 can be rested on the ground while the operator manipulates the
inputs of collection device 104, sensors 116, or both.
6
CA 02913165 2015-11-23
,
[0030] Referring to FIG. 5A, in some embodiments case 300 can be
supported by, or integrally formed with, a harness 500 that is wearable by an
operator. FIG. 5B shows case 300 and harness 500 in transit, while FIG. 5C
illustrates case 300 and harness 500 in use.
[0031] Returning to FIG. 2, also shown are certain internal components of
server 120. Server 120 includes at least one central processing unit (CPU)
250,
also referred to as processor 250, interconnected with at least one non-
transitory
computer readable storage medium such as a memory 254. As mentioned
earlier, in other embodiments, server 120 can be implemented as a plurality of
linked servers rather than a single server. For example, server 120 can be
implemented as a cloud computing cluster.
[0032] Processor 250 and memory 254 are hardware elements, generally
comprised of one or more integrated circuits (lCs), and can have a variety of
structures, as will now occur to those skilled in the art (for example, more
than
one CPU can be provided). Memory 254 can be any suitable combination of
volatile (e.g. Random Access Memory ("RAM")) and non-volatile (e.g. read only
memory ("ROM"), Electrically Erasable Programmable Read Only Memory
("EEPROM"), flash memory, magnetic computer storage device, or optical disc)
memory. In the present example, memory 354 includes both a volatile memory
and a non-volatile memory. Other types of non-transitory computer readable
storage medium are also contemplated, such as compact discs (CD-ROM, CD-
RW) and digital video discs (DVD).
[0033] Server 120 also includes a network interface 258
interconnected with
processor 250. Network interface 258 allows server 120 to communicate with
other computing devices (e.g. collection device 104 and client device 128) via
link 124 and network 108. Network interface 258 thus includes any necessary
hardware for such communications, including network interface controllers
(NICs), radios and the like.
[0034] Server 120 can also include input devices (not shown) such as
a
keyboard and mouse, as well as output devices (not shown) such as a display.
7
CA 02913165 2015-11-23
Such input and output devices can be connected to processor 250 directly, for
example via a USB connection, or remotely via another computing device (not
shown). In other words, the input and output devices used for operator control
of
server 120 can be local or remote to server 120.
[0035] Server 120 stores, in memory 254, a plurality of applications each
comprising a plurality of computer-readable instructions that are executable
by
processor 250. In particular, memory 254 stores an agricultural data
processing
application 262, (also referred to herein as application 262). When processor
250
executes the instructions of application 262, processor 250 performs various
functions implemented by those instructions, as will be discussed below.
Processor 250, or server 120 more generally, is therefore said to be
"configured"
to perform those functions via the execution of application 262.
[0036] Also stored in memory 254 are various data repositories,
including an
agricultural data repository 266, and a profile repository 270. The contents
of
each of the above-mentioned repositories will be detailed below.
[0037] As mentioned earlier, collection device 104 communicates with
sensors 116 to collect agricultural data and provides that data to server 120.
Server 120, in turn, stores the data in repository 266. Server 120 then
responds
to requests for data, and additionally generates alerts for client device 128
in
certain situations. Responses to requests and alerts are generated by server
120
based not only on repository 266, but also on profiles 270.
[0038] Referring now to FIG. 6, a method 600 of collecting agricultural
data is
depicted. Method 600 will be described in conjunction with its performance in
system 100, and in particular by collection device 104 (via the execution of
application 208). However, it will be apparent to those skilled in the art
that
method 600 can also be performed in other suitable systems.
[0039] Beginning at block 605, collection device 104 is configured to
receive
data from at least one of sensors 116. Such data may be received at processor
200 via network interface 224 following the manipulation of a sensor 116 by a
human operator to capture a measurement. At block 605, collection device 104
8
CA 02913165 2015-11-23
,
may also receive data directly from an operator rather than from sensors 116,
for
example via touch input 216. For example, collection device 104 can receive
data defining the timing and quantity of applications of materials such as
fertilizers, fungicides, and the like.
[0040] At block 610,
collection device 104 is configured to retrieve from
memory 204 a current location determined by GPS receiver 220. If the current
location stored in memory 204 is older than a preconfigured age (e.g. five
minutes), or if there is no current location in memory 204, processor 200 can
instruct GPS receiver 220 to obtain a new location before proceeding. Having
obtained a current location, processor 200 is configured to append the current
location to the data received at block 605, and to store the data (and
associated
location) in memory 204.
[0041] Responsive
to storing the data, at block 615 collection device 104 is
configured to determine whether contact can be established between collection
device 104 and
server 120. The determination at block 615 may therefore include
determining whether a connection can be established to network 108 (or any
other network). The determination can also include, when network 108 is
available, whether server 120 can be reached over network 108.
[0042] When the determination at block 615 is negative, the performance of
method 600 returns to block 605. When the determination is affirmative,
however, the performance of method 600 proceeds to block 620. At block 620,
collection device 104 transmits any data (and associated locations) stored in
memory 204 that have not been previously transmitted.
[0043] Following
transmission of the agricultural data at block 620, collection
device 104 can be
configured to delete the transmitted data from memory 204 at
block 625. In other embodiments, the transmitted data can be retained in
memory 204, either indefinitely or for a configurable period of time.
[0044] Turning now
to FIG. 7, a method 700 of processing agricultural data at
server 120 is depicted. Method 700 will be described in conjunction with its
9
CA 02913165 2015-11-23
performance in system 100, particularly by server 120 (via the execution of
application 262).
[0045]
At block 705, server 120 is configured to receive agricultural data from
collection device 104, for example via network 108. The data received at block
705 is the data sent by collection device 104 at block 620 of method 600. The
data therefore includes measurements of various environmental conditions,
associated with location data indicating the geographic locations at which the
measurements were collected by sensors 116. Having received the data, server
120 stores the data at block 710 by updating repository 266. Thus, repository
266
contains a plurality of measurements of various environmental conditions, and
locations corresponding to each measurement.
[0046]
It is contemplated that multiple instances of method 700 can be
performed by server 120, whether in parallel or in series. For example, data
may
be received from several distinct collection devices 104 at agricultural site
114; in
. 15
addition, data may be received from any number of other collection devices at
other agricultural sites. All such data (received through repeated
performances of
block 705) is stored in repository 266.
[0047] Server 120 can also be configured to store, with each measurement,
an indication of the source of the measurement. For example, repository 266
can
contain, corresponding to each measurement, an identifier of the collection
device from which the measurement was received. Thus, in the present example,
each measurement in repository 266 is stored with an identifier of collection
device 104. The identifier of collection device 104 can be a network address,
such as an IP or MAC address. In other embodiments, the identifier can be an
account name, an identifier of agricultural site 114, or the like. Collection
device
104 can be configured to include the identifier in the transmission sent at
block
620. In other embodiments, collection device 104 can be required to login
(e.g.
supply authentication credentials including the identifier) at server 120
before
transmitting the data at block 620.
CA 02913165 2015-11-23
[0048] In general, the identifier stored in repository 266 with the
received data
corresponds to an identifier that is present in profile repository 270. An
example
of profile repository 270 is shown below in Table 1.
Table 1: Example Profile Repository 270
Site/Account ID Device IDs Password Access Level
114 104 Own site only
Acme Farms D1; D2; D3 Full
[0049] Profile repository 270, in the above example, includes a site
identifier
(also referred to as án account identifier); a list of device identifiers
indicating the
collection devices associated with the site; authentication information such
as a
password; and an access level indicator, which will be discussed in greater
detail
below. Profile repository may also include further data, such as a set of
geographic coordinates delimiting the boundaries of each site; the types of
crops
or other material grown and harvested at each site, and the like.
[0050] Thus, the data stored in repository 266 can include a
corresponding
site identifier, for example, as shown in the example repository 266 of Table
2,
below:
Table 2: Example Agricultural Data Repository 266
Site/Account ID Temperature ( C) Soil Moisture (%) Location
114 18.1 35 42.855,-80.268
114 17.5 31 42.856, -80
Acme Farms 18.8 38 42.882, -80.288
[0051] Although not shown in Table 2, identifiers of specific
collection devices
from which the data was received can also be stored in repository 266. In
addition, for simplicity of illustration only two measurements (atmospheric
temperature and soil moisture) are shown in Table 2. In other embodiments, any
suitable combination of the previously mentioned measurements can be stored in
11
CA 02913165 2015-11-23
repository 266, as well as the other data (such as fungicide application
timing
and quantities) mentioned in connection with method 600. In addition,
repository
266 can include a timestamp with each record.
[0052] After updating repository 266, server 120 can perform a variety
of
functions, either in series or in parallel. At block 715, server 120 can
receive a
request for agricultural data. The request can be received from any computing
device connected to server 120 via network 108, and in the present embodiment
is received from client device 128. The request can include a site or account
identifier corresponding to the originator of the request (e.g. client device
128
may be required to log in under one of the profiles in repository 270), and
one or
more criteria defining which data is being requested. Thus, the request can
identify one or more types of agricultural data, and can also identify a
location or
range of locations (e.g. GPS coordinates, a site identifier).
[0053] Having received the request at block 715, server 120 is
configured to
respond to the request based on the contents of profile repository 270. In
particular, server 120 is configured to determine whether the requesting
device is
associated with a profile in repository 270 that has access to the requested
data
(as defined by the above-mentioned criteria). For example, assuming client
device 128 is associated with site 114 and the request received at block 715
from
client device 128 is a request for temperature data from both sites 114 and
"Acme Farms", server 120 retrieves the access level for site 114 from
repository
270. The access level is "own site only", indicating that client device 128
(and
any other device associated with site 114) is not permitted to view data from
sites
other than site 114. Thus, at block 720 server 120 may deny the request, or
may
return only the portion of the requested data that client device 128 is
permitted to
view.
[0054] In addition to, or instead of, receiving and responding to
requests at
blocks 715 and 720, server 120 can be configured to store, in memory 254,
correlations between agricultural data and other agricultural data, between
12
CA 02913165 2015-11-23
agricultural data and various site management actions, and the like. Such
correlations are stored at block 725.
[0055] In some embodiments, the correlations can be received at server
120
from an operator via a terminal (not shown) with a display and keyboard, or
other
suitable input and output devices. For example, correlations between
measurements such as temperature and soil moisture, and fungal infections,
sugar content of fruit, and the like, can be stored in memory 254 (e.g.
temperature and soil moisture within certain predefined ranges for a certain
amount of time may indicate an increased risk of fungal infection). As an
example
of a known correlation, for every week in which the ambient temperature is
above
ten degrees Celsius, the sugar content of wine grapes is likely to improve by
2
Brix, while the acid content of the grapes falls. Such correlations can affect
decisions on when to treat or harvest crops.
[0056] In some embodiments, server 120 may also be configured to detect
correlations automatically, based on the contents of repository 266. For
example,
server 120 may be configured to identify ranges and time periods for one or
more
measurements (e.g. temperature, soil moisture, and the like) that correlate
with
ranges of other measurements. For example, server 120 may be configured to
identify that when the temperature and soil moisture are within certain ranges
for
certain time periods, sugar content for fruit crops is likely to be above the
average sugar content shown in repository 266. Automatically generated
correlations can be generated based on the entirety of the data in repository
266,
or can be generated based on data specific to a single site. Such correlations
may also be generated based on data that is not specific to a single site, but
that
is specific to a certain crop type.
[0057] In addition to the above, at block 730 server 120 can be
configured to
compare the data in repository 266 to the correlations stored at block 725.
For
example, if a stored correlation defines an increased risk of fungal
infections as
being associated with certain ranges of temperature and soil moisture, at
block
13
CA 02913165 2015-11-23
,
730 server 120 is configured to determine whether the data for any individual
site
contains temperatures and soil moistures falling within those ranges.
[0058] When the determination at block 730 is affirmative,
server 120 is
configured to generate a predictive alert at block 735, and send the alert to
at
least one client device (such as client device 128). The alert is a message
containing an indication of the matched correlation. For example, the alert
may
indicate that the agricultural data for site 114 indicates an elevated risk of
fungal
infection. The alert may also contain one or more remedial actions (which can
be
stored with the correlations at block 725). For example, repository 266 may
contain, in association with at least one correlation, identifications of
pesticides,
fungicides, fertilizers or other compounds that are approved for use in the
geographical region in which site 114 is located. The alert may include one or
more such identification.
[0059] At block 740, the alert is transmitted to at least one computing device
associated with the relevant site. For example, if the determination at block
730
is affirmative for data from site 114, the alert may be sent to one or both of
collection device 104 and client device 128 (assuming client device 128 is
associated with site 114). Alert recipient devices can be identified in
profile
repository 270.
[0060] Variations to the above systems and methods are contemplated. For
example, in other embodiments, the access levels shown in Table 1 can be
omitted, and any requested device can access any data in repository 266
through the performance of blocks 715 and 720.
[0061] In other embodiments, system 100 may be modified to
include
additional components. For example, turning to FIG. 8, a system 800 is
depicted,
including various elements that are as described above in connection with FIG.
1
(though numbered with a leading "8" instead of a leading "1"). Thus, system
800
includes a collection device 804 connectable to a network 808 via a link 812.
System 800 also includes sensors 816-1, 816-2 and 816-3 for taking
14
CA 02913165 2015-11-23
measurements at a site 814; a server 820 connected to network 808 via a link
824, and a client device 828.
[0062] However, system 800 also includes an interface device 802.
Instead of
connecting directly to collection device 804, sensors 816 connect to interface
device 802 via either wired or wireless links. Thus, measurements are
transmitted from sensors 816 to interface device 802, which then transfers the
measurements to collection device 804 (via, for example, a USB connection).
[0063] In further variations, at block 735 server 120 can be configured
to
retrieve additional data from other computing devices (not shown), via network
108. For example, further data collection servers may be connected to network
108. Data can be retrieved from such servers and included in the alert
generated
at block 735. For example, the above-mentioned identifications of compounds
approved for use at site 114 can be stored at another computing device
connected to network 108, rather than in repository 266.
[0064] The interface device can be any suitable computing device. In the
present embodiment, the interface device includes a single-board
microcomputer, such as an Arduino Due microcomputer. A variety of other
microcomputers will also occur to those skilled in the art.
[0065] Persons skilled in the art will appreciate that there are yet
more
alternative implementations and modifications possible for implementing the
embodiments, and that the above implementations and examples are only
illustrations of one or more embodiments. The scope, therefore, is only to be
limited by the claims appended hereto.