Live programming platform for IoT projects based on Pharo
Travis CI build log: https://travis-ci.org/pharo-iot/PharoThings/builds/750026593
Improvements on ReadWriteLock, Object Statistics, and Seamless. This version works on Pharo 7 and Pharo 8, but not in Pharo 9. To changes at this level requires a lot of effort to keep the retro compatibility. The main branch will be split into Pharo7, Pharo8, being the main branch supporting Pharo 9. The fixes to work it on Pharo 9 will be done on the main branch. This is the last tag with the master branch supporting Pharo 7/8/9.
fixed the installation of packages dependencies by PharoImageCreatorForGithubCi
PharoThings' network communication is more stable now and has a new PotAppDevice class to encapsulate applications.
Brings fixes for Calypso and Seamless
Temperature sensors are implemented as separate classes:
They incapsulate required initialisation logic and actual data reading:
BMP280 is more advanced sensor. It also measures pressure and humidity. To get all parameters use #readParameters message which returns three items array (Celsius, hPa, humidity percents)
I2CDevice is introduced to implement devices driven by I2C protocol.
As example accelerometer sensor ADXL345 is implemented. Look at #connect and #readCoordinates methods for details.
In short: i2c device provides i2cConnection variable which should be used by concrete device class to read/write required data from physical device. The instance of i2c connection is obtained from board using:
board connectToI2CDevice: 16r53 "address of ADXL345"