Send a signal from the Navio2/ArduCopter-quad to Raspberry Pi to start a script

Is it possible to have the Navio2 with Arducopter-quad send a signal to the Raspberry Pi based on some event like DISARM? I want to have the DISARM event kick off a script in the Pi.

I’m using the latest Emlid linux distribution and Arducopter 3.4.6.



Sure, there’s two handful of options: ArduPilot USERHOOKS, dronekit and ROS. I suggest you search through our forum. The issue like this has already come up several times.

Thanks George. I need some guidance please.

I looked through USERHOOKS and do not fully understand it as I am not a strong software engineer. Also, I looked at Dronekit and it appears that it only lets you drive Navio2 functions from python programs. Your ROS section was well explained but I cannot tell if it will enable me to do what I want to.

On my LTE implementation I have to install a default route in the Pi to make the LTE modem communicate with the internet. To do this I run a script just before taking off that installs the default LTE route. The script also turns off the wifi interface with which I had been using to communicate with the drone up until running the script.

When I land I want to go back to wifi mode. To do this I want to run another script that turns the wifi back on and removes the LTE default route. I was thinking that at the end of every flight the drone DISARMS.

I need the capability such that when the drone DISARMS, a message gets sent to the Pi to run the script to turn WiFi back on. Or have the Pi query the Arducopter variable that keeps the ARMED/DISARMED state until it sees it change state to DISARMED.

Which of the USERHOOKS, Dronekit, or ROS methods would be simplest and least resource-consuming for this function?