messlatte

felix schwenzel in artikel

nach­dem ich die nicht ganz bil­li­ge (in­klu­si­ve lie­fe­rung ca. 110,00 €) no­kia-sleep an die bei­fah­re­rin wei­ter­ge­ge­ben hat­te, woll­te ich mir (end­lich) eine zu­ver­läs­si­ge schlaf­er­ken­nung, bzw. ei­nen zu­ver­läs­sig bett-prä­senz-sen­sor, selbst bau­en. in di­ver­sen fo­ren las ich von leu­ten, die sich gün­si­ge ge­wichts­sen­so­ren un­ter die vier bei­ne ih­res betts mon­tier­ten und so qua­si ihr gan­zes bett wo­gen, um fest­zu­stel­len, ob es be­setzt ist.

mich schreck­te der auf­wand ei­ner sol­ch­gen kon­struk­ti­on ein biss­chen. da­für müss­ten ka­bel von über zwei me­ter län­ge an al­len sei­ten des betts ver­legt wer­den, eine op­tisch ak­zep­ta­ble lö­sung für die bett­bei­ne ge­fun­den wer­den und eine lö­sung, mit der man das bett noch be­we­gen könn­te, ohne die sen­so­ren zu ver­lie­ren oder neu ka­li­brie­ren müss­te. mei­ne idee war die ge­wichts­sen­so­ren ein­fach auf eine zu­sätz­le lat­ten­rost­lat­te zu mon­tie­ren. da­mit konn­te ich zwar nicht mehr mein ge­wicht im schlaf mes­sen, aber, so glaub­te ich, zu­min­dest zu­ver­läs­sig er­ken­nen, ob ich im bett lie­ge oder nicht.

die sen­so­ren, die ich mir in chi­na kauf­te (drei euro für vier stück) dür­fen nicht plan auf­lie­gen, son­dern ihr mit­tel­teil muss sich frei be­we­gen kön­nen. um sie auf eine lat­te zu mon­tie­ren, mus­sen sie ent­we­der in hal­te­scha­len lie­gen, oder über ei­nem ent­spre­chen­den loch. statt drei-d-zu-dru­cken oder zu frä­sen, habe ich ein­fach mei­ne stech­ei­sen aus­ge­mott­tet und eine span-lat­te, die frü­her als trans­port­si­che­rung für ikea-kü­chen-fuss­leis­ten ge­nutzt wur­de, ent­spre­chend mal­trä­tiert.

um die sen­so­ren zu hal­ten und das ge­wicht der ma­tra­ze auf bei­de sen­so­ren zu ver­tei­len, habe ich eine wei­te­re lat­te oben auf­ge­schraubt. die steht zwar leicht über (die span­lat­te hat zu­fäl­lig die glei­che höhe wie die re­gu­lä­ren lat­ten des lat­ten­rost), aber das wird von der ma­tra­ze auf­ge­fan­gen und ist nicht zu be­mer­ken.

die sen­so­ren wer­den in der re­gel, zum bei­spiel in kör­per­waa­gen, zu viert ver­baut. um or­dent­li­che mess­wer­te zu be­kom­men, wird meist eine sehr güns­ti­ge pla­ti­ne mit ei­nem ver­stär­ker ge­nutzt, ein HX711-mo­dul, in deutsch auch „wä­ge­zel­len­ver­stär­ker“ ge­nannt. ich habe mir das teil von spark­fun ge­kauft (ca. 10 euro), die mo­du­le gibt es aber auch sehr viel güns­ti­ger in chi­na (ab 60 cent).

um die drei ka­bel der ein­zel­nen sen­so­ren zu ver­schal­ten gibt es un­zäh­li­ge schalt­bil­der im netz, für le­dig­lich zwei sen­so­ren muss­te ich ein biss­chen su­chen. dave x hat das auf stack­ex­ch­an­ge sehr schön do­ku­men­tiert. die HX711-mo­dul-ein­gän­ge sind in der re­gel mit E+, E-, A+, A-, B+ und B- be­schrif­tet. da­für lau­tet das an­schluss­sche­ma dann:

HX711.E+ : Cell1.White + Cell2.Black
   HX711.E- : Cell1.Black + Cell2.White
   HX711.A+ : Cell1.Red
   Hx711.A- : Cell2.Red

das spark­fun-HX711-mo­dul ist al­ler­dings mit RED, BLK, WHT, GRN und YLW be­schrif­tet, die zu­ord­nung lau­tet ent­spre­chend:

E+ RED
   E- BLK
   A- WHT
   A+ GRN

so habe ich die ka­bel der wä­ge­zel­len dann auch an­ge­lö­tet.

vom wä­ge­zel­len­ver­stär­ker geht es dann zu ei­nem mi­cro­con­trol­ler, der die mess­wer­te aus­wer­tet und an die heim­au­to­ma­ti­siew­rungs­zen­tra­le sen­det, in mei­nem fall ho­me­as­sistant. auch hier­für gibt es ein paar bi­blio­the­ken (eins, zwei, etc.), aber ich woll­te ger­ne ES­Peasy nut­zen, weils so ein­fach ist. im ak­tu­el­len mega-pre-re­lease-ent­wick­lungs­strang, gibt es ein ex­pe­rie­men­tel­les mo­dul für die HX711-un­ter­stüt­zung. um das zu nut­zen, habe ich mir das ak­tu­el­le mega-pre-re­lease von der ES­Peasy-re­lease­sei­te auf git­hub run­ter­ge­la­den. im rea­lea­se-zip fin­det sich ein vor­kom­pi­lier­tes firm­ware-image für den esp8266, in mei­nem fall , das ich ein­fach per ko­man­do­zei­le und es­p­tool auf ei­nen esp8266 ge­flasht habe (hier gibt’s wei­te­re flash­an­lei­tun­gen):

./esptool -vv -cd nodemcu -cb 115200 -bz 4M -cp /dev/cu.wchusbserial1460 -ca 0x00000 -cf ESP_Easy_mega-20180421_test_ESP8266_4096.bin

mit ES­Peasy ist die wei­te­re kon­fi­gu­ra­ti­on dann wirk­lich ein­fach: vom HX711-mo­dul habe ich die DAT- und CLK-aus­gän­ge mit den pins D4 (DOUT=DAT) und D5 (SCL=CLK) ver­bun­den (VDD und VCC mit dem 5-volt- und GND mit dem mas­se-an­schluss) — fer­tig:

da­mit sen­det der esp8266 das ge­mes­se­ne ge­wicht alle zwei se­kun­den per mqtt. die for­mel ka­li­briert das ge­wicht auf un­ge­fähr null ki­lo­gram. um die ka­li­bi­ri­e­rungs­wer­te raus­zu­be­kom­men, habe ich die mess­lat­te mit 1-kg-mehl- oder zu­cker-pa­ke­ten be­las­tet, mir die wer­te no­tiert, mich ge­wun­det, wie ge­nau die kon­st­uk­ti­on misst und dann die for­mel oben aus­ge­rech­net. je nach ver­wen­de­ten mo­du­len wird das wohl an­ders aus­se­hen.

zu­sätz­lich zu den wä­ge­zel­len, habe ich in der mess­lat­te auch noch ei­nen RCWL-0516-ra­dar-be­we­gungs­sen­sor und ei­nen DHT-22 tem­pe­ra­tur und feuch­te­mes­ser (in ma­tra­zen­nä­he) ein­ge­baut. wirk­lich nö­tig ist das aber na­tür­lich nicht, wo­bei der DHT tat­säch­lich durch die ma­tra­ze nach ei­ner ca. 30 mi­nü­ti­gen la­tenz­zeit prä­senz durch er­höh­te feuch­tig­keit misst. die tem­pe­ra­tur-wer­te sind durch die ma­tra­ze nicht wirk­lich ver­wert­bar. den be­we­gungs­sen­sor nut­ze ich ei­gent­lich um be­we­gun­gen im raum zu er­fas­sen, aber na­tür­lich er­fasst er auch be­we­gun­gen im bett. al­ler­dings, im ge­gen­teil zu den wä­ge­zel­len, auch die be­we­gun­gen im ne­ben­bett.

die mon­ta­ge im bett ist ein­fach, wenn die mess­lat­te die glei­che län­ge wie die üb­ri­gen lat­ten hat und schmal ge­nug ist, um zwi­schen die vor­han­de­nen lat­ten zu pas­sen.

die mess­wer­te der wä­ge­zel­len sind er­staun­lich ge­nau. so bin ich (of­fen­sicht­lich) ges­tern um kurz nach elf ins bett ge­gan­gen und nach we­ni­gen mi­nu­ten ein­ge­schla­fen (letz­te be­we­gung um 23:22 uhr). nach dem ein­schla­fen habe ich mich eine hal­be stun­de nicht be­wegt, zwi­schen mit­ter­nacht und ein uhr war der schlaf dann et­was un­ru­hi­ger, bis kurz vor zwei wur­de es dann wie­der et­was ru­hi­ger, ab drei wur­de mein schlaf of­fen­bar im­mer leich­ter und um vier bin ich auf­ge­wacht und auf­ge­stan­den. um vier­tel nach fünf hab ich mich dann wie­der hin­ge­legt, 20 mi­nu­ten ge­le­sen und habe dann noch­mal zwei­ein­halb stun­den an­stän­dig ge­schla­fen.


weil die mess­wer­te na­tür­lich stän­dig fluk­tu­ie­ren, run­de ich die mess­wer­te im ho­me­as­sistant auf gan­ze ki­lo­wer­te. da­mit ist die mess­kur­ve, wie oben zu se­hen, re­la­tiv sta­bil.

für die prä­senz­er­ken­nung nut­ze ich ei­nen bi­när-sen­sor, mit dem ich au­to­ma­ti­sie­run­gen fürs licht steu­ern kann, ob­wohl die mess­wer­te sta­bil ge­nug sind um für au­to­ma­ti­sie­run­gen auch di­rekt den mess­wert zu nut­zen:

mei­ne lieb­lings­au­to­ma­ti­sie­rung ist der­zeit, wenn der sen­sor für mehr als 10 se­kun­den ei­nen wert grös­ser als 30 ki­lo­gramm misst, also die bei­fah­re­rin of­fen­bar auf mei­ne sei­te rü­ber­ge­rollt ist, dass dann für 10 se­kun­den ser­ge gains­burgs je t’aime er­klingt. ich fin­de das sehr wit­zig, die bei­fah­re­rin mitt­ler­wei­le auch (ein biss­chen).

ge­kos­tet hat der spass si­gni­fi­kant we­ni­ger als das no­kia-sleep-dings für et­was über 100 euro. hier la­gen die ma­te­ri­al­kos­ten eher so bei 20 euro.

ein­kaufs­lis­te:

  • esp8266 (3-8 euro)
  • HX711 (1-10 euro)
  • wägezellen (3 euro)
  • [RCWL-0516 (1 euro)]
  • [DHT-22 (3 euro)]