EquiOT is a connected device for horses that allows you to obtain various statistics during an exercise session or a ride. This object can be used for several types of riding. In the field of sports, it can be used to measure the effort, the regularity of the stride and the distance covered during training. For recreational riding, geolocation allows the animal to be found in the event of a fall or to keep track of the routes taken. This prototype will also evolve with other sensor ideas to measure in more details health condition of the horse: heart rate, breathing...
Why this projet ? One of us is a long-time horse-rider. He had already worked on an application project related to the equestrian world, and we wanted to explore the possibilities offered by IOT in this field.
We also think that combining horse riding with technology is an interesting idea. All sports use data, but horse riding is quite late. So there is a real business opportunity to explore this hypothesis, and even to continue the development of the project after it is delivered.
In the following, we will show you how we have implemented the different functionalities of this first prototype.
Analyse the horse's behaviourTo analyse the behaviour of a horse, whether in training or on a ride, we needed different sensors. The school providing us with an Arduino MKR WAN 1300 board, a GPS sensor, an accelerometer and a temperature sensor. So, we had a basis for obtaining data from the animal's activity.
To make this work, we wrote a code that aggregates the data from the different sensors and sends it to the TTN network through the LoRa antenna embedded in the board. At this stage, our prototype is able to records the animal's journey and reports its current position, and senses its temperature to see if it is making a significant effort. Finally, the accelerometer can be used to check the regularity of the animal's stride to see if it is limping. The GPS, in addition to providing information to the rider, is a safety feature: if the rider falls, the sensor allows the rider to find him. Indeed, the code sends sensor data to the TTN every 3 minutes. Therefore, they are regularly refreshed on the dashboard.
Placing the sensors on the horseFirst of all, we chose to place our sensors on an electronic board of our own design. Indeed, keeping the board would have been disabling to design a receptacle to be placed on the horse.
We have made a compact electronic board that houses our sensors and our Arduino:
This card is contained in a special box that can be attached to the girth of the horse's saddle. In this way, our sensors can record the data directly on the horse. We have designed an ergonomic box, rounded and following the curve of the horse's belly. In the future, we also plan to add a synthetic material that will soften the friction when in contact with the animal.
Our case was made in 3D printing based on the diagram :
Our sensor-equipped object allows data to be retrieved from the horse. However, in order for the data to be useful to the rider, they must be sent to a database for storage. This makes possible to keep a history and display them on a dashboard.
The first step is to send the data to an application server. For this, we have chosen to use LoRa technology. Its main quality is that it uses very little energy, which extends the life of the object on the horse.
To communicate using LoRa, we use The Things Network, a community network. Its main advantage is that a gateway is available at the school, which allows us to quickly set up communication for our tests. To establish it, we registered our device on TTN's console and we customized the encoder function to fit our needs.
As we want to continue the project, we decided not to rely on an unscalable infrastructure like a simple local VM or raspberry. In order to make our infrastructure more flexible, we decided to send our data from TTN to an AWS server. In the TTN console, we have created a webhook that sends the sensor data to a specific port on our machine on which a NodeJS application is responsible of collecting the data. The choice of AWS was based on the fact that if our project grew, we would be able to quickly absorb a large number of connections by deploying new EC2s.
On this machine, port 6969 is open to allow our NodeJS server to intercept frames from TTN.
On the server, a NodeJS application is responsible for collecting the data and sending it to our Firebase database. The data coming from TTN is encoded in hexadecimal, and it is the role of our server to translate them into ASCII format to use them in our application. Our React application will then be able to retrieve the information needed to display the user dashboard.
Have a portable dashboardTo be accessible in any situation, we decided to create a mobile web dashboard using React Native. This technology allowed us to develop an application compatible with all types of mobile OS (Android and iOS), but also to have a web support. This development method has saved us a lot of time, and obviously increases our potential market share.
The following features are available:
- Logging in to your account
- Adding a session (taking information)
- Reading data from a horse and displaying it on the dashboard
Other features will be added to the application, such as stable management and a health history that can be shown during veterinary visits.
ConclusionThis project was an opportunity to apply the technologies seen this year with our personal skills. Thanks to our exchanges and an agile working method, we were able to increase our skills. Finally, we decided to continue this project. It may be an excellent introduction to the world of entrepreneurship.
Comments
Please log in or sign up to comment.