{"id":1429,"date":"2016-02-28T16:53:48","date_gmt":"2016-02-29T00:53:48","guid":{"rendered":"http:\/\/internetofhomethings.com\/homethings\/?p=1429"},"modified":"2016-06-10T08:17:15","modified_gmt":"2016-06-10T15:17:15","slug":"usb-lamp-web-server","status":"publish","type":"post","link":"https:\/\/internetofhomethings.com\/homethings\/?p=1429","title":{"rendered":"USB LAMP Web Server"},"content":{"rendered":"<p><a href=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/servericon.jpg\" rel=\"attachment wp-att-1430\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1430\" src=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/servericon.jpg\" alt=\"servericon\" width=\"244\" height=\"244\" \/><\/a><\/p>\n<h1 style=\"text-align: center;\"><strong>Your Personal http Server<\/strong><\/h1>\n<p>If\u00a0you would \u00a0like to have your own personal web server, running industry standard software, all from a boot-able\u00a0USB stick, read on&#8230;<\/p>\n<p>One of the most useful tools for home automation and web development is a host server. And the most widely used server is of course, Apache.<\/p>\n<p>This article\u00a0marks the\u00a0start of a 5-post series that provides step-by-step instructions for setting up your own USB memory stick based http server. We&#8217;ll start with the basic LAMP stack in the first three articles, and then add-on some extras to extend the functionality.<\/p>\n<p>What&#8217;s LAMP?<\/p>\n<p>LAMP\u00a0covers the essential ingredients of a web server:<\/p>\n<ol>\n<li><strong>L<\/strong>inux &#8211; The operating system<\/li>\n<li><strong>A<\/strong>pache &#8211; http server<\/li>\n<li><strong>m<\/strong>ySQL &#8211; database<\/li>\n<li><strong>P<\/strong>HP &#8211; server-side scripting language<\/li>\n<\/ol>\n<p>Here are the topics planned for this series:<\/p>\n<ul>\n<li><a href=\"http:\/\/wp.me\/p5NRQ8-n3\" target=\"_blank\">Part 1 &#8211; Setting up the Linux Apache Server<\/a><\/li>\n<li><a href=\"http:\/\/wp.me\/p5NRQ8-nB\" target=\"_blank\">Part 2 &#8211; Adding php to your Web Server<\/a><\/li>\n<li><a href=\"http:\/\/wp.me\/p5NRQ8-om\" target=\"_blank\">Part 3 &#8211; Completing the LAMP with mySQL<\/a><\/li>\n<li><a href=\"http:\/\/wp.me\/p5NRQ8-oN\" target=\"_blank\">Part 4 &#8211; phpMyAdmin for mySQL administration<\/a><\/li>\n<li><a href=\"http:\/\/wp.me\/p5NRQ8-pb\" target=\"_blank\">Part 5 &#8211; WordPress<\/a><\/li>\n<\/ul>\n<p><strong>Update: Bonus Topics<\/strong><\/p>\n<ul>\n<li><a href=\"http:\/\/wp.me\/p5NRQ8-pZ\" target=\"_blank\">Part 6 &#8211; Code Compiler<\/a><\/li>\n<li>Part 7 &#8211; MQTT Broker (Not Yet Published)<\/li>\n<\/ul>\n<h2 style=\"text-align: center;\"><strong>Part 1 &#8211; Setting up the Linux Apache Server<\/strong><\/h2>\n<p>When finished with part one, you will have the LA (Linux and Apache) <strong>LA<\/strong>MP components up and running.<\/p>\n<p>Let&#8217;s get to it&#8230;<\/p>\n<p>Prerequisites<\/p>\n<ul>\n<li>Blank USB Memory stick (4GB minimum)<\/li>\n<li>PC with USB port that can be dedicated for the server<\/li>\n<\/ul>\n<p>While I cannot claim to be a Linux expert, I do have some experience working with the single user Puppy Linux distribution. Being a familiar setting, that is what was selected for this exercise.<\/p>\n<p>But hold on, before you start\u00a0there is one more\u00a0selection\u00a0to make&#8230;.<\/p>\n<p>You see, there are several versions of Puppy Linux to pick from. My first attempt at this used the most current version, called Slacko Puppy 6.3. However&#8230;.sparing you the details, I ran into some\u00a0insurmountable obstacles to completing a successful installation of Apache server with Slacko Puppy.<\/p>\n<p>So I moved on to a Puppy Linux version that works with the Apache Server.<\/p>\n<p>The version that worked is called\u00a0Precise Puppy 5.7.1<\/p>\n<h3 style=\"text-align: center;\"><strong>Installing the Linux Operating System<\/strong><\/h3>\n<p>As with many Linux distributions, the installation is really quite simple. Just download the ISO\u00a0image and a USB installer. That&#8217;s it. Here is where you can get both:<\/p>\n<ul>\n<li><a href=\"http:\/\/linux.softpedia.com\/get\/System\/Operating-Systems\/Linux-Distributions\/Puppy-Linux-Precise-93508.shtml\" target=\"_blank\">Precise Puppy 5.7.1 ISO Image<\/a><\/li>\n<li><a href=\"http:\/\/www.pendrivelinux.com\/universal-usb-installer-easy-as-1-2-3\/\" target=\"_blank\">Universal USB Installer<\/a><\/li>\n<\/ul>\n<p>Now for the\u00a0installation. Just install your USB stick\u00a0and\u00a0start the installer program. The start up screen will provide 3 easy-to-follow instruction steps.<\/p>\n<ol>\n<li>Select the distribution (Select &#8220;Precise Puppy&#8221;)<\/li>\n<li>Select the iso file (from the folder that has the downloaded ISO image)<\/li>\n<li>Select the USB stick drive letter.<\/li>\n<\/ol>\n<p><a href=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/UUSBinstaller.jpg\" rel=\"attachment wp-att-1438\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1438 size-full\" src=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/UUSBinstaller.jpg\" alt=\"UUSBinstaller\" width=\"499\" height=\"388\" srcset=\"https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/UUSBinstaller.jpg 499w, https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/UUSBinstaller-300x233.jpg 300w\" sizes=\"auto, (max-width: 499px) 100vw, 499px\" \/><\/a><\/p>\n<p>Then click on the &#8220;Create&#8221; button to start the installation.<\/p>\n<p>Once the installer is finished, you can boot any PC to the newly installed Puppy Linux simply by putting this memory stick in the PC&#8217;s USB port and rebooting (Boot to USB first must be selected in the bios first, of course).<\/p>\n<p>After\u00a0the computer has booted to Linux and you have completed the self-guided first boot process, you need to perform\u00a0one additional step before installing Apache.<\/p>\n<p><strong>NOTE: It is recommended that a wired internet connection be used for this and all processes during installation.<\/strong><\/p>\n<p>First, you need to update the package database. This is a very simply process. Just launch the Puppy Package Manager (Menu-&gt;Setup-&gt;Puppy Package Manager) and click on the &#8220;Configure package manager&#8221;. A window will appear with an &#8220;Update now&#8221; button.<\/p>\n<p><a href=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/updatenow-1.jpg\" rel=\"attachment wp-att-1445\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-medium wp-image-1445\" src=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/updatenow-1-300x158.jpg\" alt=\"updatenow\" width=\"300\" height=\"158\" srcset=\"https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/updatenow-1-300x158.jpg 300w, https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/updatenow-1.jpg 512w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Click that button and press enter each time the yellow window prompts you. There will quite a few &#8220;Enter&#8221;s required to complete this step.<\/p>\n<p>Once complete, exit the Puppy Package Manager. If this is still your first Linux session using the memory stick, it is also recommended that you restart the computer (from the bottom MENU option). The restart will create a save file that will be updated every time you exit\u00a0Linux. This file contains all the changes you have made to the originally installed Linux distribution.<\/p>\n<h3 style=\"text-align: center;\"><strong>Adding\u00a0Apache Server<\/strong><\/h3>\n<p>Now let&#8217;s get Apache.<\/p>\n<p>Launch the Puppy Package Manager again. In the search window (Find), enter &#8220;apache2&#8221;.<\/p>\n<p><a href=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/findapache.png\" rel=\"attachment wp-att-1448\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1448 size-full\" src=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/findapache.png\" alt=\"findapache\" width=\"907\" height=\"572\" srcset=\"https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/findapache.png 907w, https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/findapache-300x189.png 300w, https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/findapache-768x484.png 768w\" sizes=\"auto, (max-width: 907px) 100vw, 907px\" \/><\/a><\/p>\n<p>Select &#8220;apache2_2.2.22&#8221; from the listed results.<\/p>\n<p><a href=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/selectapache.jpg\" rel=\"attachment wp-att-1449\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1449 size-full\" src=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/selectapache.jpg\" alt=\"selectapache\" width=\"540\" height=\"295\" srcset=\"https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/selectapache.jpg 540w, https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/selectapache-300x164.jpg 300w\" sizes=\"auto, (max-width: 540px) 100vw, 540px\" \/><\/a><\/p>\n<p>A pop-up windows will appear as shown below:<\/p>\n<p><a href=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/examinedepenancies.jpg\" rel=\"attachment wp-att-1452\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1452\" src=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/examinedepenancies.jpg\" alt=\"examinedepenancies\" width=\"550\" height=\"476\" srcset=\"https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/examinedepenancies.jpg 550w, https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/examinedepenancies-300x260.jpg 300w\" sizes=\"auto, (max-width: 550px) 100vw, 550px\" \/><\/a><\/p>\n<p>Click the &#8220;Examine dependencies&#8221; button.<\/p>\n<p>Click &#8220;Download-and-install selected packages&#8221; in the window below.<\/p>\n<p><a href=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/downloadinstall.jpg\" rel=\"attachment wp-att-1451\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1451 size-full\" src=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/downloadinstall.jpg\" alt=\"downloadinstall\" width=\"956\" height=\"625\" srcset=\"https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/downloadinstall.jpg 956w, https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/downloadinstall-300x196.jpg 300w, https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/downloadinstall-768x502.jpg 768w\" sizes=\"auto, (max-width: 956px) 100vw, 956px\" \/><\/a><\/p>\n<p>Another window will appear. Click &#8220;Download packages&#8221; in this\u00a0window.<\/p>\n<p><a href=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/downloadnow.jpg\" rel=\"attachment wp-att-1453\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1453\" src=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/downloadnow.jpg\" alt=\"downloadnow\" width=\"445\" height=\"416\" srcset=\"https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/downloadnow.jpg 445w, https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/downloadnow-300x280.jpg 300w\" sizes=\"auto, (max-width: 445px) 100vw, 445px\" \/><\/a><\/p>\n<h3 style=\"text-align: center;\"><strong>Manual\u00a0Apache Server Installation Steps<\/strong><\/h3>\n<p>Once the download is complete, we are ready to make the necessary adjustments in order for the server to properly start. We will be adding a new user and add links to the files and directories the Apache server is expecting.<\/p>\n<p>Open a terminal by clicking on the desktop icon &#8220;console&#8221;.<\/p>\n<p>In the console window, enter the following lines. End each line with the &lt;Enter&gt; key. The entries are shown in red\u00a0text:<\/p>\n<p><span class=\"com\">#<\/span><span class=\"com\" style=\"color: red;\">\u00a0adduser www-data<\/span><br \/>\n<span class=\"pln\">adduser<\/span><span class=\"pun\">:<\/span> <span class=\"str\">\/home\/<\/span><span class=\"pln\">www<\/span><span class=\"pun\">&#8211;<\/span><span class=\"pln\">data<\/span><span class=\"pun\">:<\/span> <span class=\"typ\">No<\/span><span class=\"pln\"> such file <\/span><span class=\"kwd\">or<\/span><span class=\"pln\"> directory<\/span><br \/>\n<span class=\"typ\">Changing<\/span><span class=\"pln\"> password <\/span><span class=\"kwd\">for<\/span><span class=\"pln\"> www<\/span><span class=\"pun\">&#8211;<\/span><span class=\"pln\">data<\/span><br \/>\n<span class=\"typ\">New<\/span><span class=\"pln\"> password<\/span><span class=\"pun\">:<\/span><br \/>\n<span class=\"typ\">Retype<\/span><span class=\"pln\"> password<\/span><span class=\"pun\">:<\/span><br \/>\n<span class=\"typ\">Password<\/span> <span class=\"kwd\">for<\/span><span class=\"pln\"> www<\/span><span class=\"pun\">&#8211;<\/span><span class=\"pln\">data changed <\/span><span class=\"kwd\">by<\/span><span class=\"pln\"> root<\/span><\/p>\n<p>Note that &lt;enter&gt; is pressed with no entry for the password.<\/p>\n<p>Now lets continue with the next lines:<\/p>\n<p># <span class=\"com\" style=\"color: red;\">touch \/etc\/apache2\/httpd.conf<\/span><\/p>\n<p># <span class=\"com\" style=\"color: red;\">ln -s \/etc\/apache2\/mods-available\/auth* \/etc\/apache2\/mods-enabled\/<\/span><\/p>\n<p># <span class=\"com\" style=\"color: red;\">ln -s \/etc\/apache2\/sites-available\/default \/etc\/apache2\/sites-enabled\/<\/span><\/p>\n<p># <span class=\"com\" style=\"color: red;\">ln -s \/etc\/apache2\/mods-available\/alias* \/etc\/apache2\/mods-enabled\/<\/span><\/p>\n<p># <span class=\"com\" style=\"color: red;\">ln -s \/etc\/apache2\/mods-available\/ldap* \/etc\/apache2\/mods-enabled\/<\/span><\/p>\n<p># <span class=\"com\" style=\"color: red;\">chown www-data:www-data \/var\/www<\/span><\/p>\n<p># <span class=\"com\" style=\"color: red;\">touch index.html<\/span><\/p>\n<p># <span class=\"com\" style=\"color: red;\">chown www-data:www-data \/var\/www\/index.html<\/span><\/p>\n<p># <span class=\"com\" style=\"color: red;\">ln -s \/etc\/apache2\/mods-available\/dir.* \/etc\/apache2\/mods-enabled\/<\/span><\/p>\n<h3 style=\"text-align: center;\"><strong>Server Test Page<\/strong><\/h3>\n<p>Lets put the typical &#8220;hello world&#8221; message in our index.html file so we know it is served properly.<\/p>\n<p>The file is in the \/var\/www directory, which is the apache server root folder. Open that file and fill it with the following text:<\/p>\n<pre class=\"easycode; title:;lang:;\"> &lt;html&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;body&gt;\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0&lt;h1&gt;Hello\u00a0World!&lt;\/h1&gt;\r\n\u00a0\u00a0\u00a0\u00a0&lt;\/body&gt;\r\n&lt;\/html&gt;<\/pre>\n<p>Now there are only two more things needed to complete the server installation:<\/p>\n<p>1. Set the IP<br \/>\n2. Set the Listening Port<\/p>\n<p id=\"setip\" style=\"text-align: center;\"><strong>Setting the IP<\/strong><\/p>\n<p>From the terminal, enter (a wired network cable should be installed):<\/p>\n<p># \/sbin\/ifconfig eth0<\/p>\n<p>The computer will respond with several lines. The second line should contain the ip. My second line began with:<\/p>\n<p>inet addr:192.168.0.110<\/p>\n<p>This IP value needs to be added to the hosts file. It is at \/etc\/hosts.<\/p>\n<p>The first line should be:<\/p>\n<p>127.0.0.0 localhost &lt;your computer id&gt;<\/p>\n<p>Change it to (using your IP value):<\/p>\n<p>192.168.0.110 localhost &lt;your computer id&gt;<\/p>\n<p>You can now save and close the hosts file.<\/p>\n<p id=\"setport\" style=\"text-align: center;\"><strong>Setting the Listen\u00a0Port<\/strong><\/p>\n<p style=\"text-align: left;\">Now lets finish this off by setting the server listening port. If you want to leave the server listening on the default port (80), you can skip this step.<\/p>\n<p style=\"text-align: left;\">Open the file: \/etc\/apache2\/ports\/ports.conf<\/p>\n<p style=\"text-align: left;\">Near the top of the file, you will see the following 2 lines:<\/p>\n<p style=\"text-align: left;\">NameVirtualHost \u00a0*:80<\/p>\n<p style=\"text-align: left;\">Listen 80<\/p>\n<p style=\"text-align: left;\">Change &#8220;80&#8221; in these lines to whatever port you want the server to listen on.<\/p>\n<p style=\"text-align: left;\">Save and close this file.<\/p>\n<p style=\"text-align: left;\">Now open the file: \/etc\/apache2\/sites-enabled\/default<\/p>\n<p style=\"text-align: left;\">The top line should be:<\/p>\n<p style=\"text-align: left;\">&lt;VirtualHost *:80&gt;<\/p>\n<p style=\"text-align: left;\">Change &#8220;80&#8221; in this line to\u00a0the same port number in the first file.<\/p>\n<p style=\"text-align: left;\">Save and close this file.<\/p>\n<h3 style=\"text-align: center;\"><strong>Testing the\u00a0Apache Server<\/strong><\/h3>\n<p>First, start the server by entering the following in a console window:<\/p>\n<p>\/etc\/init.d\/apache2 restart<\/p>\n<p>The console should respond with:<\/p>\n<p><a href=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/startapache.png\" rel=\"attachment wp-att-1447\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-1447\" src=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/startapache.png\" alt=\"startapache\" width=\"490\" height=\"215\" srcset=\"https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/startapache.png 490w, https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/startapache-300x132.png 300w\" sizes=\"auto, (max-width: 490px) 100vw, 490px\" \/><\/a><\/p>\n<p>Now, using a web browser from a different computer on your network, enter (replacing 80 with the port number configured in the previous step):<\/p>\n<p>192.168.0.110:80<\/p>\n<p>The browser response should be (my listen port was 9777):<\/p>\n<p><a href=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/HelloWorld-1.jpg\" rel=\"attachment wp-att-1446\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-1446 size-full\" src=\"http:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/HelloWorld-1.jpg\" alt=\"HelloWorld\" width=\"511\" height=\"181\" srcset=\"https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/HelloWorld-1.jpg 511w, https:\/\/internetofhomethings.com\/homethings\/wp-content\/uploads\/2016\/02\/HelloWorld-1-300x106.jpg 300w\" sizes=\"auto, (max-width: 511px) 100vw, 511px\" \/><\/a><\/p>\n<p>Congratulations! Your Apache Server is now functional.<\/p>\n<p>This is an enormous first step. You can now serve html files from this server, both within your local network and globally from anywhere on the planet!<\/p>\n<h3 style=\"text-align: center;\"><strong>In Closing<\/strong><\/h3>\n<p>This is not the end, it is only the beginning of your own host server. I will share my setup as the components are added. Part 2, adding PHP to the server will be coming soon.<\/p>\n<p>I hope you find this information useful&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Your Personal http Server If\u00a0you would \u00a0like to have your own personal web server, running industry standard software, all from a boot-able\u00a0USB stick, read on&#8230; One of the most useful &hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1,19,3],"tags":[115,114],"class_list":["post-1429","post","type-post","status-publish","format-standard","hentry","category-alltheposts","category-internet-of-things","category-web-coding-tips","tag-apache-server-on-a-memory-stick","tag-usb-web-server"],"_links":{"self":[{"href":"https:\/\/internetofhomethings.com\/homethings\/index.php?rest_route=\/wp\/v2\/posts\/1429","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/internetofhomethings.com\/homethings\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/internetofhomethings.com\/homethings\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/internetofhomethings.com\/homethings\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/internetofhomethings.com\/homethings\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1429"}],"version-history":[{"count":29,"href":"https:\/\/internetofhomethings.com\/homethings\/index.php?rest_route=\/wp\/v2\/posts\/1429\/revisions"}],"predecessor-version":[{"id":1659,"href":"https:\/\/internetofhomethings.com\/homethings\/index.php?rest_route=\/wp\/v2\/posts\/1429\/revisions\/1659"}],"wp:attachment":[{"href":"https:\/\/internetofhomethings.com\/homethings\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1429"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/internetofhomethings.com\/homethings\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=1429"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/internetofhomethings.com\/homethings\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=1429"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}