{"id":20202,"date":"2026-09-14T22:52:28","date_gmt":"2026-09-14T22:52:28","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/mission-to-mars-pycon-2014-2\/"},"modified":"2026-09-14T22:52:28","modified_gmt":"2026-09-14T22:52:28","slug":"mission-to-mars-pycon-2014","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mission-to-mars-pycon-2014\/","title":{"rendered":"Mission zum Mars \u2013 PyCon 2014"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Wir hatten gro\u00dfen Spa\u00df auf der PyCon 2013 mit unserer\u00a0<a href=\"\/?blog_category=hardware-fun-building-an-email-controlled-gun-for\" target=\"_tabs\" rel=\"noopener noreferrer\">gigantischen E-Mail-gesteuerten Nerf-Gun<\/a>. Sie war ein absoluter Publikumsmagnet, und f\u00fcr die PyCon 2014 wollten wir etwas noch Beeindruckenderes machen. Daher lag es nat\u00fcrlich auf der Hand, dass wir mit \u2026 einem Staubsauger beginnen sollten. Dieser Blog zeigt Ihnen, wie wir aus einem Staubsauger einen Mars Rover gemacht haben und dieses Jahr wieder eine gro\u00dfartige Zeit auf der PyCon hatten.<\/p>\n\n\n\r\n    <nav data-content-type=\"longform\" class=\"toc-block longform-spacings px-5 py-6 px-md-6 px-lg-7 py-md-7 bg-light fs-sm rounded-lg\" aria-labelledby=\"toc-title-8315\"><p class=\"h5 m-0\" id=\"toc-title-8315\">Inhaltsverzeichnis<\/p><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">01<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#von-bescheidenen-anfaengen-eine-mission-zum-mars\">Von bescheidenen Anf\u00e4ngen \u2026 eine Mission zum Mars<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">02<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#wie-es-funktioniert\">Wie es funktioniert<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">03<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#wir-werden-mehr-legosteine-brauchen\">Wir werden mehr Legosteine brauchen<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">04<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#liebe-tsa\">Liebe TSA,<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">05<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#neu-und-verbessert-aber-nicht-ganz-freiwillig\">Neu und verbessert \u2026 aber nicht ganz freiwillig<\/a><\/div><\/div><\/nav>\n\n\n<h2 class=\"wp-block-heading\"><strong>Von bescheidenen Anf\u00e4ngen \u2026 eine Mission zum Mars<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Anton, unser hauseigener Elektrotechniker und heutiger Softwareentwickler, hatte sich einen\u00a0<a href=\"http:\/\/www.neatorobotics.com\/products\/\">Neato Saugroboter\u00a0<\/a>gekauft, nachdem er ausf\u00fchrlich recherchiert und den Neato mit dem beliebteren iRobot Roomba verglichen hatte. Der entscheidende Faktor? Neato-Staubsauger verf\u00fcgen \u00fcber eine API, \u00fcber die sich das Ger\u00e4t per Coding steuern l\u00e4sst. Genau das, was wir f\u00fcr unsere Mission zum Mars brauchten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Eines der vielen Dinge, die wir an der Arbeit bei Rackspace \u2013 dem Unternehmen, das Mailgun 2012 \u00fcbernommen hat \u2013 sch\u00e4tzen, ist der monatliche Hackday. An diesem Tag kommt das gesamte Technikteam im B\u00fcro zusammen, um an Themen zu arbeiten, die es interessant findet, unabh\u00e4ngig davon, ob es sich um ein offizielles Rackspace-Projekt handelt oder nicht. Wir zogen ein paar Kollegen von Rackspace hinzu und verbrachten den Tag damit, am Code zu arbeiten, mit dem wir den Roboter steuern w\u00fcrden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wir wussten, dass wir den Leuten die M\u00f6glichkeit geben wollten, Befehle per E-Mail als Steuerungsmechanismus an den Roboter zu senden, und dass der Roboter in der Lage sein sollte, sich vorw\u00e4rts und r\u00fcckw\u00e4rts zu bewegen sowie sich um 360 Grad zu drehen. Au\u00dferdem wollten wir in der Lage sein, \u201eProben\u201c von der Marsoberfl\u00e4che zu nehmen \u2013 also den Staubsauger einzuschalten \u2013 und mit der Kamera, die am zuk\u00fcnftigen Hauptinstrumententurm des Rovers angebracht war, ein Bild aufzunehmen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wie es funktioniert<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Viele Details unseres diesj\u00e4hrigen PyCon-Spiels waren anders, aber eine Sache hatten wir aus dem letzten Jahr gelernt:<br>Der Netzwerkzugang am Veranstaltungsort der Konferenz k\u00f6nnte schwierig werden. Die IP-Adresse des Raspberry Pi ist m\u00f6glicherweise nicht \u00f6ffentlich zug\u00e4nglich, sodass ein HTTP-POST-Request dorthin eventuell nicht funktioniert.<br>&#8211;\u00a0<a href=\"https:\/\/68838d2e8987eb65e005d837--mailgun.netlify.app\/blog\/hardware-fun-building-an-email-controlled-gun-for\">Mailgun auf der PyCon 2013<\/a><br>Um dies zu l\u00f6sen, verwendeten wir Redis. So stellten wir sicher, dass der Rover Befehle vom Server abrufen konnte, solange der Raspberry Pi \u00fcber eine Internetverbindung verf\u00fcgte. Hier ist das entsprechende Konzept:<br><code>+ - - - - - + +-----------+ +------------+ +--------------+ | | | | | | | | SMTP | | HTTP | | | Email client +-----&gt; | Mailgun +-----&gt; | Web server | | | | | route | | | +--------------+ | | | | | | | | +-----+------+ +-----------+ | | | Redis lpush | (local) | | | v | +--------------+ +------------+ | | Redis brpop | | | | | Raspberry Pi |  | Raspery Pi Camera | | GPIO +-------------------+ +-------------------&gt; | Brick Pi | | serial port +-------------------+ +-------------------&gt; | Neato Vac | +-------------------+<\/code><br>Nachdem dies gel\u00f6st war, arbeiteten wir an den Kernsteuerungen.<br>Unten finden Sie Beispiele des Codes, den wir zur tats\u00e4chlichen Steuerung des Roboters verwendet haben:<br><em>Kameraturm mit BrickPi steuern:<\/em><\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    def init(host, password): &quot;&quot;&quot;Init the required components.&quot;&quot;&quot; print &quot;Init BrickPi&quot; BrickPiSetup() BrickPi.MotorEnable[PORT_D] = 1 def camera_control(command, mission_control_address): print &quot;Camera control module received:&quot;, command if command in (&quot;up&quot;, &quot;down&quot;): if command &quot;up&quot;: BrickPi.MotorSpeed[PORT_D] = -100 elif command &quot;down&quot;: # despite the fact that the surface gravity of Mars is only # about 38% of Earth&#039;s there is still less force required to # bring the camera down BrickPi.MotorSpeed[PORT_D] = 50 BrickPiUpdateValues() sleep(0.5) # stop the motor BrickPi.MotorSpeed[PORT_D] = 0 BrickPiUpdateValues() elif command == &quot;take_picture&quot;: camera.capture(file_name) send_picture(file_name, mission_control_address) def send_picture(file_name, mission_control_address) &quot;&quot;&quot;Send picture back to the Mission Control Center.&quot;&quot;&quot; r = requests.post( &quot;https:\/\/api.mailgun.net\/v2\/mailgun.net\/messages&quot;, auth=(&quot;api&quot;, &quot;***&quot;), files=[(&quot;attachment&quot;, open(file_name))], data={&quot;from&quot;: &quot;Mars Rover &quot;, &quot;to&quot;: mission_control_address, &quot;cc&quot;: &quot;nsa@mailgun.net&quot;, # oops &quot;subject&quot;: &quot;A message from Mars&quot;, &quot;text&quot;: &quot;The picture of the surface is attached!&quot;})\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\"><em>Staubsauger steuern:<\/em><\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    def init(host, password): print &quot;Init Vacuum Base!!!&quot; vac_port = serial.Serial(&quot;\/dev\/ttyACM1&quot;) def vac_run_command(command, read_response=True): print &quot;Vacuum base control module received:&quot;, command try: vac_port.write(command) if not read_response: # provided command doesn&#039;t have a response return return read_response() except: # fault tolerance for the WIN! reconnect()\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\"><em>POST-Anfragen von Mailgun akzeptieren:<\/em><\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    @app.route(&#039;\/mission_control&#039;, methods=[&#039;POST&#039;]) def mission_control(): &quot;&quot;&quot;Commands from Mailgun arrive here.&quot;&quot;&quot; command_message = request.form[&#039;stripped-text&#039;] from_ = request.form[&#039;From&#039;] for command in parse(command_message): robot.run(command, from_) return &quot;10-4&quot;\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Wir werden mehr Legosteine brauchen<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Nachdem die Software fertig war, machten wir uns daran, unseren Staubsauger in einen Mars Rover zu verwandeln.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wir begannen damit, nach dem besten Ort zu suchen, um einfarbige Legosteine in gro\u00dfen Mengen zu kaufen. Wir brauchten eine Menge schwarze, graue und wei\u00dfe Legosteine, um einen authentischen Rover zu bauen. Es stellte sich heraus, dass\u00a0<a href=\"http:\/\/www.ebay.com\/sch\/i.html?_trksid=p2053587.m570.l1313.TR0.TRC0.H0.Xbulk+white+legos&amp;_nkw=bulk+white+legos&amp;_sacat=0&amp;_from=R40\">Ebay der beste Ort ist, um Legosteine zu kaufen<\/a>, oft kiloweise. 118\u00a0$ sp\u00e4ter waren wir bereit loszulegen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"367\" height=\"489\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-1.png\" alt=\"Zwei M\u00e4nner und ein Kind arbeiten zusammen an einem langen Tisch, der mit Haufen sortierter Bausteine bedeckt ist\" class=\"wp-image-11528\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-1.png 367w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-1-225x300.png 225w\" sizes=\"(max-width: 367px) 100vw, 367px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Wir stellten ein erstklassiges Technikteam f\u00fcr die Mission zusammen, darunter der vierj\u00e4hrige Sohn eines Mailgunners, und legten alle Legosteine bereit, die den Rover-K\u00f6rper bilden sollten. Hier sehen Sie Anton, Ralph und Luca beim Aufbau. Nachdem wir Prototypen einiger Hauptkomponenten erstellt hatten, legten wir unser endg\u00fcltiges Design fest. Der Rover sollte eine schwenkbare Kamera (angetrieben von einem Lego-Mindstorms-Motor) haben, montiert auf einem Kontrollturm mit integriertem\u00a0<a href=\"http:\/\/www.raspberrypi.org\/\">Raspberry Pi<\/a>,\u00a0<a href=\"http:\/\/www.dexterindustries.com\/BrickPi\/\">BrickPi<\/a>\u00a0und Batterie-Backup. Ein gro\u00dfer Teil des Rover-Geh\u00e4uses sollte zudem mit einem funktionierenden USB-Solarpanel abgedeckt werden.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"490\" height=\"368\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-2.png\" alt=\"Whiteboard-Diagramm, das die Draufsicht und R\u00fcckansicht eines Roboters mit Labels f\u00fcr Solarpanel, Kamera und Raspberry Pi zeigt\" class=\"wp-image-11532\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-2.png 490w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-2-300x225.png 300w\" sizes=\"(max-width: 490px) 100vw, 490px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Ein paar Fehltritte, einige Lacher und wenige Stunden sp\u00e4ter waren wir auf dem besten Weg, einen zusammengebauten Roboter f\u00fcr die Hackday-Pr\u00e4sentation zu haben, die zuf\u00e4llig f\u00fcr denselben Tag im Rackspace-B\u00fcro angesetzt war.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"367\" height=\"489\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-3.png\" alt=\"Ein Mann arbeitet an einer komplexen LEGO-Konstruktion, die auf der Basis eines Roboterstaubsaugers aufgebaut ist\" class=\"wp-image-11536\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-3.png 367w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-3-225x300.png 225w\" sizes=\"(max-width: 367px) 100vw, 367px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Und hier ist eine Nahaufnahme des Hauptkontrollturms. Das Ding mit dem Mailgun-Aufkleber ist das Batterie-Backup. Der Raspberry Pi und der BrickPi sind darauf montiert, und oben auf dem Foto ist der Lego-Motor zu erkennen. Die Raspberry-Pi-Kamera befindet sich knapp au\u00dferhalb des Bildausschnitts.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"367\" height=\"489\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-4.png\" alt=\"Ein aus LEGO-Steinen und elektronischen Komponenten gebauter Roboter mit einem Mailgun-Logo auf der Basis\" class=\"wp-image-11540\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-4.png 367w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-4-225x300.png 225w\" sizes=\"(max-width: 367px) 100vw, 367px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Hier ist eine R\u00fcckansicht des Rovers. Ein Gro\u00dfteil des dekorativen Chroms wurde von unserem j\u00fcngsten Missionsmitglied hinzugef\u00fcgt, einschlie\u00dflich der zwei Lego-M\u00e4nnchen. Eines davon ist ein Seemann und das andere ein Pirat. Dies sollte sich als nur ein Teil der Mission herausstellen, der gro\u00dfe Kreativit\u00e4t erforderte, wie Sie sp\u00e4ter sehen werden.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"490\" height=\"368\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-5.png\" alt=\"Zwei LEGO-Minifiguren stehen auf dem Deck eines ma\u00dfgeschneiderten LEGO-Schiffsmodells\" class=\"wp-image-11544\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-5.png 490w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-5-300x225.png 300w\" sizes=\"(max-width: 490px) 100vw, 490px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Wir beendeten einen langen Tag, indem wir den Rover in unserem B\u00fcro vorf\u00fchrten. Hier \u00fcberpr\u00fcft Anton den fertigen Rover.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"490\" height=\"368\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-6.png\" alt=\"Ein Mann hockt und zeigt auf einen kleinen Roboter, w\u00e4hrend eine Gruppe von Menschen zuschaut\" class=\"wp-image-11548\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-6.png 490w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-6-300x225.png 300w\" sizes=\"(max-width: 490px) 100vw, 490px\" \/><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Liebe TSA,<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wir wussten, dass wir den Rover nicht mit ins Flugzeug nach Montreal nehmen konnten. Zugegeben, er sieht aus wie eine Bombe, und wir wollten keine ausgedehnte Konversation mit einem Team von TSA-Agenten f\u00fchren. Also packten wir den Rover vorsichtig in einen gro\u00dfen Koffer und sch\u00fctzten ihn mit etwa 30 sch\u00f6nen, weichen 50\/50-T-Shirts von American Apparel, die wir auf der Konferenz an Leute verteilen w\u00fcrden, die den Rover eine Runde steuerten. Au\u00dferdem legten wir einen Zettel f\u00fcr die TSA bei, um sie wissen zu lassen, dass es sich um einen Roboter handelte, der mit einem Raspberry Pi gebaut wurde. Wir waren uns sicher, dass sie die Tasche \u00f6ffnen und nachsehen w\u00fcrden, aber wir hatten nicht damit gerechnet, wie genau sie hinsehen w\u00fcrden.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong>Neu und verbessert \u2026 aber nicht ganz freiwillig<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Als wir in unserem Hotel in Montreal ankamen und den Koffer \u00f6ffneten, dachten wir zuerst: Verdammt, sie m\u00fcssen den Koffer wirklich herumgeworfen haben, denn viele Teile waren komplett auseinandergefallen. Bei n\u00e4herer Betrachtung wurde jedoch klar, dass die TSA den Rover buchst\u00e4blich Stein f\u00fcr Stein auseinandergenommen hatte. Einige Komponenten waren noch intakt, aber die komplexesten Strukturen, wie der Rahmen und der Kontrollturm, waren akribisch zerlegt worden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mit Kaffee in der Hand und zwei Stunden vor Konferenzer\u00f6ffnung breiteten wir die Legosteine erneut auf einem Tisch aus und begannen mit dem erneuten Zusammenbau. Das Problem dabei war, dass wir keine zus\u00e4tzlichen Legosteine mitgebracht hatten. Da wir das urspr\u00fcngliche Design improvisiert hatten, gab es keinen Bauplan, dem wir folgen konnten. Daher musste jeder Legostein exakt wieder so platziert werden wie zuvor, wenn wir das Originaldesign beibehalten wollten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Es versteht sich von selbst, dass wir uns letztendlich f\u00fcr ein leicht abweichendes Design entschieden haben \u2013 eines, das am Ende rund 30 % weniger Legosteine ben\u00f6tigte, um dasselbe funktionale Design zu erzielen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"490\" height=\"368\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-7.png\" alt=\"Ein Laptop, Smartphone, Solarpanel sowie verschiedene elektronische und Kunststoffkomponenten auf einem wei\u00dfen Tisch\" class=\"wp-image-11552\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-7.png 490w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-7-300x225.png 300w\" sizes=\"(max-width: 490px) 100vw, 490px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Obwohl es zun\u00e4chst frustrierend war, erwies sich der Wiederaufbau des Rovers als riesiger Spa\u00df. Wir unterhielten uns im Laufe des Morgens mit unz\u00e4hligen Lego-Enthusiasten, und einige sprangen sogar ein und halfen ein wenig. Gegen Mittag war unser Mars Rover wieder voll einsatzf\u00e4hig und bot eine gro\u00dfartige Gelegenheit, die Python-Community kennenzulernen. Zu unseren Lieblings-Hackern, die wir trafen, geh\u00f6rten die ganz Jungen, die zum ersten Mal auf der PyCon waren. Hier ist eine Aufnahme, die mit der eigenen Kamera des Rovers gemacht wurde, nachdem unser junger Freund den Bot gesteuert hatte, indem er Befehle per E-Mail vom Handy seines Vaters gesendet hatte. Wir w\u00fcrden sagen, die Mission war ein Erfolg.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" width=\"540\" height=\"360\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-8.png\" alt=\"Ein Mann und ein kleiner Junge mit Schl\u00fcsselb\u00e4ndern l\u00e4cheln f\u00fcr ein Foto in einer gro\u00dfen Veranstaltungshalle\" class=\"wp-image-11556\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-8.png 540w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2019\/07\/image-8-300x200.png 300w\" sizes=\"(max-width: 540px) 100vw, 540px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Das ist also die Geschichte unseres Mars Rovers. Was auch passiert, auf der PyCon haben wir immer gro\u00dfen Spa\u00df. Wir k\u00f6nnen es kaum erwarten, das Ganze n\u00e4chstes Jahr noch einmal zu machen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Bis dann. Viel Spa\u00df beim Versenden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ihr Mailgun-Team.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Wir hatten gro\u00dfen Spa\u00df auf der PyCon 2013 mit unserer gigantischen E-Mail-gesteuerten Nerf-Gun. Sie war ein absoluter Publikumsmagnet, und f\u00fcr die PyCon 2014 wollten wir etwas noch Beeindruckenderes machen. Daher lag es nat\u00fcrlich auf der Hand, dass wir mit \u2026 einem Staubsauger beginnen sollten. Dieser Blog zeigt Ihnen, wie wir aus einem Staubsauger einen Mars Rover gemacht haben und dieses Jahr wieder eine gro\u00dfartige Zeit auf der PyCon hatten.<\/p>\n","protected":false},"author":13,"featured_media":3952,"menu_order":0,"template":"","meta":{"_acf_changed":true,"footnotes":""},"blog_category":[19],"class_list":["post-20202","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog_category-dev-life"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Mission zum Mars \u2013 PyCon 2014 - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"Wir hatten gro\u00dfen Spa\u00df auf der PyCon 2013 mit unserer gigantischen E-Mail-gesteuerten Nerf-Gun. Sie war ein absoluter Publikumsmagnet, und f\u00fcr die PyCon 2014 wollten wir etwas noch Beeindruckenderes machen.\" \/>\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.mailgun.com\/de\/blog\/dev-life\/mission-to-mars-pycon-2014\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Mission zum Mars \u2013 PyCon 2014 - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Wir hatten gro\u00dfen Spa\u00df auf der PyCon 2013 mit unserer gigantischen E-Mail-gesteuerten Nerf-Gun. Sie war ein absoluter Publikumsmagnet, und f\u00fcr die PyCon 2014 wollten wir etwas noch Beeindruckenderes machen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mission-to-mars-pycon-2014\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"448\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"8\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mission-to-mars-pycon-2014\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mission-to-mars-pycon-2014\\\/\",\"name\":\"Mission zum Mars \u2013 PyCon 2014 - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mission-to-mars-pycon-2014\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mission-to-mars-pycon-2014\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"datePublished\":\"2026-09-14T22:52:28+00:00\",\"description\":\"Wir hatten gro\u00dfen Spa\u00df auf der PyCon 2013 mit unserer gigantischen E-Mail-gesteuerten Nerf-Gun. Sie war ein absoluter Publikumsmagnet, und f\u00fcr die PyCon 2014 wollten wir etwas noch Beeindruckenderes machen.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mission-to-mars-pycon-2014\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mission-to-mars-pycon-2014\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mission-to-mars-pycon-2014\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-Dev-Life.png\",\"width\":720,\"height\":448},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/dev-life\\\/mission-to-mars-pycon-2014\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Mission zum Mars \u2013 PyCon 2014\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"description\":\"Leistungsstarke Transaktions-E-Mail-APIs, mit denen Sie E-Mails senden, empfangen und nachverfolgen k\u00f6nnen, speziell f\u00fcr Entwickler konzipiert. Erfahren Sie noch heute mehr!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#organization\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"width\":512,\"height\":512,\"caption\":\"Transactional Email API Service For Developers | Mailgun\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Mission zum Mars \u2013 PyCon 2014 - Transactional Email API Service For Developers | Mailgun","description":"Wir hatten gro\u00dfen Spa\u00df auf der PyCon 2013 mit unserer gigantischen E-Mail-gesteuerten Nerf-Gun. Sie war ein absoluter Publikumsmagnet, und f\u00fcr die PyCon 2014 wollten wir etwas noch Beeindruckenderes machen.","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.mailgun.com\/de\/blog\/dev-life\/mission-to-mars-pycon-2014\/","og_locale":"de_DE","og_type":"article","og_title":"Mission zum Mars \u2013 PyCon 2014 - Transactional Email API Service For Developers | Mailgun","og_description":"Wir hatten gro\u00dfen Spa\u00df auf der PyCon 2013 mit unserer gigantischen E-Mail-gesteuerten Nerf-Gun. Sie war ein absoluter Publikumsmagnet, und f\u00fcr die PyCon 2014 wollten wir etwas noch Beeindruckenderes machen.","og_url":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mission-to-mars-pycon-2014\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","og_image":[{"width":720,"height":448,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"8\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mission-to-mars-pycon-2014\/","url":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mission-to-mars-pycon-2014\/","name":"Mission zum Mars \u2013 PyCon 2014 - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mission-to-mars-pycon-2014\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mission-to-mars-pycon-2014\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","datePublished":"2026-09-14T22:52:28+00:00","description":"Wir hatten gro\u00dfen Spa\u00df auf der PyCon 2013 mit unserer gigantischen E-Mail-gesteuerten Nerf-Gun. Sie war ein absoluter Publikumsmagnet, und f\u00fcr die PyCon 2014 wollten wir etwas noch Beeindruckenderes machen.","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mission-to-mars-pycon-2014\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mission-to-mars-pycon-2014\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mission-to-mars-pycon-2014\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-Dev-Life.png","width":720,"height":448},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/de\/blog\/dev-life\/mission-to-mars-pycon-2014\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/de\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.mailgun.com\/de\/blog\/"},{"@type":"ListItem","position":3,"name":"Mission zum Mars \u2013 PyCon 2014"}]},{"@type":"WebSite","@id":"https:\/\/www.mailgun.com\/de\/#website","url":"https:\/\/www.mailgun.com\/de\/","name":"Transactional Email API Service For Developers | Mailgun","description":"Leistungsstarke Transaktions-E-Mail-APIs, mit denen Sie E-Mails senden, empfangen und nachverfolgen k\u00f6nnen, speziell f\u00fcr Entwickler konzipiert. Erfahren Sie noch heute mehr!","publisher":{"@id":"https:\/\/www.mailgun.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mailgun.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.mailgun.com\/de\/#organization","name":"Transactional Email API Service For Developers | Mailgun","url":"https:\/\/www.mailgun.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","width":512,"height":512,"caption":"Transactional Email API Service For Developers | Mailgun"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/20202","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/users\/13"}],"version-history":[{"count":1,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/20202\/revisions"}],"predecessor-version":[{"id":20203,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/20202\/revisions\/20203"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media\/3952"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media?parent=20202"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog_category?post=20202"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}