{"id":659,"date":"2020-10-24T16:44:35","date_gmt":"2020-10-24T14:44:35","guid":{"rendered":"https:\/\/outpost.garf.de\/wordpress\/?p=659"},"modified":"2020-11-15T20:57:37","modified_gmt":"2020-11-15T19:57:37","slug":"making-stuff-co2-monitor","status":"publish","type":"post","link":"https:\/\/outpost.garf.de\/wordpress\/index.php\/2020\/10\/24\/making-stuff-co2-monitor\/","title":{"rendered":"Making stuff: CO2 monitor"},"content":{"rendered":"<p>If you have read my blog and my postings on <a href=\"https:\/\/www.facebook.com\/wtremmel\">Facebook<\/a> for a while you know that one of my hobbies is to play around with microcontrollers. I built <a href=\"https:\/\/outpost.garf.de\/wordpress\/index.php\/2020\/07\/01\/environmental-sensors-lightning\/\">environmental sensors <\/a>for my house and also two <a href=\"https:\/\/outpost.garf.de\/wordpress\/index.php\/2020\/08\/17\/environmental-sensors-remote\/\">solar powered weather stations<\/a> for outside. <\/p>\n\n\n\n<p>One of my inhouse sensors is already monitoring fine dust levels and also &#8222;air quality&#8220; (what the <a href=\"https:\/\/www.bosch-sensortec.com\/products\/environmental-sensors\/gas-sensors-bme680\/\">BME680<\/a> sensor reports, to be honest, I have no real clue what it actually monitors). With the current discussions about increasing air quality for the purpose of lowering infection risk by monitoring inhouse CO2 levels, I decided to test one of the cheap CO2 sensors and build myself a CO2 monitor.<\/p>\n\n\n\n<p>Since I did not want to spend too much money on my very first attempt I decided for a cheap CCS811 sensor which I ordered directly in China (no complaints about &#8222;buying local&#8220; here please &#8211; these sensors are manufactured in China and everybody selling them here locally are also just importing them). As a plaform I used <a href=\"https:\/\/github.com\/wtremmel\/esp8266-mqtt-sensor-client\">my own ESP8266 based sensor node<\/a> I also use for inhouse environmental monitoring. I still had some PCBs and other stuff laying around. <\/p>\n\n\n\n<p> <\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Hardware<\/h2>\n\n\n\n<p>You can get all that from the usual places.<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li><a href=\"https:\/\/docs.wemos.cc\/en\/latest\/d1\/d1_mini.html\">Wemos D1 mini ESP8266<\/a> microcontroller<\/li><li><a href=\"https:\/\/www.adafruit.com\/category\/168\">WS2812 RGB LED<\/a><\/li><li>(optional) <a href=\"https:\/\/www.bosch-sensortec.com\/products\/environmental-sensors\/humidity-sensors-bme280\/\">BME280<\/a> enviromental sensor<\/li><li><a href=\"https:\/\/github.com\/adafruit\/Adafruit_CCS811\">CCS811<\/a> CO2 sensor<\/li><li><a href=\"https:\/\/www.velleman.eu\/downloads\/29\/infosheets\/sh1106_datasheet.pdf\">SH1106<\/a> or similar I2C bus display<\/li><li>Circuit board<\/li><li>Headers to solder and put things together<\/li><li>3d printed housing (yes, I now have a 3D printer)<\/li><\/ul>\n\n\n\n<p>This is what the completed module looks like. The CO2 sensor is on the lower right, above it the temperature\/humidity sensor, the microcontroller is hidden below the display.<\/p>\n\n\n\r\n\t\t\t\t<div\r\n\t\t\t\t\tid=\"wppa-container-wrapper-1\"\r\n\t\t\t\t\tclass=\"alignleft wppa-container-wrapper \"\r\n\t\t\t\t\tstyle=\"clear:left; width:350px;float:left;margin-right:10px;padding:0;position:relative;\"\r\n\t\t\t\t\t>\r\n\t\t<div\r\n\t\t\tid=\"wppa-container-1\"\r\n\t\t\tstyle=\"width:100%;\"\r\n\t\t\tclass=\"wppa-container alignleft wp-caption\"\r\n\t\t\t><div style=\"font-size:0;line-height:0\"><img decoding=\"async\" id=\"ph-331-1\" title=\"IMG_1891.jpg\" style=\"width:100%;margin:0;padding:0;border:none;\" src=\"https:\/\/outpost.garf.de\/wordpress\/wp-content\/uploads\/wppa\/331.jpg?ver=1\" alt=\"IMG_1891.jpg\" class=\"size-medium wppa-xphoto\"><\/div><div class=\"wp-caption-text\"><\/div><svg id=\"wppa-ajax-spin-1\" class=\"wppa-ajax-spin uil-default\" width=\"120px\" height=\"120px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\" stroke=\"\" style=\"\n\t\t\t\twidth:120px;\n\t\t\t\theight:120px;\n\t\t\t\tposition:fixed;\n\t\t\t\ttop:50%;\n\t\t\t\tmargin-top:-60px;\n\t\t\t\tleft:50%;\n\t\t\t\tmargin-left:-60px;\n\t\t\t\topacity:1;\n\t\t\t\tdisplay:none;\n\t\t\t\tfill:#666666;\n\t\t\t\tbackground-color:transparent;\n\t\t\t\tborder-radius:24px;\"><rect x=\"0\" y=\"0\" width=\"100\" height=\"100\" fill=\"none\" class=\"bk\" ><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(0 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(22.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.09375s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(45 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.1875s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(67.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.28125s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(90 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.375s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(112.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.46875s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(135 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.5625s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(157.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.65625s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(180 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.75s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(202.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.84375s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(225 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.9375s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(247.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"1.03125s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(270 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"1.125s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(292.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"1.21875s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(315 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"1.3125s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(337.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"1.40625s\" repeatCount=\"indefinite\"\/><\/rect><\/svg><\/div><\/div>\n<!-- End [photo 331] \/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/659 oc 1 30 queries in 22.9 ms. at 14:37. Max mem:  10.00 Mb.  -->\n\n\n\n<h2 class=\"wp-block-heading\">Software<\/h2>\n\n\n\n<p>I guess you can get better code than mine to run everything, but as I like to code I wrote the software myself. Check out the <a href=\"https:\/\/github.com\/wtremmel\/esp8266-mqtt-sensor-client\">code on github<\/a>, I just want to highlight some features it has:<\/p>\n\n\n\n<ul class=\"wp-block-list\"><li>Scans I2C bus at startup and uses all available sensors<\/li><li>Connects via Wifi to an MQTT-server<\/li><li>Reports sensor data via <a href=\"https:\/\/mqtt.org\">MQTT<\/a><\/li><li>Takes some commands (like reboot or what to display) via MQTT<\/li><\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Results<\/h2>\n\n\n\n<p>The sensor works and it shows some data. I am still puzzled how the CO2 level here at home changes over time. Sometimes it really makes a jump (I often can relate to events like cooking etc.). When I open a window it slowly goes down. So far so good. If I reboot the sensor it also goes down &#8211; and stays down. So I think the sensor I am using is not really 100% reliable. There are other sensors on the market like the <a href=\"https:\/\/www.sensirion.com\/de\/umweltsensoren\/kohlendioxidsensor\/kohlendioxidsensoren-co2\/\">Sensirion SCD30 <\/a>(way more expensive  &#8211; but perhaps worth it if they are more reliable). See below for a picture &#8211; I used <a href=\"https:\/\/grafana.com\">Grafana<\/a> to visualise the results.<\/p>\n\n\n\r\n\t\t\t\t<div\r\n\t\t\t\t\tid=\"wppa-container-wrapper-2\"\r\n\t\t\t\t\tclass=\"alignleft wppa-container-wrapper \"\r\n\t\t\t\t\tstyle=\"clear:left; width:350px;float:left;margin-right:10px;padding:0;position:relative;\"\r\n\t\t\t\t\t>\r\n\t\t<div\r\n\t\t\tid=\"wppa-container-2\"\r\n\t\t\tstyle=\"width:100%;\"\r\n\t\t\tclass=\"wppa-container alignleft wp-caption\"\r\n\t\t\t><div style=\"font-size:0;line-height:0\"><img decoding=\"async\" id=\"ph-329-2\" title=\"Screenshot 2020-10-24 at 16.24.06 .png\" style=\"width:100%;margin:0;padding:0;border:none;\" src=\"https:\/\/outpost.garf.de\/wordpress\/wp-content\/uploads\/wppa\/329.png?ver=1\" alt=\"Screenshot 2020-10-24 at 16.24.06 .png\" class=\"size-medium wppa-xphoto\"><\/div><div class=\"wp-caption-text\"><\/div><svg id=\"wppa-ajax-spin-2\" class=\"wppa-ajax-spin uil-default\" width=\"120px\" height=\"120px\" viewBox=\"0 0 100 100\" preserveAspectRatio=\"xMidYMid\" stroke=\"\" style=\"\n\t\t\t\twidth:120px;\n\t\t\t\theight:120px;\n\t\t\t\tposition:fixed;\n\t\t\t\ttop:50%;\n\t\t\t\tmargin-top:-60px;\n\t\t\t\tleft:50%;\n\t\t\t\tmargin-left:-60px;\n\t\t\t\topacity:1;\n\t\t\t\tdisplay:none;\n\t\t\t\tfill:#666666;\n\t\t\t\tbackground-color:transparent;\n\t\t\t\tborder-radius:24px;\"><rect x=\"0\" y=\"0\" width=\"100\" height=\"100\" fill=\"none\" class=\"bk\" ><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(0 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(22.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.09375s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(45 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.1875s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(67.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.28125s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(90 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.375s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(112.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.46875s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(135 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.5625s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(157.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.65625s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(180 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.75s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(202.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.84375s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(225 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"0.9375s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(247.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"1.03125s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(270 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"1.125s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(292.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"1.21875s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(315 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"1.3125s\" repeatCount=\"indefinite\"\/><\/rect><rect class=\"wppa-ajaxspin\"  x=\"47\" y=\"40\" width=\"6\" height=\"20\" rx=\"3\" ry=\"3\" transform=\"rotate(337.5 50 50) translate(0 -32)\"><animate attributeName=\"opacity\" from=\"1\" to=\"0\" dur=\"1.5s\" begin=\"1.40625s\" repeatCount=\"indefinite\"\/><\/rect><\/svg><\/div><\/div>\n<!-- End [photo 329] \/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/659 oc 2 18 queries in 9.4 ms. at 14:37. Max mem:  10.00 Mb.  -->\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>If you have read my blog and my postings on Facebook for a while you know that one of my hobbies is to play around with microcontrollers. I built environmental sensors for my house and also two solar powered weather stations for outside. One of my inhouse sensors is already monitoring fine dust levels and [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":663,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"zakra_page_container_layout":"customizer","zakra_page_sidebar_layout":"customizer","zakra_remove_content_margin":false,"zakra_sidebar":"customizer","zakra_transparent_header":"customizer","zakra_logo":0,"zakra_main_header_style":"default","zakra_menu_item_color":"","zakra_menu_item_hover_color":"","zakra_menu_item_active_color":"","zakra_menu_active_style":"","zakra_page_header":true,"footnotes":""},"categories":[113],"tags":[116,115],"class_list":["post-659","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-microcontrollers","tag-esp8266","tag-sensors"],"_links":{"self":[{"href":"https:\/\/outpost.garf.de\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/659","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/outpost.garf.de\/wordpress\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/outpost.garf.de\/wordpress\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/outpost.garf.de\/wordpress\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/outpost.garf.de\/wordpress\/index.php\/wp-json\/wp\/v2\/comments?post=659"}],"version-history":[{"count":5,"href":"https:\/\/outpost.garf.de\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/659\/revisions"}],"predecessor-version":[{"id":666,"href":"https:\/\/outpost.garf.de\/wordpress\/index.php\/wp-json\/wp\/v2\/posts\/659\/revisions\/666"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/outpost.garf.de\/wordpress\/index.php\/wp-json\/wp\/v2\/media\/663"}],"wp:attachment":[{"href":"https:\/\/outpost.garf.de\/wordpress\/index.php\/wp-json\/wp\/v2\/media?parent=659"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/outpost.garf.de\/wordpress\/index.php\/wp-json\/wp\/v2\/categories?post=659"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/outpost.garf.de\/wordpress\/index.php\/wp-json\/wp\/v2\/tags?post=659"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}