I'm looking for a way to run a simple motion detector (as in physical motion using a gryoscope device) and have this notify me somehow that motion has occured. The bit I get stuck on is how to enable connectivity so it can notify me from a remote position with no access to wifi or wired network.
I would love for this thing to consume minimal power too, so I only have to recharge the battery once per week (for example, this might not be possible, or maybe something much better is possible, i have no idea)
The most convenient option I can think of is a cheap smartphone with 3g/4g data connection that can somehow integrate with the motion sensor and enables me to write some code to send a message.
There must be something better suited to this though. Thoughts welcome.
If I understand correctly, I feel like OpenCV and computer vision is a huge overkill for something like that. Here are a few thoughts:
1. A microcontroller with a LoRa module and a motion sensor will get you a long way and it will consume little to no power. That said, you also need to make sure you have a device to either read the signal or someone in a radius of 4 to 6km is hosting a lorawan gateway. If not, I'm sure people will be grateful if you set up one yourself - to my mind it's worth it and I happen to be the only person that hosts one and covers my area of the city. Just make sure you don't enable any of the other gimmicks the microcontroller might come with - wifi, bluetooth or whatever. For instance I have a bunch of these [1] and they seem like they would do the trick for you if you pair them with a motion sensor. I need to warn you though, the documentation is appalling.
2. If you do wanna go CV - you can but it will never be low power and you will need to figure out some connectivity. If it's a raspberry pi or some other SBC with GPIO, you could of course hook up lora to it. As for the CV itself - opencv will get you there or you could train a very small yolo-like neural network - if you control the environment/lighting and they are static, you only need a handful of sample images to train it and you will get great accuracy. Like even something in the very low double digits will do the trick. Imo that would be overkill and your best bet is still the first option.
LoRa and the most power efficient microcontroller you can get away with. If you just want to detect motion you could even get away with a simple motion detecting switch triggering an interrupt that wakes the device from sleep and sends a message and puts it back to sleep. If your needs are mor comples you use a gyro/acceleration sensor and highpass the absolute value of the summed acceleration signals with a onepole filter smooth it with a onepole lowpass and trigger the LoRa message when the value is above a to be determined threshold for a to be determined amount of time.
On the other side you can setup e.g. an ESP32 that receives the LoRa message. This ESP32 can then communicate with whatever, using Wifi, USB-Serial or whatnot.
Alternative lowtech idea: a vibration switch (essentially a metal spring inside a metal ring/tube, when vibration is big the spring touches the ring/tub and contact is made). This contact switches a mosfet that then discharges into an IR-LED. This means you get a thing that flashes IR-Light when it is vibrated and doesn't use any power (appart from the leakage of the capacitor) when it isn't active.
On the other side you need to detect the IR pulse and do something with it, e.g. using an Arduino/ESP32 or something among those lines. Of course this means you need to have line of sight between the two.
I love the lo-tech idea. I hadn't considered this approach but I could see it working well for outdoor environments (with line of sight) where there is little infrastructure available.
"asset tracker" is a good keyword to search for. Unless you need very particular detection, there might be ofc the shelf solutions that can work. "This thing is in motion" is often a supported feature. Months of battery life is achievable, with the right hardware. For cellular, the most modern standard is NB-IoT. CAT LTE M1 also pretty good.
Note: GPS tracker is also a good searchword, as it is a common feature on (outdoor) asset trackers, even though it might not be the most critical in your intended application.
Check Teltonika TAT141, for an example. Supports accelerometer wakeup. No affiliation, but have evaluated their other products (BLE beacons and IOT gateways) before, and got a good impression.
https://teltonika-gps.com/products/trackers/assets-workforce...
The Nordic Thingy dev platform is available in both Bluetooth Low Energy Long Range and cellular versions. It has everything you need. More expensive than a cast-off cell phone for a one-off though.
I've build a water fountain for my cats a year ago, with a simple cheap motion sensor (3€ AliExpress). They prefer running water over everything, so it works great. The only real enemy, neighbors black cat, is locked out.
A dynamically detected bounding box (cat) overlapping with a predefined bounding box (bowl) would be less than 50 lines of python if you use openCV. Discriminating raccoons and cats would probably be another 50 lines if you use some pre-trained ML model.
Adding an electric scale to the bowl would certainly cut down the false positive rate you're going to get (from the cat, safe to say the raccoon will always be eating if it overlaps the bowl).
Just figured it out was not loading because of my antivirus (malwarebytes).. while virustotal doesn't flag the domain name, the ip it is hosted on is flagged as malicious/a trojan[0]. The IP is on Namecheap's ASN so evidently at some point the ip was used by someone to host malicious files.