See also the minifarm control system built with MM6D, MM7D, MM8D and MM9A equipment!
I. Hardware1. Technical data- Supply voltage: 5V DC
- Supply current: max. 1 A
- Mechanical size: 71x71x27 mm
- IP protection: IP 20
- Mass of cover: termoplast (ABS)
- Communication: WLAN and serial port
- Latest software version: v0.3
- Administration: serial console
- User interface: web user interface
This device can measure temperature and humidity of growing house air, and detect some unwanted gas (CO2, NH3, NOx, alcohol, benzene etc.) and smoke, and has got three different color status LED. The measured values can be queried and LEDs can be turn on and off via wireless network and HTTP. The device box contains only the temperature and humidity sensor, the gas sensor must be connected with a short cable. This device is a part of my growing site control system.
3. Look of unita) Manuals and connectors- 1: POWER signal light (white LED)
- 2: ACT signal light (blue LED)
- 3: STATUS signal light (green LED)
- 4: STATUS signal light (yellow LED)
- 5: STATUS signal light (red LED)
- 6: Power supply connector (P1)
- 7: Console connector (P2)
- 8: Cable of external gas sensor
- 1: Microcontroller (U101)
- 2: DHT11 sensor (U103)
- 3: Connector of external gas sensor (U102)
- 4: Cable of external gas sensor (U102)
- 5: Power voltage connector (P1)
- 6: Console connector (P2)
You can download wiring diagrams as part of the complete documentation or in separate PDF, SVG and KiCAD formats from the developer/manufacturer's website. The Gerber files needed for production are included in the package.
5. Other drawings and documentsDocumentation package contents drilling drawings in PDF and DXF format.
6. Terms of useHardware documentation can be modified and/or redistributed under the Creativ Commons 4.0 Attribution Non-Commercial (CC-BY-NC-4.0) License.
7. Downloadable documentationThe complete documentation of the hardware in the.tar.gz format compressed file can be downloaded from the homepage or Github.
II. Software1. General descriptionThe device measures three characteristics of the air, which can be queried remotely and it has got three status LED, which can be set remotely.
The program displays initialization steps and error messages on the serial console and writes to system log.
When an HTTP request is received, the client's IP address and username argument are checked. If appropriate, perform a measurement or turn the status LEDs on / off. After displays the result on the web interface. Incoming requests are indicated by the flashing of the blue activity LED.
2. InstallationBefore installing the program, you need to set these values:
// settings
const char* wifi_ssid = "";
const char* wifi_password = "";
const String uid = "";
const String allowedaddress = "";
Use a serial cable and Arduino IDE software to install program to microcontroller. Before installation procedure unpack required libraries from libraries directory or clone from Github.com to ~/Arduino/libraries/. After installation check operation of controller on serial console or with a web brower (use index.html in testpage folder) or with MM7DTest command line utility (on FreeDOS or GNU/Linux).
The device works automatically after installation and does not require human intervention.
The values measured by the device, all other data and the system log can be queried with the MM7DRead application.
The device is designed to be controlled by another device. Queries and settings are made via http with data in plain text format, but pages intended for human reading are in HTML (e.g. start page, summary page). The following links can be used:
HTML pages:
- /: Help page
- /summary?uid=abcdef: Summary of status
Plain text data:
- /log?uid=abcdef: System log
- /version: Device information
Operation mode
- /mode?uid=abcdef: Get operation mode
- /mode/auto?uid=abcdef: Set automatic mode
- /mode/manual?uid=abcdef: Set manual mode
Get data
- /get/all?uid=abcdef: Get all measured data
- /get/humidity?uid=abcdef: Get relative humidity in %
- /get/temperature?uid=abcdef: Get temperature in °C
- /get/unwantedgaslevel?uid=abcdef: Get rel. level of unwanted gases in %
- /get/greenled?uid=abcdef: Get status of green LED
- /get/yellowled?uid=abcdef: Get status of yellow LED
- /get/redled?uid=abcdef: Get status of red LED
Automatic operation
- /operation?uid=abcdef&g=20&h1=65&h2=70&h3=80&h4=85&t1=13&t2=150&t3=20&t4=22: Get all measured data and set limit values
Manual operation
- /set/all/off?uid=abcdef: Switch off all LEDs
- /set/greenled/off?uid=abcdef: Switch off green LED
- /set/greenled/on?uid=abcdef: Switch on green LED
- /set/yellowled/off?uid=abcdef: Switch off yellow LED
- /set/yellowled/on?uid=abcdef: Switch on yellow LED
- /set/redled/off?uid=abcdef: Switch off red LED
- /set/redled/on?uid=abcdef: Switch on red LED
Arguments in URLs:
- uid: user ID
- h1-4: relative humidity limit values in percent
- t1-4: temperature limit values in ˙C
- g: relative unwanted gas level limit value in percent
This program is free software: you can redistribute it and/or modify it under the terms of the European Union Public License 1.2 version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
6. Downloadable software packageThe package can be downloaded from the homepage in a.tar.gz compressed file or from Github.
Comments