I would like to measure a 0-1.2V voltage signal and send it to Dia automatically.
My electronics provide 4 low impedance, voltage outputs that can range from 0 to 1.2V, and I have connected them to AD0-AD3 of an XBee module.
I am wondering which XBee firmware to use.
I’m using Dia with XBee sensors and an Analog IO adapter, so I thought I could use AIO firmware (0x2270 / 0x2264), it supposedly will sample voltage and transmit it periodically.
Thanks in advance,
Well, you need the AIO firmware on the XBee AIO Adapter, but you would NOT want to use that firmware with your own board which links your four 0-1.2v signals directly to the XBee.
You can use any common firmware such as API Router or API End-Device. The auto-sending of data is a normal XBee setting.
Another question from my retorted mind: will Dia work fine if I trick it by setting my devices’s DD to 0x3000B as if it were an actual AIO? I will eventually write my own Python class for my “home-made AIO”, but for now I would love to troubleshoot my device without having to bother with Python…
My intention being to build quite a few of these and install them at customers, I’m actually also considering registering a vendor Id with XBee. Would that make sense?
well, in fact I got the answer to my first question: evidently AIO firmware accepts the “P3” command while the API End Device doesn’t, so it does not work. Python it will be then…
My vendor ID question is still valid, though. Would it make sense to try and obtain a Vendor ID from Digi?
Yes, Dia will happily be fooled by the DD value, but you need your adapter to expect all the same I/O configurations. For example, the ‘power out’ is P3 - this is BUILT INTO the PCB on a Digi XBee AIO Adapter.
The API End-Device will (should) allow setting/getting P3, but I cannot promise that some other I/O needs to valid first, as the XBee AIo Adapter also include DIP switches to enable power out. Therefore, setting P3 on the AIO may have other dependencies hidden from you.
What is you exact ‘hardware’ goal?
Well, I finally created my Python class for my device, and got it to work. Pretty straightforward in fact, using the API End-Device.
Hardware-wise, my goal is to create a versatile sensor that sends raw data to a ConnectPort, then from there to a database. I have a framework that can get the data from there.
The idea is to sense various physical data depending on my customers’ needs; so far it ranges from current to carbon monoxide… So I am in the process of designing a “base” PCB that would accept all these. Hence the “AIO”-like behavior, and the idea of having my own DD…