I am looking for some ideas or a general point in the right direction. I am a software engineer with only basic electronics skills and plenty to learn. In an earlier application I developed PC-based software using the RS232 port and 1-wire temperature sensors (DS1820) to collect data with good results.
I would like to do something similar wirelessly. Ideally, I’d like to build a low-power low-cost solution with up to 25 sensors. Data would be collected on a PC or handheld. Only a low data rate would be necessary over short distances (less than 200 feet). The capability to handle analog or digital sensors for temperature, humidity, pressure, flow, switch state, etc. would be great. Any ideas? What hardware/RF/MCU/sensor solutions should I look at? Thanks.
O.K. I’ve spent more time reading and I think I’ll do some experimenting with an Arduino board. I can probably use the board with some wired 1-wire sensors in close proximity. What are some techniques for wireless communication from a PC or handheld PC to the Arduino board? What if I want one PC/handheld to communicate to multiple Arduino boards? Thanks in advance for any ideas.
Bluetooth is probably the first that comes to mind. You could also try WiFi. SparkFun sells kits for integrating both of these protocols into your projects.
Bluetooth appears to have a distance limit that is too short. I am looking at the Nordic chips and other RF products SFE carries. Can anyone explain the benefits or drawbacks of the various frequencies (315MHz, 418MHz, 434MHz, 2.4GHz) available?
I personally would recommend the nRF24L01 from Nordic. It is by far the easiest to interface and use of all the RF transceivers that I have used, primarily since it has a real SPI interface. SparkFun sells it as their MiRF-v2 board. I have also posted C code for interfacing this chip, so reference code is there for you to use, as well.
Nordic also has an appnote on how to interface their chips to power amplifier chips that allow for up to +22 dBu if I recall correctly. The chips themselves can only go to 0 dBu.
Thanks. I’ll take a look at the nRF24L01 data sheet. So, I would connect one MiRF-v2 to a PC serial port and the other to perhaps the Arduino board and I’d could have bidirectional communication between the two?
This, my friend, was why I recommended Bluetooth. Unless somebody has written some special driver that I don’t know about, you can’t hook the 24L01 directly up to your computer. The serial port on your computer is essentially just a UART, but the interface on the 24L01 is SPI, and the two are not compatible under these circumstances. You would have to put an additional micro between your computer serial port and the 24L01 to make it work. Bluetooth, on the other hand, is natively supported by all of the major operating systems out there, so you don’t need any additional hardware or software to make it work.
You are correct about the connection to your Arduino board, however. You would simply hook up the 24L01 to your SPI port on the Arduino, and then you could have a bidirectional link to your computer assuming you implement my previously mentioned computer link.
O.K. Now, I’m beginning to get the picture. I was overlooking Bluetooth because I thought the distance was limited to 10m but I see some SFE Bluetooth products can surpass 100m. That’s more than sufficient for my needs. Thanks for your help.
ZigBee does look like a good solution for a PC where I will do my prototyping. However, my goal is to have an application that can also run on a PDA. I understand that many PDAs already have Bluetooth. But to use an XBee, I may need to add an SDIO card with a serial or USB port to the PDA and I’d end up with something dangling off the PDA. Are there any SDIO cards with ZigBee?
Bluetooth’s Serial data extension profile is fine for point A to B and no more. Bluetooth has Class 1 and class 2 devices - power and range differ.
if you can stand the cost and high power consumption, a LanTronix WiPort module is a good way to go. Plug and play, for WiFi in the ad-hoc mode (no w-router)