{"id":4289,"date":"2025-02-01T09:15:25","date_gmt":"2025-02-01T17:15:25","guid":{"rendered":"https:\/\/www.donluc.com\/?p=4289"},"modified":"2025-02-01T09:15:25","modified_gmt":"2025-02-01T17:15:25","slug":"project-15-environment-eeprom-mk25","status":"publish","type":"post","link":"https:\/\/www.donluc.com\/?p=4289","title":{"rendered":"Project #15: Environment \u2013 EEPROM \u2013 Mk25"},"content":{"rendered":"<div style=\"width: 720px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-4289-1\" width=\"720\" height=\"480\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/02\/DL2501Mk08W.mp4?_=1\" \/><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/02\/DL2501Mk08W.mp4\">https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/02\/DL2501Mk08W.mp4<\/a><\/video><\/div>\n<p>&#8212;&#8212;<\/p>\n<p>#DonLucElectronics #DonLuc #Arduino #EEPROM #DHT11 #ASM #Display #Elecrow #Project #Patreon #Electronics #Microcontrollers #IoT #Fritzing #Programming #Consultant<\/p>\n<p>&#8212;&#8212;<\/p>\n<p><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/02\/DL2501Mk08a.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/02\/DL2501Mk08a.jpg\" alt=\"EEPROM\" width=\"720\" height=\"657\" class=\"alignnone size-full wp-image-4291\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/02\/DL2501Mk08a.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/02\/DL2501Mk08a-300x274.jpg 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&#8212;&#8212;<\/p>\n<p><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/02\/DL2501Mk08b.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/02\/DL2501Mk08b.jpg\" alt=\"EEPROM\" width=\"720\" height=\"480\" class=\"alignnone size-full wp-image-4292\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/02\/DL2501Mk08b.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/02\/DL2501Mk08b-300x200.jpg 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&#8212;&#8212;<\/p>\n<p><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/02\/DL2501Mk08c.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/02\/DL2501Mk08c.jpg\" alt=\"EEPROM\" width=\"720\" height=\"480\" class=\"alignnone size-full wp-image-4293\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/02\/DL2501Mk08c.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/02\/DL2501Mk08c-300x200.jpg 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&#8212;&#8212;<\/p>\n<p><strong>EEPROM<\/strong><\/p>\n<p>EEPROM (Electrically Erasable Programmable Read-only Memory) is a type of non-volatile memory. EEPROM is a type of non-volatile ROM that enables individual bytes of data to be erased and reprogrammed. That is why EEPROM chips are known as byte erasable chips. EEPROM is usually used to store small amounts of data in computing and other electronic devices. It is used in computers, usually integrated in microcontrollers such as smart cards and remote keyless systems, or as a separate chip device, to store relatively small amounts of data by allowing individual bytes to be erased and reprogrammed.<\/p>\n<p><strong>DL2501Mk08<\/strong><\/p>\n<p>1 x Crowduino Uno &#8211; SD<br \/>\n1 x Crowtail &#8211; Base Shield<br \/>\n1 x Crowtail &#8211; Temperature and Humidity Sensor 2.0<br \/>\n1 x Crowtail &#8211; Rotary Angle Sensor 2.0<br \/>\n1 x Crowtail &#8211; Moisture Sensor 2.0<br \/>\n1 x Crowtail &#8211; I2C LCD<br \/>\n1 x Crowtail &#8211; LED(Green)<br \/>\n1 x Crowtail &#8211; LED(Yellow)<br \/>\n1 x USB Battery Pack<br \/>\n1 x USB Mini-B Cable<\/p>\n<p><strong>Crowduino Uno &#8211; SD<\/strong><\/p>\n<p>SCL &#8211; A5<br \/>\nSDA &#8211; A4<br \/>\nPOT &#8211; A1<br \/>\nASM &#8211; A0<br \/>\nLEDY &#8211; 7<br \/>\nLEDG &#8211; 6<br \/>\nITH &#8211; 5<br \/>\nVIN &#8211; +5V<br \/>\nGND &#8211; GND<\/p>\n<p><strong>DLE-EEPROM-UID-UnoMk001<\/strong><\/p>\n<p><strong>DLE-EEPROM-UID-UnoMk001.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/* ***** Don Luc Electronics \u00a9 ******\r\nSoftware Version Information\r\nDLE-EEPROM-UID-UnoMk001\r\nArduino UNO\r\n5V\r\nver: UnoMk001\r\nEEPROM with unique ID\r\n*\/\r\n\r\n\/\/ Include Library Code\r\n\/\/ EEPROM library to read and write EEPROM with unique ID for unit\r\n#include &lt;EEPROM.h&gt;\r\n\r\n\/\/ Software Version Information\r\nString sver = &quot;UnoMk001&quot;;\r\n\/\/ Unit ID information\r\nString uid = &quot;DLEU001&quot;; \r\n\/\/ Read Unique ID\r\n\/\/ String ruid = &quot;&quot;;\r\n\r\nvoid loop() \r\n{\r\n\r\n   \/\/ &lt;== Write and Read EEPROM \r\n   isEEPROMw();\r\n  \r\n}\r\n<\/pre>\n<p><strong>getEEPROM.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ getEEPROM\r\n\/\/ Write and Read EEPROM with Unique ID for Unit\r\nvoid isEEPROMw() {\r\n  \r\n  \/\/ Write EEPROM with Unique ID for Unit\r\n  int incb = 0;\r\n  int v = 0;\r\n  String emp = &quot;&quot;;\r\n  String ruid = &quot;&quot;;\r\n    \r\n  \/\/ Set Unit ID\r\n  \/\/ The message starts with uid then is followed by 7 characters \r\n  \/\/ First clear a string buffer\r\n  emp = &quot;&quot;;\r\n  \/\/ Loop through the 7 ID characters and write their ASCII (byte) value to the EEPROM\r\n  for (int y = 0; y &lt; 7; y++)\r\n  {\r\n        \r\n     \/\/ Get ASCII value of character\r\n     v = int(uid.charAt(y)); \/\/ + 5));\r\n     \/\/ Add the actual character to the buffer\r\n     emp = emp + uid.charAt(y + 5);\r\n     \/\/ Write the value to the EEPROM\r\n     EEPROM.write(y, v);\r\n         \r\n  } \r\n    \r\n  \/\/ Write EEPROM with Unique ID for Unit\r\n  Serial.println( &quot;Write ID Information&quot;);\r\n\r\n  \/\/ Read ID Information\r\n  \/\/ Unit ID\r\n  for (int y = 0; y &lt; 7; y++)\r\n  {\r\n    \r\n    ruid = ruid + char(EEPROM.read(y));\r\n    \r\n  }\r\n  \r\n  \/\/ Read ID Information\r\n  Serial.print( &quot;Read ID Information: &quot;);\r\n  Serial.println( ruid );\r\n  Serial.println( &quot;Ok!&quot; );\r\n  ruid = &quot;&quot;;\r\n\r\n  delay( 5000 );\r\n   \r\n}\r\n<\/pre>\n<p><strong>setup.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ Setup\r\nvoid setup() \r\n{\r\n\r\n  \/\/ Open the serial port at 9600 bps:\r\n  Serial.begin(9600);\r\n\r\n  \/\/ Serial\r\n  Serial.print( &quot;Software Version Information: &quot;);\r\n  Serial.println( sver );\r\n  Serial.print( &quot;Unit ID Information: &quot;);\r\n  Serial.println( uid );\r\n  \r\n  delay(5000);\r\n   \r\n}\r\n<\/pre>\n<p><strong>DL2501Mk08p<\/strong><\/p>\n<p><strong>DL2501Mk08p.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/****** Don Luc Electronics \u00a9 ******\r\nSoftware Version Information\r\nProject #15: Environment \u2013 EEPROM \u2013 Mk25\r\nDL2501Mk08p.ino\r\nDL2501Mk08\r\n1 x Crowduino Uno - SD\r\n1 x Crowtail - Base Shield\r\n1 x Crowtail - Temperature and Humidity Sensor 2.0\r\n1 x Crowtail - Rotary Angle Sensor 2.0\r\n1 x Crowtail - Moisture Sensor 2.0\r\n1 x Crowtail - I2C LCD\r\n1 x Crowtail - LED(Green)\r\n1 x Crowtail - LED(Yellow)\r\n1 x USB Battery Pack\r\n1 x USB Mini-B Cable\r\n*\/\r\n\r\n\/\/ Include the Library Code\r\n\/\/ EEPROM library to read and write EEPROM with unique ID for unit\r\n#include &lt;EEPROM.h&gt;\r\n\/\/ Wire\r\n#include &lt;Wire.h&gt;\r\n\/\/ Liquid Crystal\r\n#include &quot;LiquidCrystal.h&quot;\r\n\/\/ Temperature and Humidity Sensor\r\n#include &quot;DHT.h&quot;\r\n\r\n\/\/ Temperature and Humidity Sensor\r\n#define DHTPIN 5\r\n\/\/ DHT 11\r\n#define DHTTYPE DHT11\r\nDHT dht(DHTPIN, DHTTYPE);\r\n\/\/ Temperature and Humidity Sensor\r\nfloat h = 0;\r\nfloat t = 0;\r\n\r\n\/\/ Potentiometer\r\nint iPotentiometer = A1;\r\n\/\/ Change Your Threshold Here\r\nint Threshold = 0;\r\nint zz = 0;\r\n\r\n\/\/ Liquid Crystal\r\n\/\/ Connect via i2c\r\nLiquidCrystal lcd(0);\r\n\r\n\/\/ Crowtail Moisture Sensor\r\nint iSoilMoisture = A0;\r\nint iSoilMoistureVal = 0;\r\n\r\n\/\/ LED Yellow\r\nint iLEDYellow = 7;\r\n\r\n\/\/ LED Green\r\nint iLEDGreen = 6;\r\n\r\n\/\/ EEPROM Unique ID Information\r\nString uid = &quot;&quot;;\r\n\r\n\/\/ Software Version Information\r\nString sver = &quot;15-25&quot;;\r\n\r\nvoid loop() {\r\n\r\n  \/\/ Crowtail Moisture Sensor\r\n  isSoilMoisture();\r\n\r\n  \/\/ Temperature and Humidity Sensor\r\n  isTH();\r\n\r\n  \/\/ Delay 2 Second\r\n  delay( 2000 );\r\n\r\n  \/\/ Display Temperature and Humidity\r\n  isDisplayTH();\r\n\r\n  \/\/ Delay 2 Second\r\n  delay( 2000 );\r\n\r\n  \/\/ Display EEPROM\r\n  isDisplayEEPROM();\r\n\r\n  \/\/ Delay 2 Second\r\n  delay( 2000 );\r\n\r\n}\r\n<\/pre>\n<p><strong>getDisplay.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ getDisplay\r\n\/\/ Crowbits - OLED 128X64 UID\r\nvoid isDisplayUID(){\r\n\r\n  \/\/ Set up the LCD&#039;s number of rows and columns: \r\n  lcd.begin(16, 2);\r\n  \/\/ Print a message to the LCD.\r\n  \/\/ Cursor\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(&quot;Don Luc Electron&quot;);\r\n  \/\/ Cursor\r\n  lcd.setCursor(0, 1);\r\n  \/\/ Print a message to the LCD.\r\n  lcd.print( sver );\r\n\r\n}\r\n\/\/ isDisplay Green\r\nvoid isDisplayG(){\r\n\r\n  \/\/ Print a message to the LCD\r\n  \/\/ Clear\r\n  lcd.clear();\r\n  \/\/ Cursor\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(&quot;Humid Soil&quot;);\r\n  \/\/ Cursor\r\n  lcd.setCursor(0, 1);\r\n  \/\/ Print a message to the LCD\r\n  lcd.print( iSoilMoistureVal );\r\n  \r\n}\r\n\/\/ isDisplay Yellow\r\nvoid isDisplayY(){\r\n\r\n  \/\/ Print a message to the LCD\r\n  \/\/ Clear\r\n  lcd.clear();\r\n  \/\/ Cursor\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(&quot;Dry Soil&quot;);\r\n  \/\/ Cursor\r\n  lcd.setCursor(0, 1);\r\n  \/\/ Print a message to the LCD\r\n  lcd.print( iSoilMoistureVal );\r\n  \r\n}\r\n\/\/ Display Temperature and Humidity\r\nvoid isDisplayTH(){\r\n\r\n  \/\/ Clear\r\n  lcd.clear();\r\n  \/\/ Set the cursor to column 0, line 0\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(&quot;H: &quot;); \r\n  lcd.print(h);\r\n  lcd.print(&quot; %&quot;);\r\n  \/\/ Set the cursor to column 0, line 1\r\n  lcd.setCursor(0, 1);\r\n  lcd.print(&quot;T: &quot;); \r\n  lcd.print(t);\r\n  lcd.print(&quot; *C&quot;);\r\n  \r\n}\r\n\/\/ Display EEPROM\r\nvoid isDisplayEEPROM(){\r\n\r\n  \/\/ Clear\r\n  lcd.clear();\r\n  \/\/ Set the cursor to column 0, line 0\r\n  lcd.setCursor(0, 0);\r\n  lcd.print(&quot;EEPROM&quot;); \r\n  \/\/ Set the cursor to column 0, line 1\r\n  lcd.setCursor(0, 1);\r\n  lcd.print( uid ); \r\n\r\n}\r\n<\/pre>\n<p><strong>getEEPROM.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ EEPROM\r\n\/\/ isUID EEPROM Unique ID\r\nvoid isUID() {\r\n  \r\n  \/\/ Is Unit ID\r\n  uid = &quot;&quot;;\r\n  for (int x = 0; x &lt; 7; x++)\r\n  {\r\n    uid = uid + char(EEPROM.read(x));\r\n  }\r\n  \r\n}\r\n<\/pre>\n<p><strong>getSoilMoisture.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ Crowtail Moisture Sensor\r\n\/\/ Soil Moisture\r\nvoid isSoilMoisture(){\r\n\r\n  \/\/ Connect Soil Moisture Sensor to Analog 0\r\n  \/\/ iSoilMoistureVal =&gt; 0~700 Soil Moisture\r\n  iSoilMoistureVal = analogRead( iSoilMoisture );\r\n\r\n  \/\/ Threshold =&gt; 200~500\r\n  zz = analogRead( iPotentiometer );\r\n  Threshold = map( zz, 0, 1024, 200, 500);\r\n\r\n  \/\/ Threshold\r\n  if (iSoilMoistureVal &gt; Threshold) {\r\n\r\n    \/\/ 300~700 - Humid Soil\r\n    \/\/ LED Yellow\r\n    digitalWrite(iLEDYellow, LOW);\r\n    \/\/ Display Green\r\n    isDisplayG();\r\n    \/\/ LED Green\r\n    digitalWrite(iLEDGreen, HIGH);\r\n    \r\n  }\r\n  else {\r\n    \r\n    \/\/ 0-300 Dry Soil\r\n    \/\/ LED Green\r\n    digitalWrite(iLEDGreen, LOW);\r\n    \/\/ Display Yellow\r\n    isDisplayY();\r\n    digitalWrite(iLEDYellow, HIGH);\r\n    \r\n  }\r\n\r\n}\r\n<\/pre>\n<p><strong>getTH.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ Temperature and Humidity Sensor\r\nvoid isTH(){\r\n\r\n  \/\/ Temperature\r\n  t = dht.readTemperature();\r\n  \/\/ Humidity\r\n  h = dht.readHumidity();\r\n  \r\n}\r\n<\/pre>\n<p><strong>setup.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ Setup\r\nvoid setup()\r\n{\r\n \r\n  \/\/ Delay\r\n  delay(100);\r\n  \r\n  \/\/ isUID EEPROM Unique ID\r\n  isUID();\r\n  \r\n  \/\/ Delay\r\n  delay(100);\r\n\r\n  \/\/ Initialize the LED iLED Yellow\r\n  pinMode(iLEDYellow, OUTPUT);\r\n\r\n  \/\/ Initialize the LED LED Green\r\n  pinMode(iLEDGreen, OUTPUT);\r\n\r\n  \/\/ Temperature and Humidity Sensor\r\n  dht.begin();\r\n\r\n  \/\/ Display UID\r\n  isDisplayUID();\r\n  \r\n  \/\/ Delay 5 Second\r\n  delay( 5000 );\r\n\r\n}\r\n<\/pre>\n<p>&#8212;&#8212;<\/p>\n<p><strong>Electronics, IoT, Teacher, Instructor, R&#038;D and Consulting<\/strong><\/p>\n<ul>\n<li>Programming Language<\/li>\n<li>Single-Board Microcontrollers (PIC, Arduino, Raspberry Pi, Arm, Silicon Labs, Espressif, Etc&#8230;)<\/li>\n<li>IoT<\/li>\n<li>Wireless (Radio Frequency, Bluetooth, WiFi, Etc&#8230;)<\/li>\n<li>Robotics<\/li>\n<li>Automation<\/li>\n<li>Camera and Video Capture Receiver Stationary, Wheel\/Tank and Underwater Vehicle<\/li>\n<li>Unmanned Vehicles Terrestrial and Marine<\/li>\n<li>Machine Learning<\/li>\n<li>Artificial Intelligence (AI)<\/li>\n<li>RTOS<\/li>\n<li>Sensors, eHealth Sensors, Biosensor, and Biometric<\/li>\n<li>Research &#038; Development (R &#038; D)<\/li>\n<li>Consulting<\/li>\n<\/ul>\n<p><strong>Follow Us<\/strong><\/p>\n<p><strong>Luc Paquin \u2013 Curriculum Vitae &#8211; 2024<\/strong><br \/>\nhttps:\/\/www.donluc.com\/luc\/<\/p>\n<p><strong>Web:<\/strong> https:\/\/www.donluc.com\/<br \/>\n<strong>Facebook:<\/strong> https:\/\/www.facebook.com\/neosteam.labs.9\/<br \/>\n<strong>YouTube:<\/strong> https:\/\/www.youtube.com\/@thesass2063<br \/>\n<strong>Twitter:<\/strong> https:\/\/twitter.com\/labs_steam<br \/>\n<strong>Pinterest:<\/strong> https:\/\/www.pinterest.com\/NeoSteamLabs\/<br \/>\n<strong>Instagram:<\/strong> https:\/\/www.instagram.com\/neosteamlabs\/<br \/>\n<strong>Patreon:<\/strong> https:\/\/patreon.com\/DonLucElectronics59<br \/>\n<strong>DFRobot:<\/strong> https:\/\/learn.dfrobot.com\/user-10186.html<br \/>\n<strong>Hackster.io:<\/strong> https:\/\/www.hackster.io\/neosteam-labs<br \/>\n<strong>Elecrow:<\/strong> https:\/\/www.elecrow.com\/share\/sharepj\/center\/no\/760816d385ebb1edc0732fd873bfbf13<br \/>\n<strong>TikTok:<\/strong> https:\/\/www.tiktok.com\/@luc.paquin8<br \/>\n<strong>Twitch:<\/strong> https:\/\/www.twitch.tv\/lucpaquin<br \/>\n<strong>LinkedIn:<\/strong> https:\/\/www.linkedin.com\/in\/jlucpaquin\/<\/p>\n<p><strong>Don Luc<\/strong><\/p>\n","protected":false},"excerpt":{"rendered":"<p>&#8212;&#8212; #DonLucElectronics #DonLuc #Arduino #EEPROM #DHT11 #ASM #Display #Elecrow #Project #Patreon #Electronics #Microcontrollers #IoT #Fritzing #Programming #Consultant &#8212;&#8212; &#8212;&#8212; &#8212;&#8212; &#8212;&#8212; EEPROM EEPROM (Electrically Erasable Programmable Read-only Memory) is a type of non-volatile memory. EEPROM is a type of non-volatile ROM that enables individual bytes of data to be erased and reprogrammed. That is why &#8230; <a title=\"Project #15: Environment \u2013 EEPROM \u2013 Mk25\" class=\"read-more\" href=\"https:\/\/www.donluc.com\/?p=4289\" aria-label=\"Read more about Project #15: Environment \u2013 EEPROM \u2013 Mk25\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[106,50,49,38,368,59,115,5,138,287,58,10],"tags":[6,102,4,87,331,369,19,107,85,24,9,27,33,34,108],"class_list":["post-4289","post","type-post","status-publish","format-standard","hentry","category-environment","category-arduino","category-consultant","category-digitalelectronics","category-elecrow","category-fritzing","category-e-mentor","category-microcontrollers","category-patreon","category-program","category-arduino-programming","category-projects","tag-arduino","tag-components","tag-consultant","tag-display","tag-eeprom","tag-elecrow","tag-electronics","tag-environment","tag-fritzing","tag-microcontroller","tag-programming","tag-projects-2","tag-technology","tag-video-blog","tag-vlog"],"_links":{"self":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4289","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=4289"}],"version-history":[{"count":1,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4289\/revisions"}],"predecessor-version":[{"id":4294,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4289\/revisions\/4294"}],"wp:attachment":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4289"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4289"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4289"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}