Difference between revisions of "Journal:Open source data logger for low-cost environmental monitoring"

From LIMSWiki
Jump to navigationJump to search
(Created stub. Saving and adding more.)
 
(Added content. Saving and adding more.)
Line 64: Line 64:
===Usage rights===
===Usage rights===
'''Use license:''' Other
'''Use license:''' Other
'''
 
IP rights notes:''' The Drupal code and Arduino code are released under the GNU General Public License version 2 or later.
'''IP rights notes:''' The Drupal code and Arduino code are released under the GNU General Public License version 2 or later.


===Implementation===
===Implementation===
Line 91: Line 91:
It is hoped that the publication of this device will encourage biodiversity scientists to collaborate outside of their discipline, whether it be with citizen engineers or professional academics. A work by Baker, Bennett and Chesmore (University of York) in 2013 (in prep) expands the concept of using electronic devices from monitoring environments to automated species identification using the acoustics of orthoptera.<ref name="BakerSpeck13">{{cite web |title=Speckled Bush Cricket Data Logger - Project Report |author=Bennett, W.; Chesmore, D.; Baker, E. |publisher=University of York |date=06 December 2013 |pages=29 |doi=10.6084/m9.figshare.1430094}}</ref> Where reliable identification of species can be performed by machines, the potential for collecting high quality, high precision and long-term datasets on species abundance alongside environmental variables becomes a possibility.
It is hoped that the publication of this device will encourage biodiversity scientists to collaborate outside of their discipline, whether it be with citizen engineers or professional academics. A work by Baker, Bennett and Chesmore (University of York) in 2013 (in prep) expands the concept of using electronic devices from monitoring environments to automated species identification using the acoustics of orthoptera.<ref name="BakerSpeck13">{{cite web |title=Speckled Bush Cricket Data Logger - Project Report |author=Bennett, W.; Chesmore, D.; Baker, E. |publisher=University of York |date=06 December 2013 |pages=29 |doi=10.6084/m9.figshare.1430094}}</ref> Where reliable identification of species can be performed by machines, the potential for collecting high quality, high precision and long-term datasets on species abundance alongside environmental variables becomes a possibility.


==Additional information==
===Sourcing of components===
This project uses standard components which can be sourced from specialist electronics suppliers (e.g. Maplin<ref name="Maplin">{{cite web |url=http://www.maplin.co.uk/ |title=Maplin |publisher=Maplin Electronics}}</ref>, RS<ref name="RS">{{cite web |url=http://uk.rs-online.com/web/ |title=RS Components |publisher=RS Components Ltd}}</ref>, Rapid Electronics<ref name="RapidElec">{{cite web |url=https://www.rapidonline.com/ |title=Electronic components from Rapid |publisher=Rapid Electronics Limited}}</ref> in the U.K.). A number of online shops serve the needs of the hacker and maker communities including Adafruit<ref name="AdaF">{{cite web |url=https://www.adafruit.com/ |title=Adafruit |publisher=Adafruit Industries, LLC}}</ref> in the U.S. and Cool Components<ref name="CComp">{{cite web |url=https://www.coolcomponents.co.uk/ |title=Cool Components |publisher=Cool Components Ltd}}</ref> in the U.K. Generic online retailers such as eBay and Amazon will also have listings for most, if not all, of the materials required.
===Assembly of the device===
The data logging device uses the Arduino Mega board<ref name="ArdMeg2560">{{cite web |url=https://www.arduino.cc/en/Main/arduinoBoardMega2560 |title=Arduino MEGA 2560 & Genuino MEGA 2560 |publisher=Arduino, LLC}}</ref> (Fig. 1) which encompasses an ATmega2560 micro-controller<ref name="ATmega2560">{{cite web |url=http://www.atmel.com/devices/atmega2560.aspx |title=ATmega2560 |publisher=Atmel Corporation}}</ref> and associated hardware to provide a clock signal, regulate power to the board and to allow the micro-controller to be programmed via the USB interface. A number of analogue input and digital input/output pins are exposed on the board for the attachment of other electronic devices for input or output (these connectors are known as 'headers'). The Arduino Mega is an expanded version of the standard Arduino Uno<ref name="ArdUNO">{{cite web |url=https://www.arduino.cc/en/Main/arduinoBoardUno |title=Arduino UNO & Genuino UNO |publisher=Arduino, LLC}}</ref> which has a greater number of input/output connections and also a larger programmable memory. The code and libraries required for this project exceed the Arduino Uno's capacity, but an Arduino Uno may be used if some functionality (e.g. the real-time clock or Ethernet libraries) is removed. You will need to download the Arduino Integrated Development Environment (IDE) software from the Arduino website.<ref name="ArdSoft">{{cite web |url=https://www.arduino.cc/en/main/software |title=Download the Arduino Software |publisher=Arduino, LLC}}</ref> The Arduino platform is favoured over the Raspberry Pi in this instance due to its lower power consumption allowing the device to run longer on battery power (the Raspberry Pi is a low-power Linux computer and has capabilities well beyond what is needed for this project).
[[File:Fig1 Baker BiodiversityDataJournal2014 2.JPG|720px]]
{{clear}}
{|
| STYLE="vertical-align:top;"|
{| border="0" cellpadding="5" cellspacing="0" width="720px"
|-
  | style="background-color:white; padding-left:10px; padding-right:10px;"| <blockquote>'''Figure 1.''' An Arduino Mega board. The board can be powered and programmed using the USB connector (top left) or powered as a standalone device using the circular power connector (bottom left).</blockquote>
|-
|}
|}
Several expansion boards are available for the Arduino, which have pins allowing them to attach to the black connectors on the main Arduino board. These expansion boards are known as "shields" and two different ones have been used in this project. The first, the Arduino Ethernet Shield<ref name="ArdEthSh">{{cite web |url=https://www.arduino.cc/en/Main/ArduinoEthernetShield |title=Arduino Ethernet Shield |publisher=Arduino, LLC}}</ref> (Fig. 2), provides both an Ethernet interface (allowing the Arduino to communicate over a local network or the Internet) and allows a micro-SD card to be inserted (allowing data to be saved locally). Both of these shields expose the full set of Arduino headers – allowing the shields to be stacked on each other for additional functionality. Standard software libraries for the Arduino are available to provide easy access in code to this hardware. The second shield used is one of the available "prototyping shields"<ref name="AdaProtoSh">{{cite web |url=https://learn.adafruit.com/adafruit-proto-shield-arduino |title=Adafruit Proto Shield for Arduino |publisher=Adafruit Industries, LLC}}</ref> – an electronics [[wikipedia:Breadboard|breadboard]] that allows for the prototyping of different circuitry without having to make permanent soldered connections (Fig. 3). While for a production product a custom printed circuit board (PCB) would be much better than a temporary prototype shield it is used here, as one of the hopes of this paper is that readers will take the work presented and once familiar with the principles modify or extend it to meet the requirements of their projects.
[[File:Fig2 Baker BiodiversityDataJournal2014 2.jpg|720px]]
{{clear}}
{|
| STYLE="vertical-align:top;"|
{| border="0" cellpadding="5" cellspacing="0" width="720px"
|-
  | style="background-color:white; padding-left:10px; padding-right:10px;"| <blockquote>'''Figure 2.''' The Arduino Ethernet Shield attached to the Arduino Uno. The Ethernet socket (left) and micro-SD socket (right) are indicated.</blockquote>
|-
|}
|}
[[File:Fig3 Baker BiodiversityDataJournal2014 2.jpg|720px]]
{{clear}}
{|
| STYLE="vertical-align:top;"|
{| border="0" cellpadding="5" cellspacing="0" width="720px"
|-
  | style="background-color:white; padding-left:10px; padding-right:10px;"| <blockquote>'''Figure 3.''' The Arduino Mega (bottom), Ethernet shield (middle) and prototyping shield (top) stacked as the core of the data logger. Some of the other components of the device are being assembled using the solder-less breadboard on the prototyping shield.</blockquote>
|-
|}
|}


==References==
==References==

Revision as of 18:50, 30 June 2016

Full article title Open source data logger for low-cost environmental monitoring
Journal Biodiversity Data Journal
Author(s) Baker, Ed
Author affiliation(s) The Natural History Museum - London
Primary contact edwbaker at gmail dot com
Editors Caithness, Neil
Year published 2014
Volume and issue 2
Page(s) e1059
DOI 10.3897/BDJ.2.e1059
ISSN 1314-2828
Distribution license Creative Commons Attribution 4.0 International
Website http://bdj.pensoft.net/articles.php?id=1059
Download Click the "PDF" button on the website.

Abstract

The increasing transformation of biodiversity into a data-intensive science has seen numerous independent systems linked and aggregated into the current landscape of biodiversity informatics. This paper outlines how we can move forward with this program, incorporating real-time environmental monitoring into our methodology using low-power and low-cost computing platforms.

Keywords: Arduino, open source, open hardware, environmental monitoring, big data, internet of things, temperature, humidity, Ethernet

Introduction

Low power and cheap computational projects such as Arduino and Raspberry Pi have brought the use of small computers and micro-controllers to the masses, and their use in fields related to biodiversity science is increasing (e.g. Hirafuji shows the use of Arduino in agriculture[1]). There is a large amount of potential in using automated tools for monitoring environments and identifying species based on these emerging hardware platforms, but to be truly useful we must integrate the data they generate with our existing systems. This paper describes the construction of an open-source environmental data logger based on the Arduino platform and its integration with the web content management system Drupal which is used as the basis for Scratchpads[2] among other biodiversity tools. The Drupal platform uses familiar open-source standards while the Arduino hardware uses the emerging open hardware licenses (see below). It is assumed that most biodiversity scientists are not familiar with the construction of electronic devices, so this paper is presented more in the style of a "how to guide" rather than a straightforward functional description. It is hoped that people will make use of the technologies described here and adapt them to the needs of their own interests and projects.

Open hardware?

The open source hardware movement extends the familiar licenses of open-access and open-source software to physical objects. The aim is to create an ecosystem of projects and products much like the community that develops around open-source software. To be open hardware, all materials needed to construct the hardware (schematics, printed circuit board (PCB) layouts, bills of materials) and the software required (on device and ideally to interface with the device) must be released under a permissive "copyleft" license. More information about open hardware can be found at the Open Source Hardware Association.[3]

Citizen engineers

The introduction of easy-to-use micro-controller devices such as the Arduino brought working with digital electronics to a broader audience. The Arduino project[4] (and similar initiatives) has generated a number of books and a plethora of web pages detailing the basic use of the devices and the use of sensors (ideal for data-logging), writing to SD cards (Secure Digital: a format of memory card widely used in digital cameras) and interfacing with the internet.[5][6] Additionally, there are a wide range of books describing the basics of electronics; Scherz's Practical Electronics for Inventors[7] is recommended as a reference text due to its comprehensive approach and detailed theory, but one of the many electronics "primer" books may be a better introduction. There is great potential for the biodiversity community if we collaborate with knowledgeable "hackers" and "makers" as citizen engineers in the same way we interact with knowledgeable amateur natural historians as citizen scientists.

Project description

Design description

The device constructed is intended both as a functional device capable of generating useful environmental datasets and also as a demonstration to the biodiversity community of what is possible using the Arduino system as a base. This project aims to be as easy as possible to construct and use for those with no experience in electronic devices, and for this reason we have steered away from the use of custom PCBs or other materials. The use of a prototyping board rather than a custom PCB also allows for the project to be extended more easily and assembled without soldering. The author would encourage anybody who wishes to release a custom PCB layout for this project to do so.

Funding

This project was supported by the European Union funded ViBRANT project (Contract no. RI-261532).

Web location (URLs)

Homepage: http://ebaker.me.uk/project-role/open-source-data-logger

Bug database: https://github.com/edwbaker/environment-data-logger/issues

Technical specification

Platform: Arduino / Drupal

Programming language: C / PHP

Operating system: Arduino / Linux (can also run on Windows/OS X)

Repository

Type: Git

Browse URL: https://github.com/edwbaker/environment-data-logger

Usage rights

Use license: Other

IP rights notes: The Drupal code and Arduino code are released under the GNU General Public License version 2 or later.

Implementation

The requirements for the device, and the server software (Drupal) that receives the data were specified as follows:

Data logger

  • Be able to record the temperature and humidity at a regular time interval (e.g. every five minutes)
  • Record the data collected to a micro-SD card
  • Submit data collected automatically and in real time to a Drupal website (using an Ethernet connection)
  • Have a real time clock (RTC) – the Arduino internal clock counts milliseconds since the micro-controller was turned on, we need to record the actual time of measurement
  • Use standard and readily-available components
  • Be able to run off readily-available batteries (e.g. AA) for at least eight hours

Server software

  • Be able to receive data from a device or more than one device and save it as a Drupal node (content item)
  • Be able to generate code for the Arduino to assist others in using this software to post data

Audience

This project should be useful to a wide range of biodiversity scientists. Some possible study scenarios include:

  • using a single device alongside a light, malaise or pitfall trap to collect abiotic data over the study period
  • using multiple devices to study small climatic differences between different micro-habitats
  • using devices over a long period to compliment studies on organism phenology

It is hoped that the publication of this device will encourage biodiversity scientists to collaborate outside of their discipline, whether it be with citizen engineers or professional academics. A work by Baker, Bennett and Chesmore (University of York) in 2013 (in prep) expands the concept of using electronic devices from monitoring environments to automated species identification using the acoustics of orthoptera.[8] Where reliable identification of species can be performed by machines, the potential for collecting high quality, high precision and long-term datasets on species abundance alongside environmental variables becomes a possibility.

Additional information

Sourcing of components

This project uses standard components which can be sourced from specialist electronics suppliers (e.g. Maplin[9], RS[10], Rapid Electronics[11] in the U.K.). A number of online shops serve the needs of the hacker and maker communities including Adafruit[12] in the U.S. and Cool Components[13] in the U.K. Generic online retailers such as eBay and Amazon will also have listings for most, if not all, of the materials required.

Assembly of the device

The data logging device uses the Arduino Mega board[14] (Fig. 1) which encompasses an ATmega2560 micro-controller[15] and associated hardware to provide a clock signal, regulate power to the board and to allow the micro-controller to be programmed via the USB interface. A number of analogue input and digital input/output pins are exposed on the board for the attachment of other electronic devices for input or output (these connectors are known as 'headers'). The Arduino Mega is an expanded version of the standard Arduino Uno[16] which has a greater number of input/output connections and also a larger programmable memory. The code and libraries required for this project exceed the Arduino Uno's capacity, but an Arduino Uno may be used if some functionality (e.g. the real-time clock or Ethernet libraries) is removed. You will need to download the Arduino Integrated Development Environment (IDE) software from the Arduino website.[17] The Arduino platform is favoured over the Raspberry Pi in this instance due to its lower power consumption allowing the device to run longer on battery power (the Raspberry Pi is a low-power Linux computer and has capabilities well beyond what is needed for this project).

Fig1 Baker BiodiversityDataJournal2014 2.JPG

Figure 1. An Arduino Mega board. The board can be powered and programmed using the USB connector (top left) or powered as a standalone device using the circular power connector (bottom left).

Several expansion boards are available for the Arduino, which have pins allowing them to attach to the black connectors on the main Arduino board. These expansion boards are known as "shields" and two different ones have been used in this project. The first, the Arduino Ethernet Shield[18] (Fig. 2), provides both an Ethernet interface (allowing the Arduino to communicate over a local network or the Internet) and allows a micro-SD card to be inserted (allowing data to be saved locally). Both of these shields expose the full set of Arduino headers – allowing the shields to be stacked on each other for additional functionality. Standard software libraries for the Arduino are available to provide easy access in code to this hardware. The second shield used is one of the available "prototyping shields"[19] – an electronics breadboard that allows for the prototyping of different circuitry without having to make permanent soldered connections (Fig. 3). While for a production product a custom printed circuit board (PCB) would be much better than a temporary prototype shield it is used here, as one of the hopes of this paper is that readers will take the work presented and once familiar with the principles modify or extend it to meet the requirements of their projects.

Fig2 Baker BiodiversityDataJournal2014 2.jpg

Figure 2. The Arduino Ethernet Shield attached to the Arduino Uno. The Ethernet socket (left) and micro-SD socket (right) are indicated.


Fig3 Baker BiodiversityDataJournal2014 2.jpg

Figure 3. The Arduino Mega (bottom), Ethernet shield (middle) and prototyping shield (top) stacked as the core of the data logger. Some of the other components of the device are being assembled using the solder-less breadboard on the prototyping shield.

References

  1. Hirafuji, M. (2013). "Comprehensive Data Collection by Sensor Network and Optical Sensor for Agricultural Big Data" (PDF). APAN. http://archive.apan.net/meetings/Daejeon2013/Session/Agri/Hirafuji-APAN_Daejeon2013.pdf. 
  2. Smith, V.S.; Rycroft, S.D.; Brake, I. et al. (2011). "Scratchpads 2.0: a Virtual Research Environment supporting scholarly collaboration, communication and data publication in biodiversity science". ZooKeys 150: 53–70. doi:10.3897/zookeys.150.2193. PMC PMC3234431. PMID 22207806. https://www.ncbi.nlm.nih.gov/pmc/articles/PMC3234431. 
  3. "Open Source Hardware Association". Open Source Hardware Association. http://www.oshwa.org/. 
  4. "Arduino - Home". Arduino, LLC. http://arduino.cc/. 
  5. McRoberts, M. (2010). Beginning Arduino. Apress Media, LLC. pp. 472. ISBN 9781430232407. http://www.apress.com/9781430232407. 
  6. McEwen, A.; Cassimally, H. (2013). Designing the Internet of Things. John Wiley & Sons. pp. 336. ISBN 9781118430620. http://www.wiley.com/WileyCDA/WileyTitle/productCd-111843062X.html. 
  7. Scherz, P.; Monk, S. (2013). Practical Electronics for Inventors (3rd ed.). McGraw-Hill Education. pp. 1040. ISBN 9780071771337. 
  8. Bennett, W.; Chesmore, D.; Baker, E. (6 December 2013). "Speckled Bush Cricket Data Logger - Project Report". University of York. pp. 29. doi:10.6084/m9.figshare.1430094. 
  9. "Maplin". Maplin Electronics. http://www.maplin.co.uk/. 
  10. "RS Components". RS Components Ltd. http://uk.rs-online.com/web/. 
  11. "Electronic components from Rapid". Rapid Electronics Limited. https://www.rapidonline.com/. 
  12. "Adafruit". Adafruit Industries, LLC. https://www.adafruit.com/. 
  13. "Cool Components". Cool Components Ltd. https://www.coolcomponents.co.uk/. 
  14. "Arduino MEGA 2560 & Genuino MEGA 2560". Arduino, LLC. https://www.arduino.cc/en/Main/arduinoBoardMega2560. 
  15. "ATmega2560". Atmel Corporation. http://www.atmel.com/devices/atmega2560.aspx. 
  16. "Arduino UNO & Genuino UNO". Arduino, LLC. https://www.arduino.cc/en/Main/arduinoBoardUno. 
  17. "Download the Arduino Software". Arduino, LLC. https://www.arduino.cc/en/main/software. 
  18. "Arduino Ethernet Shield". Arduino, LLC. https://www.arduino.cc/en/Main/ArduinoEthernetShield. 
  19. "Adafruit Proto Shield for Arduino". Adafruit Industries, LLC. https://learn.adafruit.com/adafruit-proto-shield-arduino. 

Notes

This presentation is faithful to the original, with only a few minor changes to presentation. In some cases important information was missing from the references, and that information was added. In many cases what were originally inline external links were turned into proper citations. A few references were mentioned but not directly cited; citations were added to fill those gaps.