Here's just my two cents.
> I am trying to determine if there is any interest in my method of using Cat Genius.
I'm still in the 'controller replacement board'-camp. I have actually started negotiation with an old EE colleague last week on doing schematic entry an board layout for me. Still I don't recommend anybody who wants/needs a solution now to wait for this.
> So I wrote my own Frankensteinish setup. I flashed GenieDiag created by MindBender onto my box,
> then I am using a raspberry pi to send serial commands to my box. I had some issues with getting
> the serial stream to work correctly and reliably, but I finally got that all sorted out.
GenieDiag started out as a diagnostics tool to help people figuring out what is wrong with their box, and honestly; To make my life easier diagnosing remotely.
Already a couple of years ago, somebody (you?) asked me for low-level control commands on the serial port. I already had code for a command line interpreter so that was fairly easy to add to GenieDiag. To GenieDiag, not to CatGenius, because the latter would require extra code to marshal ownership of hardware control.
In short: You're using it exactly for what it was intended for. Hopefully not alone, but you're the only person I know of who does this.
> This gives me a couple advantages:
> 1) Wifi, with the Raspberry Pi 3, you can use wifi. (I currently am using a rPi2 with a USB wifi dongle)
I'm not a big fan of WiFi in embedded products, because it can be hairy to set up properly. But I'm making an exception for this project, because not everybody - including me - has an Ethernet socket close to their box. And trust me: I have Ethernet sockets _everywhere_ in my house.
> 2) Multiple box control with 1 Raspberry Pi. (I've only got one box at the moment.)
Personally I don't think the cost of one extra RPi outweighs the bundle of wires between boxes.
However, inter-box communication has been on my wish list from the beginning: If one box is washing, you just don't want a second box to start washing before the first one is finished.
> 3) I can write my own programs very easily, it's programmed in PHP Command Line, which is very
> similiar to BASIC, which, as you would guess is pretty basic. I stuck with the same type of
> commands that MindBender used, IE, "ARM_UP", "BOWL_CCW", etc.
You can do that in LitterLanguage too, albeit (much) more cumbersome.
The LitterLanguage interpreter supports multiple sources and the idea was to be able to run washig programs from a cartridge tag, allowing different programs for different cartridges containing different detergents. For debug and development purposes, a washing program could be run from the serial port, attached to a PC feeding it commands in real time. That does however requires a PC program and that I didn't make, mostly because demand was/is NIL.
> My idea is that the community would be able to submit their own wash programs and people can try
> out other people's wash cycles.
That was the whole idea behind LitterLanguage. But the modding/sharing never started. I suppose most people just want to get out of their cartridge jail and don't care much for a better washing program. And my method being too hard/cumbersome/unfinished is probably a big cause here too.
> Current Issues with my program:
> 1) I don't watch the water sensor. My program just fills the box for x seconds and stops filling. I do
> not get clogs, so I don't have much of an issue with this approach. I will fix it properly in due time,
> if the need/demand is there. I know how to fix this problem, and can fix it if there is demand for it.
If your water pressure is more or less constant, it's just a matter of tuning the timing to your local pressure. I guess that's what you did and given the amount of problems caused by the water sensor, it's a pretty good idea. However, I would only recommend it for places where flooding isn't too much of a problem, like for the boxes in my garage.
> 2) I manually tell my box when to start a wash cycle, there is no automatic "after x seconds run a wash".
> I just manually run it twice a day or so.
I don't even know for sure if that works in CatGenius.
> No cat detection is used, except to make sure before a wash
> cycle starts that no kitty is currently in the box. I know how to fix this problem, and can fix it if there is
> demand for it.
Unfortunately, you cannot use the cat sensor to detect if the box is occupied: I have done long-time logging, combined with video recordings and I have found out that there is no one-on-one correlation between the box being occupied and the sensor output. A cat doing his business causes one or more brief sensor triggers. This is good enough to trigger a delayed washing program, but not to conclude the box is not occupied.
One of our cats even manages to use the box without triggering the sensor at all, because he enters and leaves the box from the sides, and sticks close the PU while doing his duty.
> 3) As of right now, I don't use the soap dispenser, I just use plain water, then after a couple days
> I dump in some bleach and run 5 wash cycles instead of the normal 3 wash cycles.
Same here. I do a deep-clean three times a year, with a high-pressure cleaner, outside on the grass. Imagine the mess that makes.
> 1) Is anyone else interested?
> 2) If I decide to do this, I'm likely to create a set of forums (self hosted, self paid for, no ads, no
> crap.), would anyone be interested in forums?
I am delighted to see somebody is actually taking my work and building his own solution on top of it. So please don't take this reply as criticism or in any other negative way.
Cheers,
Robert.
Great minds think alike. I am doing a similar thing but with the RPi 3's in-built bluetooth and a build of CatGenius with all the serial interface options enabled.
Hi Knight (who might, or might not say 'Ni'),Here's just my two cents.
> I am trying to determine if there is any interest in my method of using Cat Genius.
I'm still in the 'controller replacement board'-camp. I have actually started negotiation with an old EE colleague last week on doing schematic entry an board layout for me. Still I don't recommend anybody who wants/needs a solution now to wait for this.
Already a couple of years ago, somebody (you?) asked me for low-level control commands on the serial port. I already had code for a command line interpreter so that was fairly easy to add to GenieDiag. To GenieDiag, not to CatGenius, because the latter would require extra code to marshal ownership of hardware control.
In short: You're using it exactly for what it was intended for. Hopefully not alone, but you're the only person I know of who does this.
I'm not a big fan of WiFi in embedded products, because it can be hairy to set up properly. But I'm making an exception for this project, because not everybody - including me - has an Ethernet socket close to their box. And trust me: I have Ethernet sockets _everywhere_ in my house.
Personally I don't think the cost of one extra RPi outweighs the bundle of wires between boxes.
However, inter-box communication has been on my wish list from the beginning: If one box is washing, you just don't want a second box to start washing before the first one is finished.
You can do that in LitterLanguage too, albeit (much) more cumbersome.
The LitterLanguage interpreter supports multiple sources and the idea was to be able to run washig programs from a cartridge tag, allowing different programs for different cartridges containing different detergents. For debug and development purposes, a washing program could be run from the serial port, attached to a PC feeding it commands in real time. That does however requires a PC program and that I didn't make, mostly because demand was/is NIL.
That was the whole idea behind LitterLanguage. But the modding/sharing never started. I suppose most people just want to get out of their cartridge jail and don't care much for a better washing program. And my method being too hard/cumbersome/unfinished is probably a big cause here too.
If your water pressure is more or less constant, it's just a matter of tuning the timing to your local pressure. I guess that's what you did and given the amount of problems caused by the water sensor, it's a pretty good idea. However, I would only recommend it for places where flooding isn't too much of a problem, like for the boxes in my garage.
> 2) I manually tell my box when to start a wash cycle, there is no automatic "after x seconds run a wash".
> I just manually run it twice a day or so.I don't even know for sure if that works in CatGenius.
Unfortunately, you cannot use the cat sensor to detect if the box is occupied: I have done long-time logging, combined with video recordings and I have found out that there is no one-on-one correlation between the box being occupied and the sensor output. A cat doing his business causes one or more brief sensor triggers. This is good enough to trigger a delayed washing program, but not to conclude the box is not occupied.
One of our cats even manages to use the box without triggering the sensor at all, because he enters and leaves the box from the sides, and sticks close the PU while doing his duty.
Same here. I do a deep-clean three times a year, with a high-pressure cleaner, outside on the grass. Imagine the mess that makes.
I am delighted to see somebody is actually taking my work and building his own solution on top of it. So please don't take this reply as criticism or in any other negative way.
Cheers,
Robert.
Current Issues with my program:1) I don't watch the water sensor. My program just fills the box for x seconds and stops filling. I do not get clogs, so I don't have much of an issue with this approach. I will fix it properly in due time, if the need/demand is there. I know how to fix this problem, and can fix it if there is demand for it.
2) I manually tell my box when to start a wash cycle, there is no automatic "after x seconds run a wash". I just manually run it twice a day or so. No cat detection is used, except to make sure before a wash cycle starts that no kitty is currently in the box. I know how to fix this problem, and can fix it if there is demand for it.
3) As of right now, I don't use the soap dispenser, I just use plain water, then after a couple days I dump in some bleach and run 5 wash cycles instead of the normal 3 wash cycles. I know how to fix this problem, and can fix it if there is demand for it.
The second reason for doing this whole rPi-Cat Commander setup, was so that I could integrate my cat boxes into my whole house automation system, which is controlled via a custom made terminal screen, this is where control of the Cat Commander takes place.
However, inter-box communication has been on my wish list from the beginning: If one box is washing, you just don't want a second box to start washing before the first one is finished.
One of our cats even manages to use the box without triggering the sensor at all, because he enters and leaves the box from the sides, and sticks close the PU while doing his duty.
I don't know how it works with GenieDiag, but in CatGenius I believe the serial port outputs the status of the water sensor when there is a change, so you'd just have to wait for the right string to be output.
Great minds think alike yet again. The Rpi3 will eventually be the main controller for all my home automation.
--
You received this message because you are subscribed to the Google Groups "CatGenius" group.
To unsubscribe from this group and stop receiving emails from it, send an email to catgenius+...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
This is exactly how I planned to attack it as well.
Some thoughts:
- Water sensor is a must if it's going to be released. Different areas have different pressure, I have high water pressure so my box fills rapidly.
- Automatic wash seems like it'd be a necessary item.
- A plugin interface might be worthwhile. Even something simple that just includes the plugins code when enabled. This way people can develop other items without messing with any of the main script.
As for the wash cycles, it could be as basic as reading a config file for parameters. Parameters could be broken down to ACTION,time . So users could program ARM_DOWN,3000 (ms).
Actions could also be preset mini-programs. For example, the box does an up,down,up,down,up,down with the arm to shake loose granules. That whole sequence could be a preset, so users programs would just be "SCOOPUPSHAKE".
- Water sensor is a must if it's going to be released. Different areas have different pressure, I have high water pressure so my box fills rapidly.
- Automatic wash seems like it'd be a necessary item.
- A plugin interface might be worthwhile. Even something simple that just includes the plugins code when enabled. This way people can develop other items without messing with any of the main script.
As for the wash cycles, it could be as basic as reading a config file for parameters. Parameters could be broken down to ACTION,time . So users could program ARM_DOWN,3000 (ms).Actions could also be preset mini-programs. For example, the box does an up,down,up,down,up,down with the arm to shake loose granules. That whole sequence could be a preset, so users programs would just be "SCOOPUPSHAKE".
A little while ago, I mapped out how I'd write the control/clean script in Python. But if you're willing to post up the PHP, I'd appreciate it and I'll post any tweaks I may make.
--
You received this message because you are subscribed to the Google Groups "CatGenius" group.
To unsubscribe from this group and stop receiving emails from it, send an email to catgenius+unsubscribe@googlegroups.com.
I am using a USB<=>RS-232 adapter in my setup. And a TTL<=>RS232 on the CatGenie side, so my script calls for access to /dev/ttyUSB0 for serial port.
Knight.
If you have time to wait for China, you can get 3.3v to 5v bi-directional level-shifters in a 10pack for around $2-4.
I have a bunch from other Pi projects since a lot of stuff is designed for Arduino (5v normally) and needs it to work with the Pi.
I have a few plugins in mind so any changes I make I'll likely build as a plugin and post here.