User interface for configuring the Raspberry Pi server
Interface for adding and editing rangers
Python script running to send the messages as SMS or phonecalls (phone numbers redacted)
Product overview, ARAS requires access to the raw message feed but will take over the rest of the work
The Automatic Ranger Alerting System
Multi-sensor alarm systems for protected areas can be used to detect humans and potential poaching threats, to help enable rangers to rapidly respond. For example, National Parks in Rwanda and Tanzania are becoming 'smart parks'; with sensors and IoT devices deployed across a large area.
However, many of these alarm systems rely on a 24/7 staffing of the central control centre that receives the sensor data, where a system manager will have to manually categorise and relay the incoming messages to park rangers in the field.
We were inspired to create a solution that automatically categorises and transforms incoming messages into alerts that can be distributed to rangers via mobile phone or digital radio networks as SMS and audio messages.
What it does
ARAS augments and automates existing sensor and messaging processes in parks,
ARAS is Automated, Reliable, Accurate and Simple
- ARAS removes the bottleneck from the message relay; automating the transfer of messages from the distributed park sensors to rangers and removing all manual steps.
- The home page of the dashboard will display the recent messages, and can be used to update the configuration and ranger details, however it is designed to not require human oversight.
- ARAS will prioritise alerts, chose an alert method, and target rangers in the vicinity of the triggered sensors.
- System configuration will decide the type of messaging to use according to the priority level of the alert.
- The dashboard can be used to customise or change the configuration of ARAS.
- Concise, clear and consistent relay of messages. For top priority both SMS and VIOP can be used.
- Rapid and tailored delivery of messages to rangers will ensure that rangers receive up-to-date and relevant information; keeping them informed and empowered.
- Clean and minimal dashboard to enable configuration of the application, and interaction with ranger and message databases, without the requirement for programming knowledge. This is a user-centric solution to minimise on-boarding and training requirements.
- Low price, consumer-level technology that would be feasible for finically constrained services to implement.
How we built it
ARAS can be divided into four layers:
- A data ingestion and processing step that reads from the incoming sensor messages
- The logic that parses these messages, assigns an alert level, identifies nearby rangers, and determines which actions to take
- The interaction with a third-party service to relay the alert to the target mobiles or digital radios
- The dashboard for configuring the system, and displaying information from the database to users
The application runs from Python scripts, on a Raspberry Pi. There is a Flask server managing the updates to the application configuration, and to the database (SQLite), which is also hosted on the Raspberry Pi. The database stores the messages and details on the rangers.
The logic for processing the data from message stream, categorising the priority, identifying which rangers should receive an alert, and the format of the alert, are also written in Python. These scripts also access the SQLite database on the Raspberry Pi. Alerts are sent using a cloud communication service (Twilio). Both SMS and audio messages are possible. For audio relay, the alert is read out via a text-to-speech service when the ranger answers.
The Flask server is also responsible for providing the APIs that the dashboard communicates through. The dashboard can make typical
DELETE actions to display information to the user, update the database, and allow for some simple configuration of ARAS.
The ARAS dashboard is built in React JS. It can read and update the database containing information on the park rangers, allowing the immediate addition of new rangers, or the updating of contact details and location. The configuration page can modify the default settings. decide the type of messaging to use according to the priority level of the alert. There are options to mute certain alerts, or decide if an SMS, automated phone call, or both, are appropriate according to the priority level of the alert.
Accomplishments we are proud of
We only met and formed a team at the hackathon; being able to conceptualise and implement a solution that utilised the skills available within our team, and gave everyone a balance of work and responsibility, went really well - everyone had fun, collaborated and worked together to produce an end-to-end prototype and a pitch.
What we learned
We initially considered working on field sensors, but discovered from the Subject Matter Experts and speakers that there are already 'smart park' and distributed sensor based solutions, so we focused on where we perceived the bottleneck of the sensor message relay system to be, the manual processes occurring at the control centre.
What is next for ARAS
e would like to integrate a feedback loop for rangers to acknowledge receipt of messages, and ARAS to take further action based on the response from the ranger (declined, acknowledged, resolved, etc.).
For example, ARAS could send the alert to a different ranger, add a confirmation on the dashboard, and track the outcome of investigations (resolved. Additionally, for cases where the rangers are busy or off duty, this would allow rangers to reply to messages and alerts could be be reassigned to a different nearby ranger to deal with.
Integration of the LPWAN technology
This would be desirable so that more sensors could be dispersed over a wider area in low signal locations, to achieve greater coverage and higher reliability. We could then aggregate all the sensor data and more accurately distinguish important issues from noise.
Expanded dashboard functionality
Functionality in dashboard to trigger the resending or reassignment of alerts, or to recategorize them. If we remove the time commitment of the message relay task, these hours could be repurposed for assessing alert trends and ranger responses, something that the ARAS dashboard could be expanded to visualise.