As part of the NXP contest, this repository holds all of the files used to make the ADAM project.
The challenge and the motivation for taking part in this contest.We currently have well-developed communication technologies that can be integrated into monitoring projects where large distances need to be covered. Technologies such as LoRa and others using the 2.4 GHz frequency can be used for this purpose.
This technology can be used to monitor a range of aspects of the agricultural industry, such as monitoring livestock, machinery like tractors and other farm equipment, water sources, food, and environmental conditions. By monitoring these elements, farmers and ranchers can optimize their production processes, improve the efficiency of their operations, and ensure that they are using resources in the most effective way possible.
Overall, the NXP HoverGames3 project is an exciting opportunity to explore the potential of technology in agriculture.
Our proposed project and solution to address the issue at hand.With the help of the HoverGames drone kit covering large land surface is possible.
The monitoring part.The drone will include an RX and TX transmitter, collecting all the data from each asset and deploying it to the closest ground station, sending the location and status of the asset.
BackgroundThis project arises from the mixture of several ideas, each with different purposes and progress, and with the main feature of being open-source/open-hardware, among them we have
- system to locate lost kittens, it requires a low power consumption microcontroller and GPS also low power consumption, we can cite as an example the project katzentracker, our contribution would be to use a LoRa antenna mounted on a drone which would rise to a height above the buildings in an urban area and with this we could possibly achieve a line of sight of several kilometers to find the lost kitten.
- fixed asset inventory system, in which we plan to use espresiff mcus such as esp32 and esp8266 and their communication technology called ESP-NOW of up to 100 m line of sight, plus they can also be put in low power consumption mode. A drone can make predefined tours and obtain information on the status of fixed assets.
The systems described above have the particularity of being able to be developed in the Arduino environment, since there are very complete libraries that allow their implementation.
This project combines the main features of these systems and provides a guide and the code base to develop an asset monitoring system called ADAM in its first phase.
This demo consists of several mcus in charge of collecting and transmitting sensor information that is valuable in a rural application scenario. One of the mcus is intended to behave as a gateway and it is mounted on a drone, which for demonstration purposes is a rotary wing drone, however in a real world version this drone has to be a fixed wing type, and in the best case a small airship with autopilot, which will guarantee a good autonomy when performing inspections.
Currently the ADAM system is composed of the following parts:
The Sensors
Two types of sensors are used in this project, some use LoRa technology and others ESP-NOW. LoRa sensors are based on RAK3172 module from RAK company. The sensors that use ESP-NOW are ESP8266 Wifi modules from Espressif Systems. You can use different types of sensors, although in the examples a BME688 sensor has been used through an SPI interface. These two modules were selected because of the possibility to use them in low power mode. The RAK3172 module has the RUI3 library so it can be programmed using the Arduino IDE. The ESP8266 module is also widely supported when used in the Arduino environment.
The drone
The drone is the core part of the ADAM system as it has the function of a gateway, i.e. to receive data from the sensors and transmit them to the base station. Using the QGroundControl software, missions can be generated and loaded into the flight control unit as it uses the PX4 firmware. With this we will be able to plan missions and flight paths that pass relatively close to the sensors using ESP-NOW (on average 200 m with direct line of sight) and several kilometers with LoRa sensors.
To achieve this, the drone is equipped with a LoRa module RFM95 connected to an ESP8266 MCU that will be in charge of retransmitting the received data packets.
Configuration for connecting the NodeMCU (ESP8266) and RFM95 module:
Note: The pins D7, D6, and D5 are the default pins for SPI communication in the NodeMCU board.
The antenna used in the gateway that carries the drone was built using the following tutorial
The length of the antenna will depend on the frequency used by the LoRa transmitters and is calculated using the following link: https://m0ukd.com/calculators/quarter-wave-ground-plane-antenna-calculator/
The base station
Consists of a PC and a CatWAN USB Stick board from ElectronicCats which is used in LoRaSniffer mode, you can find the required firmware in the repositories section and upload it using the Arduino IDE. A Pyhton script called HGLoRareceiver.py is in charge of configuring the CatWAN USB Stick and putting it in RX mode, so that the LoRa packets that are received can be processed or stored as required. As a demonstrative example this script connects to the internet of things platform ThingSpeak and using its API it is possible to store in the cloud the data sent by the sensors.
The way to use it is:
- connect the CatWAN_USB_Stick to a free USB port
- start the python script using
python HGLoRareceiver.py
It will be necessary to modify the API key in the script code for the calls to be made correctly.
We are still working, we will soon include the companion computer that will take care of the monitoring using AI vision, and we will upgrade the drone to a fixed wing (or blimp!), among other improvements.
Comments
Please log in or sign up to comment.