{"id":5,"date":"2009-08-28T20:03:00","date_gmt":"2009-08-29T00:03:00","guid":{"rendered":"http:\/\/egaertner.com\/dpac\/?p=5"},"modified":"2010-04-09T23:01:48","modified_gmt":"2010-04-10T03:01:48","slug":"wifly-wireless-module","status":"publish","type":"post","link":"https:\/\/egaertner.com\/dpac\/2009\/08\/wifly-wireless-module\/","title":{"rendered":"WiFly Wireless Module"},"content":{"rendered":"<div id=\"attachment_69\" style=\"width: 310px\" class=\"wp-caption alignnone\"><a href=\"http:\/\/egaertner.com\/dpac\/wp-content\/uploads\/2009\/08\/rn-134-profile.jpg\" data-lbwps-width=\"1355\" data-lbwps-height=\"668\" data-lbwps-srcsmall=\"http:\/\/egaertner.com\/dpac\/wp-content\/uploads\/2009\/08\/rn-134-profile-300x147.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-69\" class=\"size-medium wp-image-69\" title=\"RN-134B\" src=\"http:\/\/egaertner.com\/dpac\/wp-content\/uploads\/2009\/08\/rn-134-profile-300x147.jpg\" alt=\"\" width=\"300\" height=\"147\" srcset=\"https:\/\/egaertner.com\/dpac\/wp-content\/uploads\/2009\/08\/rn-134-profile-300x147.jpg 300w, https:\/\/egaertner.com\/dpac\/wp-content\/uploads\/2009\/08\/rn-134-profile-1024x504.jpg 1024w, https:\/\/egaertner.com\/dpac\/wp-content\/uploads\/2009\/08\/rn-134-profile.jpg 1355w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><p id=\"caption-attachment-69\" class=\"wp-caption-text\">RN-134B Wireless Device<\/p><\/div>\n<p><a href=\"http:\/\/egaertner.com\/dpac\/wp-content\/uploads\/2009\/08\/rn-134-profile.jpg\" data-lbwps-width=\"1355\" data-lbwps-height=\"668\" data-lbwps-srcsmall=\"http:\/\/egaertner.com\/dpac\/wp-content\/uploads\/2009\/08\/rn-134-profile-300x147.jpg\"><\/a>Our first task was to bring up the wireless device. We opted to use the <a href=\"http:\/\/www.rovingnetworks.com\/surf_board.php\" target=\"_blank\">RN-134B from Roving Networks<\/a>. The benefit to this device was that it had a full TCP\/IP stack already, and was easily addressable over RS232 or TTL UART. It can connect to 802.11b\/g networks with WEP\/WPA(2) security.<\/p>\n<p>We first connected it directly to a PC over a RS232 cable and communicated with it through Telnet. Once you configured the wireless settings, it was as easy as sending <em>connect serverURL.com<\/em>, and then you could directly send HTTP traffic back and forth. Our first challenge was learning more about HTTP, and how to format GET requests to acquire the data we wanted. The trick was sending CR and LF bytes at the end of each line, and an additional CRLF at the end.<\/p>\n<pre>GET http:\/\/www.egaertner.com\/ HTTP\/1.1<em>CRLF<\/em>\r\nHost:\u00a0www.egaertner.com<em>CRLF<\/em>\r\n<em>CRLF<\/em><\/pre>\n<pre><em>\r\n<\/em><\/pre>\n<p><a href=\"http:\/\/egaertner.com\/dpac\/wp-content\/uploads\/2009\/08\/get.jpg\" data-lbwps-width=\"845\" data-lbwps-height=\"495\" data-lbwps-srcsmall=\"http:\/\/egaertner.com\/dpac\/wp-content\/uploads\/2009\/08\/get-300x175.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-medium wp-image-56\" title=\"HTTP GET\" src=\"http:\/\/egaertner.com\/dpac\/wp-content\/uploads\/2009\/08\/get-300x175.jpg\" alt=\"\" width=\"300\" height=\"175\" srcset=\"https:\/\/egaertner.com\/dpac\/wp-content\/uploads\/2009\/08\/get-300x175.jpg 300w, https:\/\/egaertner.com\/dpac\/wp-content\/uploads\/2009\/08\/get.jpg 845w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/a><\/p>\n<p>Data being sent to and coming back from the WiFly<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Our first task was to bring up the wireless device. We opted to use the RN-134B from Roving Networks. The benefit to this device was that it had a full TCP\/IP stack already, and was easily addressable over RS232 or TTL UART. It can connect to 802.11b\/g networks with WEP\/WPA(2) security. We first connected it [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-5","post","type-post","status-publish","format-standard","hentry","category-worklog"],"_links":{"self":[{"href":"https:\/\/egaertner.com\/dpac\/wp-json\/wp\/v2\/posts\/5","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/egaertner.com\/dpac\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/egaertner.com\/dpac\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/egaertner.com\/dpac\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/egaertner.com\/dpac\/wp-json\/wp\/v2\/comments?post=5"}],"version-history":[{"count":14,"href":"https:\/\/egaertner.com\/dpac\/wp-json\/wp\/v2\/posts\/5\/revisions"}],"predecessor-version":[{"id":53,"href":"https:\/\/egaertner.com\/dpac\/wp-json\/wp\/v2\/posts\/5\/revisions\/53"}],"wp:attachment":[{"href":"https:\/\/egaertner.com\/dpac\/wp-json\/wp\/v2\/media?parent=5"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/egaertner.com\/dpac\/wp-json\/wp\/v2\/categories?post=5"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/egaertner.com\/dpac\/wp-json\/wp\/v2\/tags?post=5"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}