Announcement

Collapse
No announcement yet.

Receiving multiple RF commands in a short amount of time from multiple sources

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

    Receiving multiple RF commands in a short amount of time from multiple sources

    Greetings all,

    I have a question about limitations of receivers, buffers, and the HomeSeer scripting objects, AND I'm seeking advice on options for processing a high number of x10 incoming commands coming in in a series of short bursts.

    I have been using x10 for home automation and scripting using HomeSeer's vba objects for 2-3 years. I just found this message board, and this is my first post. If I am posting this in the wrong place, please let me know... and/or cross post to the right place for me.

    I am about to experiment with an application that would involve using a W800RF32 receiver (can receive x10 via RF for all housecodes, connects directly to computer rather than use power line signal) and up to 64 rf devices sending it signals - simultaneously.

    Before I begin, I thought I would ask if anyone knows of limitations that I should be aware of regarding limits on the capacity of an x10 receiver to detect and buffer a high number of signals in a short amount of time.

    A preliminary test indicates that going from a single generic (one house code, 8 device) RF remote to a generic (one house code) RF receiver, over the power line to a transceiver connected to my serial port, Homeseer starts dropping commands when I press the buttons faster than one press per approx. 0.5 seconds.

    Because the test uses a single remote and the power line, I still intend to test the W800RF32 with 8 keychain/credit card (KR22A) type remotes to see what happens - then increment to 16 and 32 to test before going to 64.

    I am most interested in information regarding the question above (limitations on receiving multiple signals from multiple sources in a short amount of time) AND in the best way to process the x10 commands as the come in. Because there isn't a unique tag to x10 commands as they come in, it seems that the LastX10 (which seems to use a "last in, first out" approach) method may not work for my purposes. What options would you suggest I explore? For example, is there anyway to programmatically traverse and read the HomeSeer log?

    Any help would be greatly appreciated.

    Best regards,

    Mark Bolgiano
    X10 Mad Scientist

    #2
    Mark,
    First, welcome to the board. You will be surprised at the resources here. The people aren't bad, either . Second, good luck on your testing, and please keep us posted on your results.

    I can shed some light on your single housecode test. I assume you used either a RR501 or a TM751 transceiver. These devices use a single-minded PIC microcontroller, which has no buffering and cannot listen for RF while it is transmitting X10 on the powerline. It takes approximately 3/4 seconds for it to transmit on the powerline, at which time it is deaf to the RF.

    Th RF is much faster, transmitting a message in approximately 1/10 of a second. But this is still much slower than the baud rate of the W800RF32 (an excellent device, imho) and your typical PC. I believe (but am not sure) that the W800RF32 is buffered and can receive RF while transmitting prior messages to the PC, so it should not loose any valid RF messages.

    So the limitation is in the RF. It takes about 67 milliseconds to transmit an RF message, and there is supposed to be 40 milliseconds of silence between messages. The X10 RF is modulated using ASK (asynchronous shift keying), which means that, if two devices tried to transmit at the same time, they would garbage each other's transmission. The bottom line is that you won't be able to get more than ten commands per second. That's still much better than you can get on the powerline.

    A few minutes later:
    Mark, I just read your post in the 'programming' forum, and the word I also forgot to use was "collisions".
    Last edited by ; November 8, 2004, 01:23 AM.

    Comment


      #3
      Rocco,

      Thanks for the information ... and the welcome.

      I'm not an EE, but if it requires 107ms total for each RF signal, then as a practical matter, a polling application may not be practical.

      This is, by the way, a classroom experiment and an attempt to find something that the typical 14 year old male mind won't find boring ... so I can trick them into learning some VB 101 with a less abstract object model.

      The idea is to use the W800RF32 and up to 64 keychain remotes (KR22A, which controls 4 devices) to build a testing or "audience response" system to capture responses and display them in tabular and graphic form.

      I think I may still try it, perhaps with 16 or 32 to start. I will make sure to publish my results back out to the list, whether they reflect success or failure. It will be fun, as they say, trying.

      I'd like to ask others on the list to PLEASE throw in their $.02 as well. Thanks in part to your response, Rocco, I have another wave of questions:
      1. Is the W800RF32 buffered? Can't seem to confirm your speculation via Googling for specs.
      2. When there are collisions between signals from two different RF transmitters, because there was less than 40 milliseconds between the end of one signal and the beginning of the other (and, always, by definition for different house/device values - the first remote will be for A1-A4, second for A5-A8, etc) then is the result an unrecognizable command signal, or a random command that might not equal either of the ones in the collision?
      3. Anyone know where I can buy the KR22A remotes in bulk? There's quite a few listed on eBay for $1-5 each (with more, of course for shipping... hoping to combine shipping on quantity) by folks who seem to have more than one, but they don't respond when I inquire about buying 16 or 32.

      Questions 1 and 2 may only be answered through experimentation. Question 3, however, needs to be solved for me to be able to get under way. Any help on a source for bulk KR22A devices would be GREATLY appreciated.

      Again, Rocco, thanks for making me feel welcome, and for answering some fundamental questions about the X10 and RF mechanisms.

      MB

      Comment


        #4
        This sounds like an interesting project you're setting up. There may be limitations in the hardware, but if there are, then a couple of alternatives might help:

        1) Why not control the polling, so that only a few people press the button at a time. We did something similar in the mainframe days to stop 800 users logging in at the same time after a failure.
        2) Another option might be to use the software to overcome any problems. You’re probably already planning to log which devices have been pressed so that you can exclude duplicate presses, why not ask people to press their vote three times, and exclude duplicates, in the hope that for each device, at least one of the presses actually gets through the hardware.

        The multiple press idea is common in X10 environments, many of us probably use HomeSeer to send out a few ‘ons’ or ‘offs’ when we want to be sure we got through to a device!

        Comment

        Working...
        X