我試圖讀取和寫入Raspberry Pi 3的Sensirion SGP30傳感器的i2c消息,但我很難將頭繞在smbus lib上。與Sensirion的Python smbus庫SGP30
SGP30文檔(https://cdn.sos.sk/productdata/46/c9/ba351164/sgp30.pdf)的表,其中顯示hexdecimals至Init,並開始測量:
這裏是我如何設法得到它運行起來:
bus = smbus.SMBus(1)
address = 0x58
time.sleep(.5)
bus.write_i2c_block_data(address, 0x2003, [])
time.sleep(.5)
bus.write_i2c_block_data(address, 0x2008, [])
time.sleep(.5)
while 1:
print bus.read_i2c_block_data(address, 0)
這打印我陣列
[0, 0, 129, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255]
但是傳感器對酒精沒有反應。
我真的需要的是關於i2c通信和smbus(python)相同的傻瓜教程。看來,我見過的每一個教程都是那些「只是把這些字節放在這裏,而且你很好去」的教程。
那麼我該如何得到這個工作?謝謝! :)
我之間有穩壓器,所以一切都很好。剛剛發佈的答案,我怎麼得到它的工作。 – Sharko