{"id":810,"date":"2016-10-29T16:29:48","date_gmt":"2016-10-29T16:29:48","guid":{"rendered":"https:\/\/einhugur.com\/blog\/?page_id=810"},"modified":"2017-03-19T16:07:19","modified_gmt":"2017-03-19T16:07:19","slug":"mfrc-522-rfid-reader-in-xojo-bridged-with-python","status":"publish","type":"page","link":"https:\/\/einhugur.net\/blog\/index.php\/xojo-gpio\/mfrc-522-rfid-reader-in-xojo-bridged-with-python\/","title":{"rendered":"MFRC-522 RFID reader in Xojo (Bridged with Python)"},"content":{"rendered":"<h2>In this example we are going to connect to MFRC-522 RFID reader.<\/h2>\n<p>The MFRC-533 is for 13.56 MHz RF tags.<\/p>\n<p>This board like many other boards need fairly complex driver and since I believe Xojo should be about productivity and not always having to start from scratch at re-inventing the wheel then we will be using Python driver that already exists and then bridge the Python to Xojo, making this example very easy.<\/p>\n<p><a href=\"https:\/\/i1.wp.com\/einhugur.com\/blog\/wp-content\/uploads\/2016\/10\/MFRC-522Package.jpg?ssl=1\"><img data-attachment-id=\"812\" data-permalink=\"https:\/\/einhugur.net\/blog\/index.php\/xojo-gpio\/mfrc-522-rfid-reader-in-xojo-bridged-with-python\/mfrc-522package\/\" data-orig-file=\"https:\/\/i0.wp.com\/einhugur.net\/blog\/wp-content\/uploads\/2016\/10\/MFRC-522Package.jpg?fit=347%2C469&amp;ssl=1\" data-orig-size=\"347,469\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;2.2&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 6&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1477742933&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.15&quot;,&quot;iso&quot;:&quot;250&quot;,&quot;shutter_speed&quot;:&quot;0.03030303030303&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}\" data-image-title=\"mfrc-522package\" data-image-description=\"\" data-medium-file=\"https:\/\/i0.wp.com\/einhugur.net\/blog\/wp-content\/uploads\/2016\/10\/MFRC-522Package.jpg?fit=222%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/einhugur.net\/blog\/wp-content\/uploads\/2016\/10\/MFRC-522Package.jpg?fit=347%2C469&amp;ssl=1\" loading=\"lazy\" class=\"alignnone size-full wp-image-812\" src=\"https:\/\/i1.wp.com\/einhugur.com\/blog\/wp-content\/uploads\/2016\/10\/MFRC-522Package.jpg?resize=347%2C469&#038;ssl=1\" alt=\"mfrc-522package\" width=\"347\" height=\"469\" srcset=\"https:\/\/i0.wp.com\/einhugur.net\/blog\/wp-content\/uploads\/2016\/10\/MFRC-522Package.jpg?w=347&amp;ssl=1 347w, https:\/\/i0.wp.com\/einhugur.net\/blog\/wp-content\/uploads\/2016\/10\/MFRC-522Package.jpg?resize=222%2C300&amp;ssl=1 222w\" sizes=\"(max-width: 347px) 100vw, 347px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>This is how the kit I bought came, it has the MFRC-522 RFID reader board, 2 sets of header pins (straight and with 90 degree angle), one RFID token, and two RFID cards.<\/p>\n<p>You have to solder the header pins into the board. I choose the angled ones so I could easily stick the board into breadboard. In mater of seconds this was done. <span style=\"color: #808080;\"><em>(If you have not experimented with hot air touch free soldering then I highly recommend doing so as once your there then there is no going back)<\/em><\/span><\/p>\n<p>I was worried in this project that it would end up in drama at almost all stages but it turned out to be really easy, I had no fails at any stages of this experiment.<\/p>\n<p><strong>Disclaimer:<\/strong><\/p>\n<p>We do not take any responsibility for possible errors in the guide or errors that you might do wiring it up. Incorrect wiring can result in damaged\u00a0relay board\u00a0or damaged Raspberry PI. Connecting the high voltage connectors can potentially be life threatening, be careful and do at your own risk.<\/p>\n<p><strong>Pieces we use in this example:<\/strong><\/p>\n<ul>\n<li>Raspberry PI 2 (or Raspberry PI 3)<\/li>\n<li>Cobbler and Cobbler cable<\/li>\n<li>Bread board<\/li>\n<li>MFRC-522 RFID reader board. (I paid $2.67 at some Ali Express seller, that included free shipping to Iceland)<\/li>\n<li>Einhugur PythonScript plugin for Xojo <span style=\"color: #808080;\"><em>(don&#8217;t worry all the Einhugur plugins are free for Raspberry PI, if you don&#8217;t got licence then just download the Demo version, it will run as full version when compiled for Raspberry PI)\u00a0<\/em><\/span><\/li>\n<li>MFRC-522 card reader python driver. \u00a0We took open source driver from:\u00a0<a href=\"https:\/\/github.com\/rasplay\/MFRC522-python\">https:\/\/github.com\/rasplay\/MFRC522-python<\/a><\/li>\n<\/ul>\n<hr \/>\n<p><strong>If you are not familiar with breadboards, how to place a cobbler on the breadboard or need to know how to read the color codings on the resistors then click here bellow<\/strong><\/p>\n<p><a class=\"mb-button mb-style-glass mb-size-small mb-corners-default mb-text-style-default \" style=\"background-color: #2b7dc4;\" href=\"https:\/\/einhugur.com\/blog\/index.php\/understanding-your-breadboard-and-placement-of-raspberry-cobbler\/\">\u00a0<i class=\"fa fa-code-fork\"><\/i>\u00a0 Using breadboard<\/a> <a class=\"mb-button mb-style-glass mb-size-small mb-corners-default mb-text-style-default \" style=\"background-color: #2b7dc4;\" href=\"https:\/\/einhugur.com\/blog\/index.php\/basic-electronics\/resistor-color-codings\/\">\u00a0<i class=\"fa fa-reorder\"><\/i>\u00a0 Resistor color codings<\/a><\/p>\n<hr \/>\n<h2>Wiring up the board<\/h2>\n<p>Once you have the header pins soldered in the board and your cobbler placed on the breadboard then here is how you will want to wire the\u00a0MFRC-522 card reader:<\/p>\n<p><em>SDA\u00a0-&gt;\u00a0GPIO8\u00a0<\/em><br \/>\n<em>SCK -&gt; GPIO11<\/em><br \/>\n<em>MOSI -&gt; GPIO10<\/em><br \/>\n<em>MISO -&gt; GPIO9<\/em><br \/>\n<em>IRQ -&gt;\u00a0Not connected<\/em><br \/>\n<em>GND-&gt; GND<\/em><br \/>\n<em>RST -&gt; GPIO25<\/em><br \/>\n<em>3.3V -&gt;\u00a03.3V<\/em><\/p>\n<p><a href=\"https:\/\/i0.wp.com\/einhugur.com\/blog\/wp-content\/uploads\/2015\/09\/GPIO-Header.png?ssl=1\"><img data-attachment-id=\"82\" data-permalink=\"https:\/\/einhugur.net\/blog\/index.php\/xojo-gpio\/hc-sr501-sensor\/gpio-header\/\" data-orig-file=\"https:\/\/i2.wp.com\/einhugur.net\/blog\/wp-content\/uploads\/2015\/09\/GPIO-Header.png?fit=440%2C870&amp;ssl=1\" data-orig-size=\"440,870\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;0&quot;}\" data-image-title=\"GPIO Header\" data-image-description=\"\" data-medium-file=\"https:\/\/i2.wp.com\/einhugur.net\/blog\/wp-content\/uploads\/2015\/09\/GPIO-Header.png?fit=152%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i2.wp.com\/einhugur.net\/blog\/wp-content\/uploads\/2015\/09\/GPIO-Header.png?fit=440%2C870&amp;ssl=1\" loading=\"lazy\" class=\"alignnone size-medium wp-image-82\" src=\"https:\/\/i1.wp.com\/einhugur.com\/blog\/wp-content\/uploads\/2015\/09\/GPIO-Header-152x300.png?resize=152%2C300&#038;ssl=1\" alt=\"GPIO Header\" width=\"152\" height=\"300\" srcset=\"https:\/\/i2.wp.com\/einhugur.net\/blog\/wp-content\/uploads\/2015\/09\/GPIO-Header.png?resize=152%2C300&amp;ssl=1 152w, https:\/\/i2.wp.com\/einhugur.net\/blog\/wp-content\/uploads\/2015\/09\/GPIO-Header.png?w=440&amp;ssl=1 440w\" sizes=\"(max-width: 152px) 100vw, 152px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<p>Here is how it ended for me:<\/p>\n<p><a href=\"https:\/\/i2.wp.com\/einhugur.com\/blog\/wp-content\/uploads\/2016\/10\/MFRC-522Connected.jpg?ssl=1\"><img data-attachment-id=\"814\" data-permalink=\"https:\/\/einhugur.net\/blog\/index.php\/xojo-gpio\/mfrc-522-rfid-reader-in-xojo-bridged-with-python\/mfrc-522connected\/\" data-orig-file=\"https:\/\/i0.wp.com\/einhugur.net\/blog\/wp-content\/uploads\/2016\/10\/MFRC-522Connected.jpg?fit=500%2C788&amp;ssl=1\" data-orig-size=\"500,788\" data-comments-opened=\"1\" data-image-meta=\"{&quot;aperture&quot;:&quot;2.2&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;iPhone 6&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;1477754030&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;4.15&quot;,&quot;iso&quot;:&quot;250&quot;,&quot;shutter_speed&quot;:&quot;0.058823529411765&quot;,&quot;title&quot;:&quot;&quot;,&quot;orientation&quot;:&quot;1&quot;}\" data-image-title=\"mfrc-522connected\" data-image-description=\"\" data-medium-file=\"https:\/\/i0.wp.com\/einhugur.net\/blog\/wp-content\/uploads\/2016\/10\/MFRC-522Connected.jpg?fit=190%2C300&amp;ssl=1\" data-large-file=\"https:\/\/i0.wp.com\/einhugur.net\/blog\/wp-content\/uploads\/2016\/10\/MFRC-522Connected.jpg?fit=474%2C747&amp;ssl=1\" loading=\"lazy\" class=\"alignnone wp-image-814\" src=\"https:\/\/i2.wp.com\/einhugur.com\/blog\/wp-content\/uploads\/2016\/10\/MFRC-522Connected.jpg?resize=265%2C418&#038;ssl=1\" alt=\"mfrc-522connected\" width=\"265\" height=\"418\" srcset=\"https:\/\/i0.wp.com\/einhugur.net\/blog\/wp-content\/uploads\/2016\/10\/MFRC-522Connected.jpg?w=500&amp;ssl=1 500w, https:\/\/i0.wp.com\/einhugur.net\/blog\/wp-content\/uploads\/2016\/10\/MFRC-522Connected.jpg?resize=190%2C300&amp;ssl=1 190w\" sizes=\"(max-width: 265px) 100vw, 265px\" data-recalc-dims=\"1\" \/><\/a><\/p>\n<hr \/>\n<h2>Making sure things work before we use Xojo<\/h2>\n<p>When you power up the Raspberry PI then the\u00a0MFRC-522 RFID reader board should have one light on it.<\/p>\n<p>You need to do some configurations to prepare connecting to this device:<\/p>\n<ol>\n<li>Enable SPI in Raspberry PI settings. (This may call for reboot to get this to work)<br \/>\n<span style=\"color: #808080;\">If all is ok then you should be able to type into console now:<\/span><br \/>\n<span style=\"color: #808080;\">ls \/dev\/spidev0.*<\/span><br \/>\nIt will give you response with yellow letters if all is ok.<\/li>\n<li>Install Python dev and SPI-py<br \/>\nsudo apt-get\u00a0update<br \/>\nsudo apt-get install python-dev<br \/>\ngit clone https:\/\/github.com\/lthiery\/SPI-Py.git<br \/>\ncd SPI-Py<br \/>\nsudo python setup.py install<\/li>\n<li>Get the\u00a0MFRC-522 driver<br \/>\ngit clone https:\/\/github.com\/rasplay\/MFRC522-python.git<\/li>\n<li>Test:<br \/>\ncd MFRC522-python<br \/>\nsudo python read.pyScan your cards or tokens.<em>(If the test fails then you can refer to <a href=\"http:\/\/helloraspberrypi.blogspot.is\/2015\/10\/raspberry-pi-2-mfrc522-python-to-read.html\">this page<\/a> for example for trouble shooters. There are many pages that have info on how to connect to this device using Python).<\/em><\/li>\n<\/ol>\n<h2>Making Xojo use the Python driver<\/h2>\n<p>Assuming the Python test above passed then we proceed to make Xojo application use the Python driver.<\/p>\n<p>First grab Einhugur Python script plugin from the <a href=\"http:\/\/www.einhugur.com\">Einhugur web<\/a>. (If you don&#8217;t got license then grab the Demo version, it will run as full version on Raspberry PI since Einhugur Plugins are free on Raspberry PI). You will want the one called PythonScript and not Python3Script, since the device driver we use is made for Python 2.7.x.<\/p>\n<p>We write a small python stub to interface with the Python Driver: <em><span style=\"color: #808080;\">(The file for it is also included with the downloadable example project)<\/span><\/em><\/p>\n<pre lang=\"python\">import MFRC522\r\nimport signal\r\n\r\nMIFAREReader = MFRC522.MFRC522()\r\n\r\ndef CleanUp():\r\n    MIFAREReader.GPIO_CLEEN()\r\n\r\n\r\ndef Read():\r\n  (status,TagType) = MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL)\r\n  if status == MIFAREReader.MI_OK:\r\n  \t(status,backData) = MIFAREReader.MFRC522_Anticoll()\r\n  \tif status == MIFAREReader.MI_OK:\r\n  \t\treturn str(backData[0])+\",\"+str(backData[1])+\",\"+str(backData[2])+\",\"+str(backData[3])+\",\"+str(backData[4])\r\n  \telse:\r\n  \t\treturn \"\"\r\n  else:\r\n  \treturn \"\"\r\n\r\n\r\n<\/pre>\n<p>Then the Xojo code will be something like this:<\/p>\n<p>&nbsp;<\/p>\n<p><strong>Window Open event:<\/strong><\/p>\n<pre lang=\"xojo\">  Sub Open()\r\n Dim func as PythonFunction\r\n Dim params as PythonParameters\r\n Dim result as PythonResult\r\n Dim f as FolderItem\r\n \r\n \/\/ We dont expect any console output so we just wire it to simple handler that puts up message box, this might give us hints on unexpected errors\r\n PythonScript.SetConsoleOutput(new ConsoleHandler())\r\n \r\n #if TargetMacOS\r\n f = App.ExecutableFile.Parent.Parent.Parent.Parent.Child(\"PythonModules\")\r\n #elseif TargetWin32 or TargetLinux\r\n f = App.ExecutableFile.Parent.Child(\"PythonModules\")\r\n #endif\r\n \r\n \/\/ Add search path where Python can find our module\r\n PythonScript.AddSearchPath(f)\r\n \r\n \/\/ We try to load the Python module\r\n package = PythonScript.GetModule(\"RFIDRead\")\r\n \r\n if package= nil then\r\n MsgBox \"Could not load module\"\r\n Quit()\r\n end if \r\n \r\n \r\nEnd Sub\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>The timer event for a Poll timer:<\/strong><\/p>\n<pre lang=\"xojo\">  Sub Action()\r\n Dim func as PythonFunction\r\n Dim result as PythonResult\r\n Dim stringResult as String\r\n \r\n \/\/ See if we can find function called multiply in the module\r\n func = package.GetFunction(\"Read\")\r\n \r\n if func &lt;&gt; nil then\r\n \r\n result = func.Invoke(nil)\r\n \r\n if result &lt;&gt; nil then\r\n stringResult = result.StringValue\r\n \r\n if stringResult &lt;&gt; \"\" then\r\n Listbox1.AddRow(stringResult)\r\n end if\r\n else\r\n if PythonScript.ErrorOccurred then\r\n MsgBox PythonScript.GetError()\r\n PythonScript.ClearError()\r\n end if\r\n end if\r\n else\r\n MsgBox \"Could not load function: Read\"\r\n btnStop.Push()\r\n end if\r\nEnd Sub\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p><strong>Cleanup in the Window close event:<\/strong><\/p>\n<pre lang=\"xojo\"> Sub Close()\r\n if package &lt;&gt; nil then\r\n Dim func as PythonFunction\r\n Dim stringResult as String\r\n \r\n func = package.GetFunction(\"CleanUp\")\r\n \r\n if func &lt;&gt; nil then\r\n call func.Invoke(nil)\r\n else\r\n MsgBox \"Could not load function: CleanUp\"\r\n end if\r\n end if\r\nEnd Sub\r\n<\/pre>\n<hr \/>\n<p><strong>Downloading the code:<\/strong><\/p>\n<p>Bellow is a download link to download the code. Make sure after you compile to create folder called\u00a0PythonModules at same place as your application is and drop into that the Python driver for the RFID reader and the Python stub we created.<\/p>\n<p><a class=\"mb-button mb-style-glass mb-size-small mb-corners-default mb-text-style-default \" style=\"background-color: #2b7dc4;\" href=\"http:\/\/www.einhugur.com\/Downloads\/GPIO\/RFIDReaderXojoProject.zip\">\u00a0<i class=\"fa fa-download\"><\/i>\u00a0 Download the code<\/a><\/p>\n<hr \/>\n<p>Thats it for now !<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>In this example we are going to connect to MFRC-522 RFID reader. The MFRC-533 is for 13.56 MHz RF tags. This board like many other boards need fairly complex driver and since I believe Xojo should be about productivity and not always having to start from scratch at re-inventing the wheel then we will be &hellip; <a href=\"https:\/\/einhugur.net\/blog\/index.php\/xojo-gpio\/mfrc-522-rfid-reader-in-xojo-bridged-with-python\/\" class=\"more-link\">Continue reading <span class=\"screen-reader-text\">MFRC-522 RFID reader in Xojo (Bridged with Python)<\/span> <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":94,"menu_order":500,"comment_status":"closed","ping_status":"closed","template":"","meta":{"spay_email":""},"jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/Pd75nk-d4","jetpack-related-posts":[{"id":94,"url":"https:\/\/einhugur.net\/blog\/index.php\/xojo-gpio\/","url_meta":{"origin":810,"position":0},"title":"Xojo GPIO","date":"September 19, 2015","format":false,"excerpt":"Guides for GPIO in Xojo \u00a0Infrared motion detection (Updated 1. May 2016) Shows\u00a02 ways of coding: Using Interrupts or simple polling. Sensors: \u00a0HC-SR501,\u00a0ST-00082 Mini,\u00a0Mini IR Pyroelectric Infrared PIR Motion Human Sensor Detector Module Uses:\u00a0Basic GPIO Relay board In this example we \u00a0wire up a relay board and let your Xojo\u2026","rel":"","context":"Similar post","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":840,"url":"https:\/\/einhugur.net\/blog\/index.php\/xojo-gpio\/rdm6300-125khz-rfid-reader\/","url_meta":{"origin":810,"position":1},"title":"RDM6300 125Khz RFID reader","date":"April 13, 2017","format":false,"excerpt":"In this example we are going to connect to RDM6300 RFID reader. The RDM6300\u00a0is for 125 kHz RF tags. This board uses UART (serial communication) but the protocol is fairly simple to deal with. The RDM6300 seen from back and front And the antenna that comes with it. Disclaimer: We\u2026","rel":"","context":"Similar post","img":{"alt_text":"","src":"https:\/\/i1.wp.com\/einhugur.com\/blog\/wp-content\/uploads\/2017\/04\/RFID125MainBoard.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":74,"url":"https:\/\/einhugur.net\/blog\/index.php\/links\/xojo-developer-related-links\/","url_meta":{"origin":810,"position":2},"title":"Xojo developer related links","date":"September 12, 2015","format":false,"excerpt":"Xojo Inc\u00a0- the makers of\u00a0Xojo Ohanaware\u00a0- App Wrapper and other tools that Xojo Mac developers should not be without. Lua (The makers of the Lua interpreter) Python (The makers of the Python language) Scientific Specialties - Some great books about Xojo and\u00a0use of Xojo with Raspberry PI and electronics.","rel":"","context":"Similar post","img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":617,"url":"https:\/\/einhugur.net\/blog\/index.php\/xojo-gpio\/bmp180-barometer-sensor\/","url_meta":{"origin":810,"position":3},"title":"BMP180 Barometer sensor","date":"May 22, 2016","format":false,"excerpt":"In this example we are going to connect to BMP180 barometer sensor, we will be using brake-out board called GY-68. This sensor is really small even the full brake-outboard is only size of a fingernail. The board does not come with the header pins soldered on, but with mine the\u2026","rel":"","context":"Similar post","img":{"alt_text":"BMP180Soldered","src":"https:\/\/i1.wp.com\/einhugur.com\/blog\/wp-content\/uploads\/2016\/05\/BMP180Soldered.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":102,"url":"https:\/\/einhugur.net\/blog\/index.php\/xojo-gpio\/relay-board\/","url_meta":{"origin":810,"position":4},"title":"Relay board","date":"September 19, 2015","format":false,"excerpt":"In this example we are going to wire up a relay board and let your Xojo code control it. A really board is normally used to control high voltage devices such as lights for example. In my case I will be using them \u00a0to remote control electric heaters in a\u2026","rel":"","context":"Similar post","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/einhugur.com\/blog\/wp-content\/uploads\/2015\/09\/RelayWiring-300x225.jpg?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":853,"url":"https:\/\/einhugur.net\/blog\/index.php\/xojo-gpio\/hd44780-based-lcd-display-part-2-non-standard-sizes\/","url_meta":{"origin":810,"position":5},"title":"HD44780 BASED LCD DISPLAY - Part 2 (Non standard sizes)","date":"April 15, 2017","format":false,"excerpt":"In this example we are going to connect to some specialized HD44780 based displays. This article is followup on our previous article called\u00a0HD44780 based LCD display. The standard 16 x 2, or 20 x 2 or even 20 x 4 are great for many purposes, and cheap as well. But\u00a0sometimes\u2026","rel":"","context":"Similar post","img":{"alt_text":"","src":"https:\/\/i0.wp.com\/einhugur.com\/blog\/wp-content\/uploads\/2017\/04\/8x2Display.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/einhugur.net\/blog\/index.php\/wp-json\/wp\/v2\/pages\/810"}],"collection":[{"href":"https:\/\/einhugur.net\/blog\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/einhugur.net\/blog\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/einhugur.net\/blog\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/einhugur.net\/blog\/index.php\/wp-json\/wp\/v2\/comments?post=810"}],"version-history":[{"count":2,"href":"https:\/\/einhugur.net\/blog\/index.php\/wp-json\/wp\/v2\/pages\/810\/revisions"}],"predecessor-version":[{"id":821,"href":"https:\/\/einhugur.net\/blog\/index.php\/wp-json\/wp\/v2\/pages\/810\/revisions\/821"}],"up":[{"embeddable":true,"href":"https:\/\/einhugur.net\/blog\/index.php\/wp-json\/wp\/v2\/pages\/94"}],"wp:attachment":[{"href":"https:\/\/einhugur.net\/blog\/index.php\/wp-json\/wp\/v2\/media?parent=810"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}