{"id":601,"date":"2012-03-18T20:20:35","date_gmt":"2012-03-19T04:20:35","guid":{"rendered":"http:\/\/www.roastgeek.com\/wordpress\/?p=601"},"modified":"2012-06-06T20:08:54","modified_gmt":"2012-06-07T04:08:54","slug":"every-coffee-roaster-needs-ethernet","status":"publish","type":"post","link":"https:\/\/www.roastgeek.com\/wordpress\/2012\/03\/18\/every-coffee-roaster-needs-ethernet\/","title":{"rendered":"Every coffee roaster needs ethernet&#8230;"},"content":{"rendered":"\r\n\t<!-- sfs forms added to the_content - adding as a comment so that it will not display, but will it fool spammers?\r\n\t<br>\r\n\t<br>\r\n\t<form action=\"https:\/\/www.roastgeek.com\/wordpress\/wp-comments-post.php\" method=\"post\" id=\"commentform1\">\r\n\t<p><input name=\"author\" id=\"author\" value=\"\" size=\"22\"  aria-required=\"true\" type=\"text\">\r\n\t<label for=\"author\"><small>Name (required)<\/small><\/label><\/p>\r\n\r\n\t<p><input name=\"email\" id=\"email\" value=\"\" size=\"22\"  aria-required=\"true\" type=\"text\">\r\n\t<label for=\"email\"><small>Mail (will not be published) (required)<\/small><\/label><\/p>\r\n\r\n\t<p><input name=\"url\" id=\"url\" value=\"\" size=\"22\" type=\"text\">\r\n\t<label for=\"url\"><small>Website<\/small><\/label><\/p>\r\n\t<p><textarea name=\"comment\" id=\"comment\" cols=\"58\" rows=\"10\" ><\/textarea><\/p>\r\n\r\n\t<p>\r\n\t<input name=\"comment_post_ID\" value=\"601\" id=\"comment_post_ID\" type=\"hidden\">\r\n\t<input name=\"comment_parent\" id=\"comment_parent\" value=\"0\" type=\"hidden\">\r\n\t<\/p>\r\n\r\n\t<p><input id=\"akismet_comment_nonce\" name=\"akismet_comment_nonce\" value=\"1f74737c40\" type=\"hidden\"><\/p>\r\n\t<\/form>\r\n\r\n\t<form id=\"setupform1\" method=\"post\" action=\"wp-signup.php\" >\r\n\r\n\t<input type=\"hidden\" name=\"stage\" value=\"validate-user-signup\"   \/>\r\n\t<p ><input id=\"akismet_comment_nonce\" name=\"akismet_comment_nonce\" value=\"1f74737c40\" type=\"hidden\"><\/p>\t\t\r\n\t<p>\r\n\t<input id=\"signupblog\" type=\"radio\" name=\"signup_for\" value=\"blog\"  checked='checked' \/>\r\n\t<label class=\"checkbox\" for=\"signupblog\">Gimme a site!<\/label>\r\n\t<br \/>\r\n\t<input id=\"signupuser\" type=\"radio\" name=\"signup_for\" value=\"user\"  \/>\r\n\t<label class=\"checkbox\" for=\"signupuser\">Just a username, please.<\/label>\r\n\t<\/p>\r\n\t<\/form>\r\n\r\n\t<form name=\"loginform1\" id=\"loginform1\" action=\"https:\/\/www.roastgeek.com\/wordpress\/wp-login.php\" method=\"post\">\r\n\t<p>\r\n\t<label for=\"user_login\">User Name<br \/>\r\n\t<input type=\"text\" name=\"log\"  value=\"\" size=\"20\"  \/><\/label>\r\n\t<\/p>\r\n\t<p>\r\n\t<label for=\"user_pass\">Password<br \/>\r\n\t<input type=\"password\" name=\"pwd\"  value=\"\" size=\"20\"  \/><\/label>\r\n\t<\/p>\r\n\t<p class=\"forgetmenot\"><label for=\"rememberme\"><input name=\"rememberme\" type=\"checkbox\" checked=\"checked\"  value=\"1f74737c40\"  \/>Remember Me<\/label><\/p>\r\n\t<p class=\"submit\">\r\n\t<input type=\"hidden\" name=\"testcookie\" value=\"1\" \/>\r\n\t<\/p>\r\n\t<input id=\"akismet_comment_nonce\" name=\"akismet_comment_nonce\" value=\"1f74737c40\" type=\"hidden\">\r\n\t<\/form>\r\n\r\n\r\n\r\n\t-->\r\n\t<p>Ok&#8230; not really but today I decided to see if I could get the Ethernet card talking to the internet.\u00a0 After experimenting with the NTP demo code as well as some web servers and clients I tried implementing a NTP query while it was booting.\u00a0 During this process I noticed it needs to have some sort of loop going to check for the UDP data to be made available.\u00a0 I&#8217;m pretty sure it was working getting the Ethernet initialized but it just never gets an NTP response during the first initialization and send.\u00a0 I think the demo code only works due to the repeated loops over and over and randomly misses 1 response here and there.<\/p>\n<p>I need to work on implementing a time zone calculation, the loop to check for NTP until it either gets one or fails a specific number of times, and then the code to translate the NTP packet buffer contents into a valid time\/date setting to go into the RTC.\u00a0 I also downloaded the libraries to install into Processing to make the graphs work over ethernet. It will take some time creating the buffers that it&#8217;ll read but it should work pretty well.\u00a0 I&#8217;m hoping to also get it to list out the SD memory and allow me to download the individual files to the laptop through that connection.<\/p>\n<p>Yesterday I purchased the last of the resistors I needed and managed to get the schematic worked out for the button pad with a decent enough layout on the PCB.\u00a0 I need to solder them together but haven&#8217;t gotten to it yet.\u00a0 I will have that portion built sometime this week and need to determine how often I need to sample the button presses to detect a forced cool setting at the least before I start building a menu system to set up roasts and start them.<\/p>\n<p>More fun today was that I learned the system won&#8217;t compile under Arduino IDE 1.0.\u00a0 I fixed a series of changes due to BYTE no longer being supported in the Serial.print commands (use Serial.write and then number you are sending).\u00a0 They changed the name of one of the header files that gets used in almost every add on library out there.\u00a0\u00a0 Next I discovered that I2C has a bug in the Wire library that didnt make it into 1.0 that it won&#8217;t send a 0 to the I2C bus without a typecast being applied or patching other sections of the code.\u00a0 Finally I&#8217;m getting some sort of illegal conversion from an int to a char or something like that on several lines.\u00a0 I hope to have the system converted over the Arduino IDE 1.0 before the end of the month but I&#8217;m not going to put a lot of effort into it unless I run into a library I need to use that needs 1.0.\u00a0 I&#8217;m not really anticipating that happening but I&#8217;ll work on it anyway.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ok&#8230; not really but today I decided to see if I could get the Ethernet card talking to the internet.\u00a0 After experimenting with the NTP demo code as well as some web servers and clients I tried implementing a NTP query while it was booting.\u00a0 During this process I noticed it needs to have some sort of loop going to check for the UDP data to be made available.\u00a0 I&#8217;m pretty sure it was working getting the Ethernet initialized but it just never gets an NTP response during the first initialization and send.\u00a0 I think the demo code only works \u2026 <a class=\"continue-reading-link\" href=\"https:\/\/www.roastgeek.com\/wordpress\/2012\/03\/18\/every-coffee-roaster-needs-ethernet\/\"> Continue reading <span class=\"meta-nav\">&rarr; <\/span><\/a><\/p>\n","protected":false},"author":3,"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,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[7,8],"tags":[],"class_list":["post-601","post","type-post","status-publish","format-standard","hentry","category-general","category-roaster"],"wppr_data":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Every coffee roaster needs ethernet... - Roast Geek<\/title>\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.roastgeek.com\/wordpress\/2012\/03\/18\/every-coffee-roaster-needs-ethernet\/\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"SteveS\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2012\\\/03\\\/18\\\/every-coffee-roaster-needs-ethernet\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2012\\\/03\\\/18\\\/every-coffee-roaster-needs-ethernet\\\/\"},\"author\":{\"name\":\"SteveS\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/80c8f23278bfd9eafb058da60fcd10d1\"},\"headline\":\"Every coffee roaster needs ethernet&#8230;\",\"datePublished\":\"2012-03-19T04:20:35+00:00\",\"dateModified\":\"2012-06-07T04:08:54+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2012\\\/03\\\/18\\\/every-coffee-roaster-needs-ethernet\\\/\"},\"wordCount\":502,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#organization\"},\"articleSection\":[\"General\",\"Roaster\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2012\\\/03\\\/18\\\/every-coffee-roaster-needs-ethernet\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2012\\\/03\\\/18\\\/every-coffee-roaster-needs-ethernet\\\/\",\"url\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2012\\\/03\\\/18\\\/every-coffee-roaster-needs-ethernet\\\/\",\"name\":\"Every coffee roaster needs ethernet... - Roast Geek\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#website\"},\"datePublished\":\"2012-03-19T04:20:35+00:00\",\"dateModified\":\"2012-06-07T04:08:54+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2012\\\/03\\\/18\\\/every-coffee-roaster-needs-ethernet\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2012\\\/03\\\/18\\\/every-coffee-roaster-needs-ethernet\\\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/2012\\\/03\\\/18\\\/every-coffee-roaster-needs-ethernet\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Every coffee roaster needs ethernet&#8230;\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#website\",\"url\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/\",\"name\":\"Roast Geek\",\"description\":\"Roasting Geekery - Coffee Roasting, Electronics, and Mechanical DIY\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#organization\",\"name\":\"RoastGeek\",\"url\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/www.roastgeek.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2012\\\/03\\\/coffee_logo.png?fit=%2C&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/www.roastgeek.com\\\/wordpress\\\/wp-content\\\/uploads\\\/2012\\\/03\\\/coffee_logo.png?fit=%2C&ssl=1\",\"caption\":\"RoastGeek\"},\"image\":{\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/RoastGeek\\\/\",\"https:\\\/\\\/x.com\\\/RoastGeek\",\"https:\\\/\\\/www.instagram.com\\\/RoastGeek\\\/\",\"https:\\\/\\\/www.youtube.com\\\/RoastGeekTube\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.roastgeek.com\\\/wordpress\\\/#\\\/schema\\\/person\\\/80c8f23278bfd9eafb058da60fcd10d1\",\"name\":\"SteveS\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/becef2d09c0837c54f683d49c75c344a9993090bac01c06de2a1aaa2686ba64f?s=96&d=mm&r=pg\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/becef2d09c0837c54f683d49c75c344a9993090bac01c06de2a1aaa2686ba64f?s=96&d=mm&r=pg\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/becef2d09c0837c54f683d49c75c344a9993090bac01c06de2a1aaa2686ba64f?s=96&d=mm&r=pg\",\"caption\":\"SteveS\"},\"sameAs\":[\"http:\\\/\\\/www.roastgeek.com\",\"https:\\\/\\\/x.com\\\/roastgeek\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Every coffee roaster needs ethernet... - Roast Geek","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.roastgeek.com\/wordpress\/2012\/03\/18\/every-coffee-roaster-needs-ethernet\/","twitter_misc":{"Written by":"SteveS","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.roastgeek.com\/wordpress\/2012\/03\/18\/every-coffee-roaster-needs-ethernet\/#article","isPartOf":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/2012\/03\/18\/every-coffee-roaster-needs-ethernet\/"},"author":{"name":"SteveS","@id":"https:\/\/www.roastgeek.com\/wordpress\/#\/schema\/person\/80c8f23278bfd9eafb058da60fcd10d1"},"headline":"Every coffee roaster needs ethernet&#8230;","datePublished":"2012-03-19T04:20:35+00:00","dateModified":"2012-06-07T04:08:54+00:00","mainEntityOfPage":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/2012\/03\/18\/every-coffee-roaster-needs-ethernet\/"},"wordCount":502,"commentCount":1,"publisher":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/#organization"},"articleSection":["General","Roaster"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.roastgeek.com\/wordpress\/2012\/03\/18\/every-coffee-roaster-needs-ethernet\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.roastgeek.com\/wordpress\/2012\/03\/18\/every-coffee-roaster-needs-ethernet\/","url":"https:\/\/www.roastgeek.com\/wordpress\/2012\/03\/18\/every-coffee-roaster-needs-ethernet\/","name":"Every coffee roaster needs ethernet... - Roast Geek","isPartOf":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/#website"},"datePublished":"2012-03-19T04:20:35+00:00","dateModified":"2012-06-07T04:08:54+00:00","breadcrumb":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/2012\/03\/18\/every-coffee-roaster-needs-ethernet\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.roastgeek.com\/wordpress\/2012\/03\/18\/every-coffee-roaster-needs-ethernet\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.roastgeek.com\/wordpress\/2012\/03\/18\/every-coffee-roaster-needs-ethernet\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.roastgeek.com\/wordpress\/"},{"@type":"ListItem","position":2,"name":"Every coffee roaster needs ethernet&#8230;"}]},{"@type":"WebSite","@id":"https:\/\/www.roastgeek.com\/wordpress\/#website","url":"https:\/\/www.roastgeek.com\/wordpress\/","name":"Roast Geek","description":"Roasting Geekery - Coffee Roasting, Electronics, and Mechanical DIY","publisher":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.roastgeek.com\/wordpress\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.roastgeek.com\/wordpress\/#organization","name":"RoastGeek","url":"https:\/\/www.roastgeek.com\/wordpress\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.roastgeek.com\/wordpress\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2012\/03\/coffee_logo.png?fit=%2C&ssl=1","contentUrl":"https:\/\/i0.wp.com\/www.roastgeek.com\/wordpress\/wp-content\/uploads\/2012\/03\/coffee_logo.png?fit=%2C&ssl=1","caption":"RoastGeek"},"image":{"@id":"https:\/\/www.roastgeek.com\/wordpress\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/RoastGeek\/","https:\/\/x.com\/RoastGeek","https:\/\/www.instagram.com\/RoastGeek\/","https:\/\/www.youtube.com\/RoastGeekTube\/"]},{"@type":"Person","@id":"https:\/\/www.roastgeek.com\/wordpress\/#\/schema\/person\/80c8f23278bfd9eafb058da60fcd10d1","name":"SteveS","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/becef2d09c0837c54f683d49c75c344a9993090bac01c06de2a1aaa2686ba64f?s=96&d=mm&r=pg","url":"https:\/\/secure.gravatar.com\/avatar\/becef2d09c0837c54f683d49c75c344a9993090bac01c06de2a1aaa2686ba64f?s=96&d=mm&r=pg","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/becef2d09c0837c54f683d49c75c344a9993090bac01c06de2a1aaa2686ba64f?s=96&d=mm&r=pg","caption":"SteveS"},"sameAs":["http:\/\/www.roastgeek.com","https:\/\/x.com\/roastgeek"]}]}},"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_shortlink":"https:\/\/wp.me\/p1Rz8s-9H","jetpack_sharing_enabled":true,"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/posts\/601","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/comments?post=601"}],"version-history":[{"count":4,"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/posts\/601\/revisions"}],"predecessor-version":[{"id":603,"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/posts\/601\/revisions\/603"}],"wp:attachment":[{"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/media?parent=601"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/categories?post=601"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.roastgeek.com\/wordpress\/wp-json\/wp\/v2\/tags?post=601"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}