{"id":4361,"date":"2025-03-31T08:57:19","date_gmt":"2025-03-31T15:57:19","guid":{"rendered":"https:\/\/www.donluc.com\/?p=4361"},"modified":"2025-03-31T08:57:19","modified_gmt":"2025-03-31T15:57:19","slug":"project-15-environment-serial-camera-mk29","status":"publish","type":"post","link":"https:\/\/www.donluc.com\/?p=4361","title":{"rendered":"Project #15: Environment \u2013 Serial Camera \u2013 Mk29"},"content":{"rendered":"<div style=\"width: 720px;\" class=\"wp-video\"><video class=\"wp-video-shortcode\" id=\"video-4361-1\" width=\"720\" height=\"480\" preload=\"metadata\" controls=\"controls\"><source type=\"video\/mp4\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/03\/DL2503Mk02W.mp4?_=1\" \/><a href=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/03\/DL2503Mk02W.mp4\">https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/03\/DL2503Mk02W.mp4<\/a><\/video><\/div>\n<p>&#8212;&#8212;<\/p>\n<p>#DonLucElectronics #DonLuc #Arduino #Camera #SD #RTC #EEPROM #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\/03\/DL2503Mk02a.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/03\/DL2503Mk02a.jpg\" alt=\"Serial Camera\" width=\"720\" height=\"744\" class=\"alignnone size-full wp-image-4363\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/03\/DL2503Mk02a.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/03\/DL2503Mk02a-290x300.jpg 290w\" 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\/03\/DL2503Mk02b.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/03\/DL2503Mk02b.jpg\" alt=\"Serial Camera\" width=\"720\" height=\"480\" class=\"alignnone size-full wp-image-4364\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/03\/DL2503Mk02b.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/03\/DL2503Mk02b-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\/03\/DL2503Mk02c.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/03\/DL2503Mk02c.jpg\" alt=\"Serial Camera\" width=\"720\" height=\"480\" class=\"alignnone size-full wp-image-4365\" srcset=\"https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/03\/DL2503Mk02c.jpg 720w, https:\/\/www.donluc.com\/wp-content\/uploads\/2025\/03\/DL2503Mk02c-300x200.jpg 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/a><\/p>\n<p>&#8212;&#8212;<\/p>\n<p><strong>Crowtail &#8211; Serial Camera<\/strong><\/p>\n<p>The Crowtail Serial Camera is a JPEG color camera module easy for PC and MCU use. It has integrated image processing DSP to generate 320 x 240 or 640 x 480 JPEG images without thumbnail information, captured pictures will be stored in the internal buffer and transferred via UART port. The UART Can be configured to TTL or CMOS by hardware.<\/p>\n<ul>\n<li>-Crowtail interface<\/li>\n<li>-Default baud rate of the serial port is 38400<\/li>\n<li>-640 x 480 or 320 x 240 resolution<\/li>\n<li>-JPEG compressed image without Thumbnail Information<\/li>\n<li>-5 Volt power supply<\/li>\n<\/ul>\n<p><strong>DL2503Mk02<\/strong><\/p>\n<p>1 x Crowduino Uno &#8211; SD<br \/>\n1 x Crowtail &#8211; Base Shield<br \/>\n1 x Crowtail &#8211; Serial Camera<br \/>\n1 x Crowtail &#8211; Button 2.0<br \/>\n1 x MicroSD Card 4 Gb<br \/>\n1 x Crowtail &#8211; RTC 2.0<br \/>\n1 x CR1220 Battery<br \/>\n1 x Crowtail &#8211; LED(Green)<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 \/>\nSCK &#8211; 12<br \/>\nMISO &#8211; 11<br \/>\nMOSI &#8211; 10<br \/>\nCS &#8211; 4<br \/>\nBUT &#8211; 9<br \/>\nLEDG &#8211; 6<br \/>\nVIN &#8211; +5V<br \/>\nGND &#8211; GND<\/p>\n<p><strong>DL2503Mk02p<\/strong><\/p>\n<p><strong>DL2503Mk02p.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 Serial Camera \u2013 Mk29\r\nDL2503Mk02p.ino\r\nDL2503Mk02\r\n1 x Crowduino Uno - SD\r\n1 x Crowtail - Base Shield\r\n1 x Crowtail - Serial Camera\r\n1 x Crowtail - Button 2.0\r\n1 x MicroSD Card 4 Gb\r\n1 x Crowtail - RTC 2.0\r\n1 x CR1220 Battery\r\n1 x Crowtail - LED(Green)\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\/\/ RTC (Real-Time Clock)\r\n#include &quot;RTClib.h&quot;\r\n\/\/ Secure Digital (SD Card)\r\n#include &lt;SD.h&gt;\r\n#include &lt;SPI.h&gt;\r\n\/\/ Serial Camera\r\n#include &lt;Adafruit_VC0706.h&gt;\r\n\/\/ Software Serial\r\n#include &lt;SoftwareSerial.h&gt;\r\n\r\n\/\/ Camera TX connected to pin 2\r\n\/\/ Camera RX to pin 3:\r\nSoftwareSerial cameraconnection = SoftwareSerial(2, 3);\r\n\r\n\/\/ Serial Camera\r\nAdafruit_VC0706 cam = Adafruit_VC0706(&amp;cameraconnection);\r\n\r\n\/\/ Create an image with the name DLEPxxx.JPG\r\nchar filename[13];\r\n\r\n\/\/ Secure Digital (SD Card)\r\nconst int chipSelect = 4;\r\nString zzzzzz = &quot;&quot;;\r\n\r\n\/\/ Button\r\nint iButton = 9;\r\n\/\/ Variable for reading the Button status\r\nint iButtonState = 0;\r\n\r\n\/\/ RTC (Real-Time Clock)\r\nRTC_DS1307 RTC;\r\nString dateRTC = &quot;&quot;;\r\nString timeRTC = &quot;&quot;;\r\n\r\n\/\/ Liquid Crystal\r\n\/\/ Connect via i2c\r\nLiquidCrystal lcd(0);\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-29&quot;;\r\n\r\nvoid loop() {\r\n\r\n  \/\/ RTC (Real-Time Clock)\r\n  isRTC();\r\n\r\n  \/\/ Display RTC\r\n  isDisplayRTC();\r\n\r\n  \/\/ Read the state of the Switch value\r\n  iButtonState = digitalRead(iButton);\r\n\r\n  \/\/ The Button is HIGH:\r\n  if (iButtonState == HIGH) {\r\n\r\n    \/\/ LED Green HIGH\r\n    digitalWrite(iLEDGreen, HIGH);\r\n\r\n    \/\/ Camera\r\n    isCamera();\r\n    \r\n    \/\/ MicroSD Card\r\n    isSD();\r\n\r\n    \/\/ LED Green LOW\r\n    digitalWrite(iLEDGreen, LOW);\r\n\r\n  } else {\r\n\r\n    \/\/ LED Green LOW\r\n    digitalWrite(iLEDGreen, LOW);\r\n\r\n  }\r\n\r\n  \/\/ Delay\r\n  delay( 500 );\r\n\r\n}\r\n<\/pre>\n<p><strong>getCamera.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ Camera\r\n\/\/ Setup Camera\r\nvoid isSetupCamera(){\r\n\r\n  \/\/ Setup Camera\r\n  cam.begin();\r\n  \/\/ Biggest\r\n  cam.setImageSize(VC0706_640x480);\r\n  \r\n}\r\n\/\/ is Camera\r\nvoid isCamera(){\r\n\r\n  \/\/ Camera Snap\r\n  cam.takePicture();\r\n\r\n  \/\/ File Name\r\n  strcpy(filename, &quot;DLEP000.JPG&quot;);\r\n  for (int i = 0; i &lt; 1000; i++) {\r\n    \r\n    filename[4] = &#039;0&#039; + i\/10;\r\n    filename[5] = &#039;0&#039; + i\/10;\r\n    filename[6] = &#039;0&#039; + i%10;\r\n    \r\n    \/\/ create if does not exist, do not open existing, write, sync after write\r\n    if (! SD.exists(filename)) {\r\n      break;\r\n    }\r\n    \r\n  }\r\n  \r\n  \/\/ Open the file for writing\r\n  File imgFile = SD.open(filename, FILE_WRITE);\r\n\r\n  \/\/ Get the size of the image (frame) taken  \r\n  uint16_t jpglen = cam.frameLength();\r\n\r\n  \/\/ Time\r\n  int32_t time = millis();\r\n  pinMode(8, OUTPUT);\r\n  \r\n  \/\/ Read all the data up to # bytes!\r\n  byte wCount = 0; \/\/ For counting # of writes\r\n  while (jpglen &gt; 0) {\r\n    \r\n    \/\/ read 32 bytes at a time;\r\n    uint8_t *buffer;\r\n    uint8_t bytesToRead = min(32, jpglen); \/\/ change 32 to 64 for a speedup but may not work with all setups!\r\n    buffer = cam.readPicture(bytesToRead);\r\n    imgFile.write(buffer, bytesToRead);\r\n    if(++wCount &gt;= 64) { \/\/ Every 2K, give a little feedback so it doesn&#039;t appear locked up\r\n      \/\/Serial.print(&#039;.&#039;);\r\n      wCount = 0;\r\n    }\r\n    \/\/Serial.print(&quot;Read &quot;);  Serial.print(bytesToRead, DEC); Serial.println(&quot; bytes&quot;);\r\n    jpglen -= bytesToRead;\r\n    \r\n  }\r\n\r\n  \/\/ Close\r\n  imgFile.close();\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\n\/\/ Display 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\/\/ Display RTC\r\nvoid isDisplayRTC(){\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( dateRTC );\r\n  \/\/ Set the cursor to column 0, line 1\r\n  lcd.setCursor(0, 1);\r\n  lcd.print( timeRTC );\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>getRTC.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ RTC (Real-Time Clock)\r\n\/\/ Setup RTC\r\nvoid isSetupRTC(){\r\n\r\n  \/\/ RTC (Real-Time Clock)\r\n  RTC.begin();\r\n\r\n  \/\/ RTC Running\r\n  if (! RTC.isrunning()) {\r\n    \r\n    \/\/ following line sets the RTC to the date &amp; time\r\n    \/\/this sketch was compiled\r\n    RTC.adjust(DateTime(__DATE__, __TIME__));\r\n    \/\/ This line sets the RTC with an explicit date &amp; time, for example to set\r\n    \/\/ January 21, 2014 at 3am you would call:\r\n    \/\/ RTC.adjust(DateTime(2014, 1, 21, 3, 0, 0))\r\n    \r\n  }\r\n  \r\n}\r\n\/\/ RTC (Real-Time Clock)\r\nvoid isRTC(){\r\n\r\n  \/\/ RTC (Real-Time Clock)\r\n  DateTime now = RTC.now();\r\n  \r\n  \/\/ Date\r\n  dateRTC = now.year(), DEC; \r\n  dateRTC = dateRTC + &quot;\/&quot;;\r\n  dateRTC = dateRTC + now.month(), DEC;\r\n  dateRTC = dateRTC + &quot;\/&quot;;\r\n  dateRTC = dateRTC + now.day(), DEC;\r\n  \r\n  \/\/ Time\r\n  timeRTC = now.hour(), DEC;\r\n  timeRTC = timeRTC + &quot;:&quot;;\r\n  timeRTC = timeRTC + now.minute(), DEC;\r\n  timeRTC = timeRTC + &quot;:&quot;;\r\n  timeRTC = timeRTC + now.second(), DEC;\r\n\r\n}\r\n<\/pre>\n<p><strong>getSD.ino<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\" data-enlighter-language=\"arduino\" data-enlighter-title=\"\">\r\n\/\/ MicroSD Card\r\n\/\/ MicroSD Setup\r\nvoid isSetupSD() {\r\n\r\n    \/\/ MicroSD Card\r\n   \/\/ See if the card is present and can be initialized:\r\n  if (!SD.begin(chipSelect)) {\r\n\r\n    \/\/ Don&#039;t do anything more:\r\n    while (1);\r\n    \r\n  }\r\n\r\n}\r\n\/\/ MicroSD Card\r\nvoid isSD() {\r\n\r\n  zzzzzz = &quot;&quot;;\r\n\r\n  \/\/DLE|EEPROM Unique ID|Version|Date|Time|filename|\r\n  zzzzzz = &quot;DLE|&quot; + uid + &quot;|&quot; + sver + &quot;|&quot; + String( dateRTC ) + &quot;|&quot; \r\n  + String( timeRTC ) + &quot;|&quot; + filename + &quot;|&quot;;\r\n\r\n  \/\/ Open the file. Note that only one file can be open at a time,\r\n  \/\/ so you have to close this one before opening another.\r\n  File dataFile = SD.open(&quot;dledata.txt&quot;, FILE_WRITE);\r\n\r\n  \/\/ If the file is available, write to it:\r\n  if (dataFile) {\r\n    \r\n    \/\/ Write\r\n    dataFile.println( zzzzzz );\r\n    dataFile.close();\r\n\r\n  }\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 LED Green\r\n  pinMode(iLEDGreen, OUTPUT);\r\n  \/\/ LED Green\r\n  digitalWrite(iLEDGreen, LOW);\r\n\r\n  \/\/ Delay\r\n  delay(100);\r\n  \r\n  \/\/ Setup RTC\r\n  isSetupRTC();\r\n  \r\n  \/\/ Delay\r\n  delay(100);\r\n\r\n  \/\/ MicroSD Card\r\n  isSetupSD();\r\n  \r\n  \/\/ Delay\r\n  delay(100);\r\n\r\n  \/\/ Button\r\n  pinMode(iButton,INPUT);\r\n\r\n  \/\/ Delay\r\n  delay( 100 );\r\n\r\n  \/\/ Setup Camera\r\n  isSetupCamera();\r\n\r\n  \/\/ Delay\r\n  delay( 100 );\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>People can contact us:<\/strong> https:\/\/www.donluc.com\/?page_id=1927<\/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>Hackster:<\/strong> https:\/\/www.hackster.io\/luc-paquin<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 #Camera #SD #RTC #EEPROM #Display #Elecrow #Project #Patreon #Electronics #Microcontrollers #IoT #Fritzing #Programming #Consultant &#8212;&#8212; &#8212;&#8212; &#8212;&#8212; &#8212;&#8212; Crowtail &#8211; Serial Camera The Crowtail Serial Camera is a JPEG color camera module easy for PC and MCU use. It has integrated image processing DSP to generate 320 x 240 or 640 &#8230; <a title=\"Project #15: Environment \u2013 Serial Camera \u2013 Mk29\" class=\"read-more\" href=\"https:\/\/www.donluc.com\/?p=4361\" aria-label=\"Read more about Project #15: Environment \u2013 Serial Camera \u2013 Mk29\">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,38,368,59,115,5,138,287,58,10],"tags":[6,92,102,4,87,369,19,107,85,24,9,27,377,33,34,108],"class_list":["post-4361","post","type-post","status-publish","format-standard","hentry","category-environment","category-arduino","category-digitalelectronics","category-elecrow","category-fritzing","category-e-mentor","category-microcontrollers","category-patreon","category-program","category-arduino-programming","category-projects","tag-arduino","tag-battery","tag-components","tag-consultant","tag-display","tag-elecrow","tag-electronics","tag-environment","tag-fritzing","tag-microcontroller","tag-programming","tag-projects-2","tag-serial-camera","tag-technology","tag-video-blog","tag-vlog"],"_links":{"self":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4361","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=4361"}],"version-history":[{"count":1,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4361\/revisions"}],"predecessor-version":[{"id":4366,"href":"https:\/\/www.donluc.com\/index.php?rest_route=\/wp\/v2\/posts\/4361\/revisions\/4366"}],"wp:attachment":[{"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=4361"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=4361"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.donluc.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=4361"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}