{"id":166,"date":"2020-03-20T07:44:14","date_gmt":"2020-03-20T06:44:14","guid":{"rendered":"https:\/\/www.geh-tech.com\/?p=166"},"modified":"2020-03-20T07:44:14","modified_gmt":"2020-03-20T06:44:14","slug":"tuto1-sd-to-microcontroleur","status":"publish","type":"post","link":"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/","title":{"rendered":"Tutoriel : connecter une carte SD \u00e0 un microcontr\u00f4leur part 1"},"content":{"rendered":"<p>Je ne vais pas refaire toute la documentation d&rsquo;une carte SD mais je vous pr&eacute;sente tout de suite comment faire pour connecter une carte SD &agrave; un microcontroleur. Les codes sont utilisables directement avec XC8 de Microchip.<\/p>\n<p>Cette article portera sur le hardware pour connecter physiquement la carte au micro et sur la partie software. A ce propose, c&rsquo;est une libraire extra-light que je vous propose car elle a besoin d&rsquo;environ 600 octets de RAM.<\/p>\n<h2>Le Hardware<\/h2>\n<div class=\"internal-linking-related-contents\"><a href=\"https:\/\/www.geh-tech.com\/index.php\/developpement-dun-blinder-led-dmx\/\" class=\"template-2\"><span class=\"cta\">Lire la suite<\/span><span class=\"postTitle\">D&eacute;veloppement d'un Blinder LED DMX<\/span><\/a><\/div><p>La carte SD fonctionne sous une tension max de 3.3V et utilise un port SPI. Il arrive que le PIC (ou le micro) soit aliment&eacute; en 5V (si si &ccedil;a arrive encore) et que du coup, &ccedil;a marche pas bien. Soit vous mettez un convertisseur de niveau (level shiffter) soit on le fait simple.<\/p>\n<p>Si on le fait simple, &ccedil;a donne:<\/p>\n<div class=\"internal-linking-related-contents\"><a href=\"https:\/\/www.geh-tech.com\/index.php\/recevoir-des-trames-dmx-avec-un-pic\/\" class=\"template-2\"><span class=\"cta\">Lire la suite<\/span><span class=\"postTitle\">Recevoir des trames DMX avec un PIC<\/span><\/a><\/div><p><a href=\"https:\/\/www.geh-tech.com\/wp-content\/uploads\/2020\/03\/SD_Card5VAdatper.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-178\" src=\"https:\/\/www.geh-tech.com\/wp-content\/uploads\/2020\/03\/SD_Card5VAdatper-1024x719.jpg\" alt=\"\" width=\"821\" height=\"576\"><\/a><\/p>\n<h2>Parler &agrave; une carte SD<\/h2>\n<p>Et oui, c&rsquo;est comme pour nous. Avant de se lancer dans un dialogue, il faut connaitre le mod&egrave;le de carte SD. Et &agrave; ce jour il y en a trois (la MMC, la V1 et la V2). Pour le savoir il faut lui poser des questions et en fonction des r&eacute;ponses on le d&eacute;couvre. La s&eacute;quence est la suivante:<\/p>\n<div class=\"internal-linking-related-contents\"><a href=\"https:\/\/www.geh-tech.com\/index.php\/reparation-dun-lumisky-lucy-play\/\" class=\"template-2\"><span class=\"cta\">Lire la suite<\/span><span class=\"postTitle\">R&eacute;paration d'un LUMISKY Lucy Play<\/span><\/a><\/div><p><a href=\"https:\/\/www.geh-tech.com\/wp-content\/uploads\/2017\/09\/SDCard_Initialisation.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-167\" src=\"https:\/\/www.geh-tech.com\/wp-content\/uploads\/2017\/09\/SDCard_Initialisation.jpg\" alt=\"\" width=\"916\" height=\"744\"><\/a><\/p>\n<p>Note : la documentation all&eacute;g&eacute;e est dispo <a href=\"https:\/\/www.sdcard.org\/downloads\/pls\/pdf\/index.php?p=Part1_Physical_Layer_Simplified_Specification_Ver6.00.jpg&amp;f=Part1_Physical_Layer_Simplified_Specification_Ver6.00.pdf&amp;e=EN_SS1\">ici<\/a><\/p>\n<div class=\"internal-linking-related-contents\"><a href=\"https:\/\/www.geh-tech.com\/index.php\/realisation-dun-repeteur-dmx-isole\/\" class=\"template-2\"><span class=\"cta\">Lire la suite<\/span><span class=\"postTitle\">R&eacute;alisation d'un r&eacute;p&eacute;teur DMX isol&eacute;<\/span><\/a><\/div><p>Normalement &agrave; la fin de cette s&eacute;quence, la carte est disponible pour demander une lecture ou une &eacute;criture (ou tout autre commande mais c&rsquo;est pas le sujet)<\/p>\n<p>&nbsp;<\/p>\n<h2>Passons au code<\/h2>\n<div class=\"internal-linking-related-contents\"><a href=\"https:\/\/www.geh-tech.com\/index.php\/amplificateur-de-microphone-vers-niveau-ligne\/\" class=\"template-2\"><span class=\"cta\">Lire la suite<\/span><span class=\"postTitle\">Amplificateur de microphone vers niveau ligne<\/span><\/a><\/div><p>Oui la proc&eacute;dure c&rsquo;est bien, le code c&rsquo;est mieux. Je ne vais pas pr&eacute;senter le bus SPI, wikipedia l&rsquo;a d&eacute;j&agrave; fait. Mais avant de pr&eacute;senter tout le code (qui est plus bas) il faut expliquer un peu le fonctionnement. Pour dialoguer avec la carte SD, il faut lui envoyer des commandes et observer si elle est disponible. Pour cela on a besoin de quelques fonctions et quelques param&egrave;tres.<\/p>\n<h3>Les commandes<\/h3>\n<p>Il y a toute une s&eacute;rie de commande qu&rsquo;on peut envoyer pour effectuer des actions sur la carte SD. Je me suis inspir&eacute; de l&rsquo;article de<a href=\"https:\/\/luckyresistor.me\/cat-protector\/software\/sdcard-2\/\"> LUCKY RESISTOR <\/a>pour l&rsquo;&eacute;num&eacute;ration. Voici la liste des commandes qu&rsquo;on utilise le plus souvent:<\/p>\n<pre class=\"theme:tomorrow-night lang: decode:true \" title=\"SD card command\">typedef enum {\n    Cmd_GoIdleState          = 0x40, \/\/ CMD0 Go idle state.\n    Cmd_SendOpCond           = 0x41, \/\/CMD1 Send Op Condition\n    Cmd_SwitchFunc           = 0x46, \/\/ CMD6 Check switchable function (mode 0) and swtches card function (mode 1)\n    Cmd_SendIfCond           = 0x48, \/\/ CMD8 Verify SD Memory Card interface operating condition.\n    Cmd_SendCSD              = 0x49, \/\/ CMD9 Ask to send the card specific data\n    Cmd_SendCID              = 0x4A, \/\/ CMD10 Ask to send the card identification\n    Cmd_StopTransmission     = 0x4C, \/\/ CMD11 Stop reading blocks.\n    Cmd_SendStatus           = 0x4D, \/\/ CMD13 Ask to send the status\n    Cmd_SetBlockLenght       = 0x50, \/\/ CMD16 Set the block length\n    Cmd_ReadSingleBlock      = 0x51, \/\/ CMD17 Read one block.\n    Cmd_ReadMultiBlock       = 0x52, \/\/ CMD18 Read multiple blocks.\n    Cmd_SetBlockCount        = 0x53, \/\/ CMD23 Set block count\n    Cmd_WriteSingleBlock     = 0x58, \/\/ CMD24 set address to write data\n    Cmd_WriteMultiBlock      = 0x59, \/\/ CMD25 write multiple blocks\n    Cmd_WriteCSD             = 0x5B, \/\/ CMD27 write CSD\n    Cmd_EraseStartBlock      = 0x60, \/\/ CMD32 Address of the first write block to be erased\n    Cmd_EraseEndBlock        = 0x61, \/\/ CMD33 Address of the last write block to be erased\n    Cmd_Erase                = 0x66, \/\/ CMD38 Erase the define range\n    Cmd_AppCmd               = 0x77, \/\/ CMD55 Defines to the card that the next cmd is an application specific cmd\n    Cmd_GenCmd               = 0x78, \/\/ CMD56 transfert DATA block or get DATA block\n    Cmd_ReadOCR              = 0x7A, \/\/ CMD58 Retrieve the OCR register.\n    Cmd_CRCOnOff             = 0x7B, \/\/ CMD59 Turns the CRC On or off\n    ACmd_SDStatus            = 0x4D, \/\/ ACMD13 Send the SD Status\n    ACmd_SendOpCond          = 0x69  \/\/ ACMD41 Sends host capacity support information and activates the card's initialization process.\n}Command;\n<\/pre>\n<div class=\"internal-linking-related-contents\"><a href=\"https:\/\/www.geh-tech.com\/index.php\/reparation-dun-marantz-pm350\/\" class=\"template-2\"><span class=\"cta\">Lire la suite<\/span><span class=\"postTitle\">Reparation d'un Marantz PM350<\/span><\/a><\/div><p>Il y en a d&rsquo;autre mais d&eacute;j&agrave; l&agrave; on ne les utilise pas toutes.<\/p>\n<h3>Arguments et r&eacute;ponses<\/h3>\n<p>Certaines commandes vont n&eacute;cessiter l&rsquo;envoi d&rsquo;arguments et une fois que la carte SD a effectu&eacute;e son traitement, elle va nous renvoyer les donn&eacute;es. Tout cela n&eacute;cessite 32 bits. Dans cette application, j&rsquo;ai besoin d&rsquo;optimiser la place en RAM et je vais donc utiliser la m&ecirc;me variable pour les arguments et les donn&eacute;es en r&eacute;ponses. Pour me simplifier l&rsquo;utilisation je vais &eacute;galement construire une structure qui me permettra d&rsquo;avoir soit un mot de 32bits soit un tableau de 4 octets. La d&eacute;claration est faite par:<\/p>\n<pre class=\"theme:tomorrow-night lang: decode:true\">typedef union {\n    unsigned long L32bit;\n    unsigned char C8bit[4];\n}type_32;\n\n\/* SD card argument 4octets allocation *\/\ntype_32                 SDArgument;<\/pre>\n<p>Quand on envoie des commandes, la carte SD retourne &eacute;galement un octet de status. Ce status indique s&rsquo;il y a eut des erreurs d&rsquo;adresse, de CRC, de s&eacute;quences ou si la carte en est attente. Cet octet est stock&eacute; dans la variable SDResponse.<\/p>\n<pre class=\"theme:tomorrow-night lang: decode:true\">unsigned char SDResponse;<\/pre>\n<h3>Etat de la carte<\/h3>\n<p>La carte peut &ecirc;tre dans diff&eacute;rents &eacute;tats et de diff&eacute;rents types. Pour que que le code soit un peu structur&eacute;, je vais cr&eacute;er un registre qui contiendra les diff&eacute;rents flag<\/p>\n<pre class=\"lang: decode:true \">typedef union {\n    unsigned char _Reg;\n    struct {\n        unsigned char FAILED:1; \/\/Flag that an error occurs\n        unsigned char SDV1  :1;\n        unsigned char SDV2  :1;\n        unsigned char MMC   :1;\n        unsigned char CCS   :1;\n        unsigned char READY :1;\n        unsigned char WP    :1; \/\/SD card in Write Protect\n        unsigned char CD    :1; \/\/SD card in slot\n    };\n}sd_flag;<\/pre>\n<h3>Activer et d&eacute;sactiver le bus SPI<\/h3>\n<p>Pour que le code soit un peu plus lisible, je vais cr&eacute;er une fonction SPI_SWITCH() qui va permettre d&rsquo;activer ou de d&eacute;sactiver le bus SPI<\/p>\n<pre class=\"lang: decode:true \">#define SPI_SWITCH(ONOFF) {SSPCONbits.SSPEN = ONOFF;}<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Je ne vais pas refaire toute la documentation d&rsquo;une carte SD mais je vous pr&eacute;sente tout de suite comment faire pour connecter une carte SD &agrave; un microcontroleur. Les codes sont utilisables directement avec XC8 de Microchip. Cette article portera sur le hardware pour connecter physiquement la carte au micro et sur la partie software.<\/p>\n","protected":false},"author":1,"featured_media":261,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[6,11,13],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Tutoriel : connecter une carte SD \u00e0 un microcontr\u00f4leur part 1 - GEH-TECH<\/title>\n<meta name=\"description\" content=\"Premi\u00e8re partie du tuto pour apprendre \u00e0 connecter un PIC sur une carte SD. Schema \u00e9lectrique et pr\u00e9sentation du code en C.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/\" \/>\n<meta property=\"og:locale\" content=\"fr_FR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Tutoriel : connecter une carte SD \u00e0 un microcontr\u00f4leur part 1 - GEH-TECH\" \/>\n<meta property=\"og:description\" content=\"Premi\u00e8re partie du tuto pour apprendre \u00e0 connecter un PIC sur une carte SD. Schema \u00e9lectrique et pr\u00e9sentation du code en C.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/\" \/>\n<meta property=\"og:site_name\" content=\"GEH-TECH\" \/>\n<meta property=\"article:published_time\" content=\"2020-03-20T06:44:14+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.geh-tech.com\/wp-content\/uploads\/2020\/03\/admin-ajax.php_-1.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"400\" \/>\n\t<meta property=\"og:image:height\" content=\"266\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"gehrhardt\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u00c9crit par\" \/>\n\t<meta name=\"twitter:data1\" content=\"gehrhardt\" \/>\n\t<meta name=\"twitter:label2\" content=\"Dur\u00e9e de lecture estim\u00e9e\" \/>\n\t<meta name=\"twitter:data2\" content=\"5 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/\",\"url\":\"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/\",\"name\":\"Tutoriel : connecter une carte SD \u00e0 un microcontr\u00f4leur part 1 - GEH-TECH\",\"isPartOf\":{\"@id\":\"https:\/\/wp2.geh-tech.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.geh-tech.com\/wp-content\/uploads\/2020\/03\/admin-ajax.php_-1.jpg\",\"datePublished\":\"2020-03-20T06:44:14+00:00\",\"dateModified\":\"2020-03-20T06:44:14+00:00\",\"author\":{\"@id\":\"https:\/\/wp2.geh-tech.com\/#\/schema\/person\/6b877e9009da307e8ec2924a5bc35c6a\"},\"description\":\"Premi\u00e8re partie du tuto pour apprendre \u00e0 connecter un PIC sur une carte SD. Schema \u00e9lectrique et pr\u00e9sentation du code en C.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/#breadcrumb\"},\"inLanguage\":\"fr-FR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/#primaryimage\",\"url\":\"https:\/\/www.geh-tech.com\/wp-content\/uploads\/2020\/03\/admin-ajax.php_-1.jpg\",\"contentUrl\":\"https:\/\/www.geh-tech.com\/wp-content\/uploads\/2020\/03\/admin-ajax.php_-1.jpg\",\"width\":400,\"height\":266},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\/\/wp2.geh-tech.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Tutoriel : connecter une carte SD \u00e0 un microcontr\u00f4leur part 1\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/wp2.geh-tech.com\/#website\",\"url\":\"https:\/\/wp2.geh-tech.com\/\",\"name\":\"GEH-TECH\",\"description\":\"Make system simple\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/wp2.geh-tech.com\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"fr-FR\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/wp2.geh-tech.com\/#\/schema\/person\/6b877e9009da307e8ec2924a5bc35c6a\",\"name\":\"gehrhardt\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"fr-FR\",\"@id\":\"https:\/\/wp2.geh-tech.com\/#\/schema\/person\/image\/\",\"url\":\"http:\/\/1.gravatar.com\/avatar\/d22d84b2d386f2f18f363964f8b3dee7?s=96&d=mm&r=g\",\"contentUrl\":\"http:\/\/1.gravatar.com\/avatar\/d22d84b2d386f2f18f363964f8b3dee7?s=96&d=mm&r=g\",\"caption\":\"gehrhardt\"},\"sameAs\":[\"http:\/\/wp2.geh-tech.com\"],\"url\":\"https:\/\/www.geh-tech.com\/index.php\/author\/gehrhardt\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Tutoriel : connecter une carte SD \u00e0 un microcontr\u00f4leur part 1 - GEH-TECH","description":"Premi\u00e8re partie du tuto pour apprendre \u00e0 connecter un PIC sur une carte SD. Schema \u00e9lectrique et pr\u00e9sentation du code en C.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/","og_locale":"fr_FR","og_type":"article","og_title":"Tutoriel : connecter une carte SD \u00e0 un microcontr\u00f4leur part 1 - GEH-TECH","og_description":"Premi\u00e8re partie du tuto pour apprendre \u00e0 connecter un PIC sur une carte SD. Schema \u00e9lectrique et pr\u00e9sentation du code en C.","og_url":"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/","og_site_name":"GEH-TECH","article_published_time":"2020-03-20T06:44:14+00:00","og_image":[{"width":400,"height":266,"url":"https:\/\/www.geh-tech.com\/wp-content\/uploads\/2020\/03\/admin-ajax.php_-1.jpg","type":"image\/jpeg"}],"author":"gehrhardt","twitter_card":"summary_large_image","twitter_misc":{"\u00c9crit par":"gehrhardt","Dur\u00e9e de lecture estim\u00e9e":"5 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/","url":"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/","name":"Tutoriel : connecter une carte SD \u00e0 un microcontr\u00f4leur part 1 - GEH-TECH","isPartOf":{"@id":"https:\/\/wp2.geh-tech.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/#primaryimage"},"image":{"@id":"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/#primaryimage"},"thumbnailUrl":"https:\/\/www.geh-tech.com\/wp-content\/uploads\/2020\/03\/admin-ajax.php_-1.jpg","datePublished":"2020-03-20T06:44:14+00:00","dateModified":"2020-03-20T06:44:14+00:00","author":{"@id":"https:\/\/wp2.geh-tech.com\/#\/schema\/person\/6b877e9009da307e8ec2924a5bc35c6a"},"description":"Premi\u00e8re partie du tuto pour apprendre \u00e0 connecter un PIC sur une carte SD. Schema \u00e9lectrique et pr\u00e9sentation du code en C.","breadcrumb":{"@id":"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/#breadcrumb"},"inLanguage":"fr-FR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/"]}]},{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/#primaryimage","url":"https:\/\/www.geh-tech.com\/wp-content\/uploads\/2020\/03\/admin-ajax.php_-1.jpg","contentUrl":"https:\/\/www.geh-tech.com\/wp-content\/uploads\/2020\/03\/admin-ajax.php_-1.jpg","width":400,"height":266},{"@type":"BreadcrumbList","@id":"https:\/\/www.geh-tech.com\/index.php\/tuto1-sd-to-microcontroleur\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/wp2.geh-tech.com\/"},{"@type":"ListItem","position":2,"name":"Tutoriel : connecter une carte SD \u00e0 un microcontr\u00f4leur part 1"}]},{"@type":"WebSite","@id":"https:\/\/wp2.geh-tech.com\/#website","url":"https:\/\/wp2.geh-tech.com\/","name":"GEH-TECH","description":"Make system simple","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/wp2.geh-tech.com\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"fr-FR"},{"@type":"Person","@id":"https:\/\/wp2.geh-tech.com\/#\/schema\/person\/6b877e9009da307e8ec2924a5bc35c6a","name":"gehrhardt","image":{"@type":"ImageObject","inLanguage":"fr-FR","@id":"https:\/\/wp2.geh-tech.com\/#\/schema\/person\/image\/","url":"http:\/\/1.gravatar.com\/avatar\/d22d84b2d386f2f18f363964f8b3dee7?s=96&d=mm&r=g","contentUrl":"http:\/\/1.gravatar.com\/avatar\/d22d84b2d386f2f18f363964f8b3dee7?s=96&d=mm&r=g","caption":"gehrhardt"},"sameAs":["http:\/\/wp2.geh-tech.com"],"url":"https:\/\/www.geh-tech.com\/index.php\/author\/gehrhardt\/"}]}},"_links":{"self":[{"href":"https:\/\/www.geh-tech.com\/index.php\/wp-json\/wp\/v2\/posts\/166"}],"collection":[{"href":"https:\/\/www.geh-tech.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.geh-tech.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.geh-tech.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.geh-tech.com\/index.php\/wp-json\/wp\/v2\/comments?post=166"}],"version-history":[{"count":0,"href":"https:\/\/www.geh-tech.com\/index.php\/wp-json\/wp\/v2\/posts\/166\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.geh-tech.com\/index.php\/wp-json\/wp\/v2\/media\/261"}],"wp:attachment":[{"href":"https:\/\/www.geh-tech.com\/index.php\/wp-json\/wp\/v2\/media?parent=166"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.geh-tech.com\/index.php\/wp-json\/wp\/v2\/categories?post=166"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.geh-tech.com\/index.php\/wp-json\/wp\/v2\/tags?post=166"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}