{"id":330,"date":"2018-06-03T22:11:49","date_gmt":"2018-06-03T22:11:49","guid":{"rendered":"https:\/\/www.wpvs.de\/iot-2018\/?p=330"},"modified":"2021-05-14T10:07:05","modified_gmt":"2021-05-14T08:07:05","slug":"fortschritt-der-hardware-app-und-firmware","status":"publish","type":"post","link":"https:\/\/www.iot-embedded.de\/iot-2018\/projekt-honeypi\/fortschritt-der-hardware-app-und-firmware\/","title":{"rendered":"HoneyPi (4) Fortschritt der Hardware, App und Firmware"},"content":{"rendered":"<p>Beim HoneyPi-Projekt wurde in letzter Zeit einiges getan. Es wurde sich geeinigt welche Hardware-Bauteile, vor allem welche genauen Sensoren, verwendet werden. Hierbei wurde auch ber\u00fccksichtigt, dass gen\u00fcgend freie GPIO-Pins f\u00fcr alle Sensoren vorhanden sind, ohne eine Pinerweiterung anzuschlie\u00dfen.<\/p>\n<p>Softwareseitig gab es auch einige Fortschritte, insbesondere bei der Android-App. Aber auch die Firmware ist in Bearbeitung.<\/p>\n<p>In diesem Blog-Beitrag werden der aktuelle Stand bez\u00fcglich der Hard- und Software des HoneyPi-Projekts vorgestellt.<\/p>\n<hr \/>\n<h2>Hardware<\/h2>\n<p>F\u00fcr die smarte Bienenstockwaage, HoneyPi, wurden nun alle Bauteile und Sensoren eingekauft. Nachfolgend unsere Einkaufsliste:<\/p>\n<ul>\n<li>Raspberry Pi 3 Model B<\/li>\n<li>microSD-Karte<\/li>\n<li>Netzteil f\u00fcr den Raspberry Pi<\/li>\n<li>Autobatterie f\u00fcr die Stromversorgung<\/li>\n<li>Adapter, der Autobatterie und Netzteil verbindet<\/li>\n<li>Surf-Stick f\u00fcr mobiles Internet<\/li>\n<li>DS18S20 1-Wire-Temperatursensor (f\u00fcr die Brutraumtemperatur)<\/li>\n<li>BME680-Sensor zum Messen von Temperatur, Luftfeuchtigkeit, Luftdruck und Luftqualit\u00e4t au\u00dferhalb der Bienenst\u00f6cke<\/li>\n<li>W\u00e4gezellen mit je 50 kg Maximallast<\/li>\n<li>HX711 A\/D-Wandler f\u00fcr die Waage<\/li>\n<li>Taster zum Aktivieren des Wartungsmodus<\/li>\n<li>diverse Widerst\u00e4nde<\/li>\n<li>diverse Jumper-Kabel<\/li>\n<li>gro\u00dfes Brett zum Anbringen der Waage<\/li>\n<\/ul>\n<p>Bevor alle Bauteile und Sensoren zusammengebaut wurden, haben wir uns \u00fcberlegt, welche genauen GPIO-Pins des Raspberry Pi wir f\u00fcr welchen Sensor ben\u00f6tigen. Folgende Pinbelegung kam dabei heraus:<\/p>\n<ul>\n<li>DS18S20 (Temperatur):\n<ul>\n<li>Pin 17: 3,3 V<\/li>\n<li>Pin 14: Ground<\/li>\n<li>Pin 07: GPIO 4<\/li>\n<\/ul>\n<\/li>\n<li>BME680 (Temperatur, Luftfeuchtigkeit, Luftdruck und Luftqualit\u00e4t):\n<ul>\n<li>Pin 04: 5 V<\/li>\n<li>Pin 09: Ground<\/li>\n<li>Pin 05: SCL<\/li>\n<li>Pin 03: SDA<\/li>\n<\/ul>\n<\/li>\n<li>\u00a0HX711 (A\/D-Wadler f\u00fcr die Waage):\n<ul>\n<li>Pin 02: 5V<\/li>\n<li>Pin 06: Ground<\/li>\n<li>Pin 29: GPIO 5<\/li>\n<li>Pin 31: GPIO 6<\/li>\n<\/ul>\n<\/li>\n<li>\u00a0Taster f\u00fcr den Wartungsmodus:\n<ul>\n<li>Pin 01: 3,3 V<\/li>\n<li>Pin 11: GPIO 17<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p>Der Schaltplan f\u00fcr die W\u00e4gezellen sieht folgenderma\u00dfen aus:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-331\" src=\"http:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0007-300x226.jpg\" alt=\"\" width=\"397\" height=\"299\" srcset=\"https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0007-300x226.jpg 300w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0007.jpg 600w\" sizes=\"(max-width: 397px) 100vw, 397px\" \/><\/p>\n<p>Auf nachfolgender Abbildung sind die montierten W\u00e4gezellen dargestellt:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-332\" src=\"http:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0003-225x300.jpg\" alt=\"\" width=\"383\" height=\"511\" srcset=\"https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0003-225x300.jpg 225w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0003-768x1024.jpg 768w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0003.jpg 870w\" sizes=\"(max-width: 383px) 100vw, 383px\" \/><\/p>\n<p>Der A\/D-Wandler HX711 f\u00fcr die Waage wurde auch auf der einen Seite mit den W\u00e4gezellen und auf der anderen Seite mit dem Raspberry Pi verbunden wie nachfolgendes Bild zeigt:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-333\" src=\"http:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0008-300x225.jpg\" alt=\"\" width=\"374\" height=\"281\" srcset=\"https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0008-300x225.jpg 300w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0008-1024x768.jpg 1024w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0008-768x576.jpg 768w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0008.jpg 1160w\" sizes=\"(max-width: 374px) 100vw, 374px\" \/><\/p>\n<p>Der 1-Wire-Temperatursensor DS18S20 wurde ebenfalls mit dem Raspberry Pi verbunden (siehe nachfolgende Abbildung):<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-346\" src=\"http:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0011-225x300.jpg\" alt=\"\" width=\"371\" height=\"495\" srcset=\"https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0011-225x300.jpg 225w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0011-768x1024.jpg 768w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0011.jpg 870w\" sizes=\"(max-width: 371px) 100vw, 371px\" \/><\/p>\n<p>Auch der BME680-Sensor wurde am Raspberry Pi angebracht:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-334\" src=\"http:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0010-225x300.jpg\" alt=\"\" width=\"372\" height=\"497\" srcset=\"https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0010-225x300.jpg 225w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0010-768x1024.jpg 768w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0010.jpg 870w\" sizes=\"(max-width: 372px) 100vw, 372px\" \/><\/p>\n<p>Und zuletzt wurde noch der Taster verl\u00f6tet und am Raspberry Pi angebracht wie auf nachfolgender Abbildung zu sehen ist:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-335\" src=\"http:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0009-225x300.jpg\" alt=\"\" width=\"370\" height=\"493\" srcset=\"https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0009-225x300.jpg 225w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0009-768x1024.jpg 768w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/IMG-20180603-WA0009.jpg 870w\" sizes=\"(max-width: 370px) 100vw, 370px\" \/><\/p>\n<hr \/>\n<h2>Android-Applikation<\/h2>\n<p>Nicht nur bei der Hardware, sondern auch bei der Entwicklung Android-App, gibt es Neuigkeiten. F\u00fcr die App wurde eine Loginseite programmiert, die beim erstmaligen \u00d6ffnen der Anwendung angezeigt wird (siehe nachfolgende Abbildung). Hier wird der Benutzer aufgefordert seinen User-API-Key von ThingSpeak einzugeben. Dieser wird daraufhin \u00fcberpr\u00fcft und falls er korrekt ist, in den SharedPreferences von Android gespeichert. Dadurch wei\u00df die App, ob bereits ein User-API-Key eingegeben wurde oder nicht und zeigt entsprechend eine Loginseite an oder nicht.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-337\" src=\"http:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230724-169x300.jpg\" alt=\"\" width=\"360\" height=\"639\" srcset=\"https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230724-169x300.jpg 169w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230724-576x1024.jpg 576w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230724-768x1365.jpg 768w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230724-864x1536.jpg 864w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230724.jpg 1080w\" sizes=\"(max-width: 360px) 100vw, 360px\" \/><\/p>\n<p>Nachdem der Benutzer sich angemeldet hat, werden die Elemente im Navigation Drawer (linkes Sidemen\u00fc) dynamisch erstellt. Dort werden alle ThingSpeak-Fields aller Channels des Benutzers per REST-API abgerufen und aufgelistet.<\/p>\n<p>Da jedes Field einen frei w\u00e4hlbaren Namen besitzt, wird in der App \u00fcberpr\u00fcft, ob im Namen die W\u00f6rter &#8222;Temperatur&#8220;, &#8222;Luftfeuchtigkeit&#8220;, &#8222;Luftdruck&#8220;, &#8222;Luftqualit\u00e4t&#8220; oder &#8222;Gewicht&#8220; enthalten sind. Falls ja, wird ein entsprechendes Icon links neben dem Namen des Navigation-Drawer-Elements angezeigt. Au\u00dferdem wird bei einer solchen korrekten Bezeichnung des Fields gew\u00e4hrleistet, dass beim \u00d6ffnen der entsprechenden Detailseite die Werte messwertspezifisch dargestellt werden. So kann z. B. die Detailseite auf Temperaturwerte spezialisiert werden.<\/p>\n<p>Falls das Field keines der oben genannten W\u00f6rter beinhaltet, wird kein Icon angezeigt, sondern nur der Field-Name. Da nicht bekannt ist welche Art von Messdaten solche Fields besitzen, kann auch keine spezialisierte Detailseite angezeigt werden, sondern nur eine Default-Detailseite.<\/p>\n<p>Nachfolgende Abbildung zeigt, dass der Benutzer die Fields &#8222;Temperatur&#8220;, &#8222;Luftfeuchtigkeit&#8220; und &#8222;Field Label 1&#8220; besitzt. Temperatur und Luftfeuchtigkeit wurden mit den richtigen Icons erg\u00e4nzt und verlinken auf die jeweilige spezialisierte Detailseite. Das Field &#8222;Field Label 1&#8220; konnte konnte zu keiner spezialisierten Detailseite zugeordnet werden und erhielt dadurch kein Icon.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-342\" src=\"http:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230832-169x300.jpg\" alt=\"\" width=\"360\" height=\"639\" srcset=\"https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230832-169x300.jpg 169w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230832-576x1024.jpg 576w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230832-768x1365.jpg 768w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230832-864x1536.jpg 864w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230832.jpg 1080w\" sizes=\"(max-width: 360px) 100vw, 360px\" \/><\/p>\n<p>Sp\u00e4ter soll es dem Benutzer m\u00f6glich sein, seine Fields oder auch gesamte Channels \u00fcber die Einstellungsseite der App ein- oder auszuschalten. Ebenso soll er die Messwertart f\u00fcr jedes Field \u00e4ndern k\u00f6nnen.<\/p>\n<p>Beim ersten Blogpost waren noch Dummy-Daten in der App zu sehen. Nun wurden reale Daten aus einem ThingSpeak-Konto per REST-API abgerufen. Auch werden jetzt im Liniendiagramm zwei Graphen angezeigt, um die Werte von heute und gestern besser zu vergleichen. Ebenfalls ist eine Aktualisierungsfunktion in Form einer Wischgeste nach unten oder \u00fcber die Aktualisierungsschaltfl\u00e4che im Men\u00fc oben rechts m\u00f6glich. In beiden F\u00e4llen erscheint w\u00e4hrend dem Aktualisieren ein runder Ladebalken. Diese \u00c4nderungen sind auf nachfolgender Abbildung dargestellt:<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"alignnone wp-image-343\" src=\"http:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230855-169x300.jpg\" alt=\"\" width=\"355\" height=\"630\" srcset=\"https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230855-169x300.jpg 169w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230855-576x1024.jpg 576w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230855-768x1365.jpg 768w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230855-864x1536.jpg 864w, https:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/Screenshot_20180603-230855.jpg 1080w\" sizes=\"(max-width: 355px) 100vw, 355px\" \/><\/p>\n<p>F\u00fcr eine bessere Darstellung der \u00c4nderungen in der Android-App wurde folgende Bildschirmaufnahme erstellt:<\/p>\n<div style=\"width: 720px;\" class=\"wp-video\"><!--[if lt IE 9]><script>document.createElement('video');<\/script><![endif]-->\n<video class=\"wp-video-shortcode\" id=\"video-330-1\" width=\"720\" height=\"1280\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"http:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/VID_20180603_222612.mp4?_=1\" \/><a href=\"http:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/VID_20180603_222612.mp4\">http:\/\/www.iot-embedded.de\/iot-2018\/wp-content\/uploads\/sites\/3\/2018\/06\/VID_20180603_222612.mp4<\/a><\/video><\/div>\n<hr \/>\n<h2>Firmware<\/h2>\n<p>Die Firmware ist ebenfalls in Bearbeitung. Hier wurde eine Liste der ben\u00f6tigten Komponenten angefertigt. Zur Erstellung der Firmware wird Buildroot verwendet. Nachfolgende Tabelle zeigt die f\u00fcr unser Projekt ben\u00f6tigten Packages der Firmware:<\/p>\n<table>\n<tbody>\n<tr>\n<td width=\"161\"><strong>Package<\/strong><\/td>\n<td width=\"446\"><strong>Zweck<\/strong><\/td>\n<\/tr>\n<tr>\n<td width=\"161\"><strong>Linux Kernel<\/strong><\/td>\n<td width=\"446\">Grundger\u00fcst der Firmware<\/td>\n<\/tr>\n<tr>\n<td width=\"161\"><strong>BusyBox<\/strong><\/td>\n<td width=\"446\">Shell, Init-System und einfacher Webserver<\/td>\n<\/tr>\n<tr>\n<td width=\"161\"><strong>hostapd<\/strong><\/td>\n<td width=\"446\">Wifi Access Point Deamon<\/td>\n<\/tr>\n<tr>\n<td width=\"161\"><strong>dhcpd, dhclient<\/strong><\/td>\n<td width=\"446\">DHCP-Server und Client<\/td>\n<\/tr>\n<tr>\n<td width=\"161\"><strong>phyton3<\/strong><\/td>\n<td width=\"446\">Interpreter f\u00fcr Python-Programme<\/td>\n<\/tr>\n<tr>\n<td width=\"161\"><strong>php<\/strong><\/td>\n<td width=\"446\">Zur Verwendung von PHP-Programmen<\/td>\n<\/tr>\n<tr>\n<td width=\"161\"><strong>openssh<\/strong><\/td>\n<td width=\"446\">Zum Aufbauen von SSH-Verbindungen<\/td>\n<\/tr>\n<tr>\n<td width=\"161\"><strong>sudo<\/strong><\/td>\n<td width=\"446\">Befehle mit Super-User-Rechten ausf\u00fchren<\/td>\n<\/tr>\n<tr>\n<td width=\"161\"><strong>git<\/strong><\/td>\n<td width=\"446\">Quellcode von GitHub herunterladen<\/td>\n<\/tr>\n<tr>\n<td width=\"161\"><strong>wchar<\/strong><\/td>\n<td width=\"446\">Um nano verwenden zu k\u00f6nnen<\/td>\n<\/tr>\n<tr>\n<td width=\"161\"><strong>nano<\/strong><\/td>\n<td width=\"446\">Editor zum Bearbeiten von Dateien<\/td>\n<\/tr>\n<tr>\n<td width=\"161\"><strong>wiringpi<\/strong><\/td>\n<td width=\"446\">GPIO-Bibliothek, die insbesondere f\u00fcr die I2C-Pins ben\u00f6tigt wird<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n","protected":false},"excerpt":{"rendered":"<p>Beim HoneyPi-Projekt wurde in letzter Zeit einiges getan. Es wurde sich geeinigt welche Hardware-Bauteile, vor allem welche genauen Sensoren, verwendet werden. Hierbei wurde auch ber\u00fccksichtigt, dass gen\u00fcgend freie GPIO-Pins f\u00fcr alle Sensoren vorhanden sind, ohne eine Pinerweiterung anzuschlie\u00dfen. Softwareseitig gab<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/posts\/330"}],"collection":[{"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/comments?post=330"}],"version-history":[{"count":1,"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/posts\/330\/revisions"}],"predecessor-version":[{"id":640,"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/posts\/330\/revisions\/640"}],"wp:attachment":[{"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/media?parent=330"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/categories?post=330"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.iot-embedded.de\/iot-2018\/wp-json\/wp\/v2\/tags?post=330"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}