Hi,

I'm writing a python script to communicate via i2c with the ph oem sensor 
from Atlas Scientific.

https://www.atlas-scientific.com/product_pages/oem/oem_ph.html
https://www.atlas-scientific.com/_files/_datasheets/_oem/pH_oem_datasheet.pdf

I already tried with the i2c module of mraa and smbus without luck. 
Now I am trying to translate this arduino example from Atlas to python but 
I read garbage


Any suggestions?, attached the full example arduino code


*Atlas arduino code*
byte i2c_device_address=0x65;
byte starting_register=0x00
byte device_type;
byte version_number;
Wire.beginTransmission(i2c_device_address);
Wire.write(staring_register);
Wire.endTransmission();
Wire.requestFrom(i2c_device_address,(byte)2);
device_type = Wire.read();
version_number = Wire.read();
Wire.endTransmission(); 


*My python script*
import smbus

# General i2c device class so that other devices can be added easily
class i2c_device:
 def __init__(self, addr, port):
 self.addr = addr
 self.bus = smbus.SMBus(port)

 def write(self, byte):
 self.bus.write_byte(self.addr, byte)

 def read(self):
 return self.bus.read_byte(self.addr)

 def read_nbytes_data(self, data, n): # For sequential reads > 1 byte
 return self.bus.read_i2c_block_data(self.addr, data, n)

ph = i2c_device(0x65, 2)
ph.write(0x00)
device_type = ph.read()
version_number = ph.read()
print(device_type)
print(version_number)


-- 
For more options, visit http://beagleboard.org/discuss
--- 
You received this message because you are subscribed to the Google Groups 
"BeagleBoard" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/beagleboard/d181e402-b362-4598-8699-43c41374d6fd%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Attachment: OEM_pH_Sample_code.ino
Description: Binary data

Reply via email to