[Tinkerphones] Fun with BME280 inside GTA04A5

Andreas Kemnade andreas at kemnade.info
Wed Sep 20 21:41:48 CEST 2017


On Tue, 19 Sep 2017 18:46:03 +0200
"H. Nikolaus Schaller" <hns at goldelico.com> wrote:

> Hi,
> 
> > Am 19.09.2017 um 18:38 schrieb Andreas Kemnade <andreas at kemnade.info>:
> > 
> > On Tue, 19 Sep 2017 08:42:21 +0200
> > "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
> >   
> >> Hi,
> >>   
> >>> Am 19.09.2017 um 08:01 schrieb Andreas Kemnade <andreas at kemnade.info>:
> >>> 
> >>> Hi,
> >>> 
> >>> On Sat, 16 Sep 2017 21:57:32 +0200
> >>> "H. Nikolaus Schaller" <hns at goldelico.com> wrote:
> >>>   
> >>>> Hi,
> >>>> since we a re a tinkerphones community, I just had
> >>>> some fun with the GTA04A5 I want to share :)
> >>>> 
> >>>> Maybe you know that there is a BME280 inside. It
> >>>> is a combined barometer, thermometer, hygrometer
> >>>> sensor chip.
> >>>> 
> >>>> And it has full Letux kernel support so that it
> >>>> works out of the box.
> >>>>   
> >>> Well, to produce nice input there still needs to be some logic,
> >>> Probably some power management logic. like suspend for some minutes to let the
> >>> gta04 cool down and read then the sensor directly after suspend.  
> >> 
> >> That is easy:
> >> 
> >> ./measure-suspend 300; cat /sys/bus/iio/devices/iio:device5/in_humidityrelative_input
> >> 
> >> Or integrate it into a new script that does similar things as ./measure-suspend
> >> for suspend + wakeup by RTC.
> >>   
> >>> 
> >>> So the question is: does the hygrometer produce sane output when the gta04 case
> >>> is closed?  
> >> 
> >> Yes, that would be nice if someone could find out.
> >>   
> >>>   
> >>>> It was simple to do some readout:
> >>>> 
> >>>> 	cat /sys/bus/iio/devices/iio:device5/in_humidityrelative_input
> >>>> 
> >>>> Here is the full sequence when breathing upon
> >>>> the sensor (of a board not installed in the case):
> >>>> 
> >>>> root at letux:~# while true; do cat /sys/bus/iio/devices/iio:device5/in_humidityrelative_input; sleep 1; done
> >>>> 35.765625000  
> >>> root at letux:/sys/bus/iio/devices/iio:device1# cat in_temp_input
> >>> 39100
> >>> root at letux:/sys/bus/iio/devices/iio:device1# cat in_humidityrelative_input
> >>> 78.563476562
> >>> 
> >>> Hmm, that does not make sense. 78% at 39 C. It was not in
> >>> my pocket. It is in a train. So why it is so humid?  
> >> 
> >> Hm. Maybe the sensor needs calibration? More likely it is too much
> >> influenced by the device temperature.
> >> 
> >> Maybe printing temperature and humidity in a loop right after booting
> >> shows some drift/correlation?
> >>   
> > That should clearly be monitored. Of course I measure some innner device temperature and not outdoor temperature but I do not understand why a high device temperature would create a wrong humidity. Higher temperature -> air can store more vapour -> RH will go down. If I measure something I like to understand what I am actually measuring and how it is influenced.  
> 
> Well, the sensor might read different values at different temperatures but same vapour amount. And there may be compensation algorithm in the chip or in the driver which translates raw data to what we see. These compensation values may be wrong if mounted inside the case and heated by the CPU.
> 
Hmm, I get better values with a newer kernel... just tried 4.13. 

Regards,
Andreas
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <http://lists.goldelico.com/pipermail/community/attachments/20170920/8cffe442/attachment.asc>


More information about the Community mailing list