In this Instructable, I'll show you how to automate farming using Intel Edison, and some additional supporting hardware.
1. Intel Edison
2. SIM900(GSM) Module + SIM Card
3. DS1307(Real Time Clock)
4. Single Strand wires
5. Male to Female, Male to Male, Female to Female Connectors
Step 1: GSM Module
GSM Module is one of the most crucial modules in this project. I didn't use Wi-Fi for this project since the project is designed to be deployed in farms where getting Wi-Fi connectivity is difficult.
Mobile signals can be used to communicate with the system. You can control the end devices by sending messages to Edison board.
GSM uses USART to communicate with Edison. Connect Tx of GSM module to Rx of Edison and Rx of Edison to Tx of GSM Module.
After power-up, it'll take GSM module about 20seconds to register with the network. Please be patient.
After the module is registered, send a message and see if you can read it via UART.
Step 2: DS1307 - Real Time Clock
DS1307 is used to keep track of time. In this project, we're sending data to cloud for every 15 minutes. To know if 15 minutes have elapsed since previous sync event, this module is used.
This module uses I2C communication to communicate with Edison. Output of the module is BCD. You've to write a piece of code to convert it to decimal. Similarly, while writing date and time into module, you've write in BCD and not Decimal.
Connect SDA pin of module to A5 pin and SCL pin to A4 pin of Arduino breakout board.
Step 3: DHT11
DHT 11 is a digital temperature and Humidity Sensor.
Attach Output pin to Digital pin 2 of Edison. Using DHT library, you can read Temperature and Humidity readings
Step 4: Soil Moisture Sensor
Grove soil moisture sensor is being used to measure soil moisture content. This sensor output analog value.
So, analogRead(A2) can be used to get soil moisture reading from the sensor.
Connect Vcc and GND. Connect signal pin to A2 of breakout board.
Step 5: Actuation
Using the above mentioned readings, pump can be turned on.
Pump is connected to the relay. Since, directly connecting pump to the pin is not recommended. So, use a relay in between.
Step 6: Code.
Still with me? Cool...
Copy and paste the following code. You should get your project running.