{"id":294,"date":"2013-04-09T23:50:24","date_gmt":"2013-04-09T21:50:24","guid":{"rendered":"http:\/\/www.jensd.de\/wordpress\/?p=294"},"modified":"2013-12-19T12:44:22","modified_gmt":"2013-12-19T11:44:22","slug":"javafx-on-raspberry-pi-cpio-controller","status":"publish","type":"post","link":"https:\/\/www.jensd.de\/wordpress\/?p=294","title":{"rendered":"JavaFX on Raspberry Pi: GPIO Controller (Part1)"},"content":{"rendered":"<p>I have started a new leisure time project with my Raspberry Pi.<br \/>\nTarget: control the outside lighting around my house (yes, magic words these days: HOME AUTOMATION).<\/p>\n<p>But let&#8217;s see how far I will get ;-).<\/p>\n<p>Until now I created a very simple JavaFX UI to control and test the 8 GPIO-out pin states:<\/p>\n<p><a href=\"http:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/GPIOControlUI.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"365\" data-permalink=\"https:\/\/www.jensd.de\/wordpress\/?attachment_id=365\" data-orig-file=\"https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/GPIOControlUI.png\" data-orig-size=\"800,464\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"GPIO Control UI\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/GPIOControlUI-300x174.png\" data-large-file=\"https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/GPIOControlUI.png\" tabindex=\"0\" role=\"button\" src=\"http:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/GPIOControlUI.png\" alt=\"GPIO Control UI\" width=\"800\" height=\"464\" class=\"aligncenter size-full wp-image-365\" srcset=\"https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/GPIOControlUI.png 800w, https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/GPIOControlUI-300x174.png 300w\" sizes=\"(max-width: 800px) 100vw, 800px\" \/><\/a><\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_61 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<p class=\"ez-toc-title\">Table of Contents<\/p>\n<label for=\"ez-toc-cssicon-toggle-item-69e2183948b81\" class=\"ez-toc-cssicon-toggle-label\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/label><input type=\"checkbox\"  id=\"ez-toc-cssicon-toggle-item-69e2183948b81\"  aria-label=\"Toggle\" \/><nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.jensd.de\/wordpress\/?p=294\/#But_first_lets_have_a_look_at_the_setup\" title=\"But first lets have a look at the setup:\">But first lets have a look at the setup:<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.jensd.de\/wordpress\/?p=294\/#Used_Hardware\" title=\"Used Hardware\">Used Hardware<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.jensd.de\/wordpress\/?p=294\/#System_setup\" title=\"System setup\">System setup<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.jensd.de\/wordpress\/?p=294\/#Construction\" title=\"Construction\">Construction<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.jensd.de\/wordpress\/?p=294\/#And_Action\" title=\"And: Action!\">And: Action!<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-1'><a class=\"ez-toc-link ez-toc-heading-6\" href=\"https:\/\/www.jensd.de\/wordpress\/?p=294\/#Part2\" title=\"Part2\">Part2<\/a><\/li><\/ul><\/nav><\/div>\n<h1><span class=\"ez-toc-section\" id=\"But_first_lets_have_a_look_at_the_setup\"><\/span>But first lets have a look at the setup:<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<h1><span class=\"ez-toc-section\" id=\"Used_Hardware\"><\/span>Used Hardware<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<ul>\n<li>Raspberry Pi: <a href=\"http:\/\/www.exp-tech.de\/Mainboards\/raspberry-pi.html\" target=\"_blank\">get one here<\/a><\/li>\n<li>Adafruit Pi Cobbler Breakout Kit for Raspberry Pi: <a href=\"http:\/\/www.exp-tech.de\/Shields\/Adafruit-Pi-Cobbler-Breakout-Kit-for-Raspberry-Pi.html\" target=\"_blank\">get it here<\/a><\/li>\n<li>Arduino Sidekick Basic Kit: <a href=\"http:\/\/www.exp-tech.de\/Zubehoer\/Arduino-Sidekick-Basic-Kit.html\" target=\"_blank\">get it here<\/a><\/li>\n<\/ul>\n<h1><span class=\"ez-toc-section\" id=\"System_setup\"><\/span>System setup<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<ul>\n<li>Wheezy Image: <a href=\"http:\/\/www.raspberrypi.org\/downloads\" target=\"_blank\">http:\/\/www.raspberrypi.org\/downloads<\/a><\/li>\n<li>Very good reference to setup the SD-Card: <a href=\"http:\/\/elinux.org\/RPi_Easy_SD_Card_Setup\" target=\"_blank\">http:\/\/elinux.org\/RPi_Easy_SD_Card_Setup<\/a><\/li>\n<li>Install JDK 8 (with JavaFX) for ARM Early Access: <a href=\"http:\/\/jdk8.java.net\/fxarmpreview\/javafx-arm-developer-preview.html\" target=\"_blank\">http:\/\/jdk8.java.net\/fxarmpreview\/javafx-arm-developer-preview.html<\/a><\/li>\n<\/ul>\n<h1><span class=\"ez-toc-section\" id=\"Construction\"><\/span>Construction<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p>So I armed myself with a soldering gun, brazed the <code>Adafruit Pi Cobbler<\/code> and sticked together the electical parts on the bread board according to the pin numbering:<\/p>\n<p><a href=\"https:\/\/projects.drogon.net\/raspberry-pi\/wiringpi\/pins\/\" target=\"_blank\">WiringPi pin number scheme<\/a><\/p>\n<p><a href=\"http:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/gpio-control-example.png\"><img loading=\"lazy\" decoding=\"async\" data-attachment-id=\"342\" data-permalink=\"https:\/\/www.jensd.de\/wordpress\/?attachment_id=342\" data-orig-file=\"https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/gpio-control-example.png\" data-orig-size=\"700,611\" data-comments-opened=\"0\" data-image-meta=\"{&quot;aperture&quot;:&quot;0&quot;,&quot;credit&quot;:&quot;&quot;,&quot;camera&quot;:&quot;&quot;,&quot;caption&quot;:&quot;&quot;,&quot;created_timestamp&quot;:&quot;0&quot;,&quot;copyright&quot;:&quot;&quot;,&quot;focal_length&quot;:&quot;0&quot;,&quot;iso&quot;:&quot;0&quot;,&quot;shutter_speed&quot;:&quot;0&quot;,&quot;title&quot;:&quot;&quot;}\" data-image-title=\"gpio-control-example\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/gpio-control-example-300x261.png\" data-large-file=\"https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/gpio-control-example.png\" tabindex=\"0\" role=\"button\" src=\"http:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/gpio-control-example-300x261.png\" alt=\"gpio-control-example\" width=\"300\" height=\"261\" class=\"aligncenter size-medium wp-image-342\" srcset=\"https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/gpio-control-example-300x261.png 300w, https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/gpio-control-example-343x300.png 343w, https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/gpio-control-example.png 700w\" sizes=\"(max-width: 300px) 100vw, 300px\" \/><\/a><br \/>\n(Source: <a href=\"http:\/\/pi4j.com\/images\/p1header-large.png\" target=\"_blank\">pi4j.com<\/a>)  <\/p>\n<p><a href=\"http:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/DSC_3980.png\"><img decoding=\"async\" data-attachment-id=\"296\" data-permalink=\"https:\/\/www.jensd.de\/wordpress\/?attachment_id=296\" data-orig-file=\"https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/DSC_3980.png\" data-orig-size=\"\" data-comments-opened=\"1\" data-image-meta=\"[]\" data-image-title=\"DSC_3980\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/DSC_3980.png\" data-large-file=\"https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/DSC_3980.png\" tabindex=\"0\" role=\"button\" src=\"http:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/DSC_3980.png\" alt=\"DSC_3980\" class=\"aligncenter size-full wp-image-296\" \/><\/a><\/p>\n<p><a href=\"http:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/DSC_39821.png\"><img decoding=\"async\" data-attachment-id=\"297\" data-permalink=\"https:\/\/www.jensd.de\/wordpress\/?attachment_id=297\" data-orig-file=\"https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/DSC_39821.png\" data-orig-size=\"\" data-comments-opened=\"1\" data-image-meta=\"[]\" data-image-title=\"DSC_3982\" data-image-description=\"\" data-image-caption=\"\" data-medium-file=\"https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/DSC_39821.png\" data-large-file=\"https:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/DSC_39821.png\" tabindex=\"0\" role=\"button\" src=\"http:\/\/www.jensd.de\/wordpress\/wp-content\/uploads\/2013\/04\/DSC_39821.png\" alt=\"DSC_3982\" class=\"aligncenter size-full wp-image-297\" \/><\/a><\/p>\n<h1><span class=\"ez-toc-section\" id=\"And_Action\"><\/span>And: Action!<span class=\"ez-toc-section-end\"><\/span><\/h1>\n<p><iframe loading=\"lazy\" title=\"JavaFX on Raspberry Pi: GPIO Control\" width=\"900\" height=\"506\" src=\"https:\/\/www.youtube.com\/embed\/v6pm8oFh390?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" allowfullscreen><\/iframe><\/p>\n<h1><span class=\"ez-toc-section\" id=\"Part2\"><\/span><a href=\"http:\/\/www.jensd.de\/wordpress\/?p=332\" target=\"_blank\">Part2<\/a><span class=\"ez-toc-section-end\"><\/span><\/h1>\n","protected":false},"excerpt":{"rendered":"<p>I have started a new leisure time project with my Raspberry Pi. Target: control the outside lighting around my house (yes, magic words these days: HOME AUTOMATION). But let&#8217;s see how far I will get ;-). Until now I created a very simple JavaFX UI to control and test the 8 GPIO-out pin states: But&hellip; <span class=\"clear\"><\/span><a href=\"https:\/\/www.jensd.de\/wordpress\/?p=294\" class=\"more-link read-more\" rel=\"bookmark\">Continue Reading <span class=\"screen-reader-text\">JavaFX on Raspberry Pi: GPIO Controller (Part1)<\/span><i class=\"fa fa-arrow-right\"><\/i><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"footnotes":"","_jetpack_memberships_contains_paid_content":false,"jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[21,30,4,7,18],"tags":[91],"jetpack_publicize_connections":[],"aioseo_notices":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p38FCL-4K","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/www.jensd.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/294"}],"collection":[{"href":"https:\/\/www.jensd.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.jensd.de\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.jensd.de\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.jensd.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=294"}],"version-history":[{"count":20,"href":"https:\/\/www.jensd.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/294\/revisions"}],"predecessor-version":[{"id":764,"href":"https:\/\/www.jensd.de\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/294\/revisions\/764"}],"wp:attachment":[{"href":"https:\/\/www.jensd.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=294"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.jensd.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=294"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.jensd.de\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=294"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}