{"id":7773,"date":"2018-05-05T02:33:49","date_gmt":"2018-05-05T02:33:49","guid":{"rendered":"http:\/\/ben.akrin.com\/?p=7773"},"modified":"2018-05-05T02:33:49","modified_gmt":"2018-05-05T02:33:49","slug":"nosy-monster-alive-and-well","status":"publish","type":"post","link":"https:\/\/ben.akrin.com\/?p=7773","title":{"rendered":"Nosy Monster alive and well"},"content":{"rendered":"<p>The <a href=\"http:\/\/ben.akrin.com\/?p=4656\" target=\"_blank\" rel=\"noopener\">Nosy Monster<\/a> has been sitting on my desk idle for a while now, I&#8217;ve always wanted to work on it a bit and make it more reactive to web input. Finally, I bit the bullet and it&#8217;s now a lot smoother to operate. Instead of clicking for pre-timed commands, the start of a key press actuates and the end stops. With a websocket communication layer and a socket python command server, the commands find their way from keyboard to motors super fast.<\/p>\n<p>To account for wireless imperfections and AP hopping, I also wrote the logic such that there isn&#8217;t a &#8220;start&#8221; and a &#8220;stop&#8221; command. Instead there is only a &#8220;start&#8221; command which gets sent every 200ms and if it isn&#8217;t heard every 300ms, Nosy Monster stops. This ensures it won&#8217;t be locked in a state of actuation which could lead to perilous situations.<\/p>\n<p>I intend on polishing the code &amp; publish a tutorial that hopefully a 7 year old could handle.<\/p>\n<p>The Nosy Monster was deployed at the Dartmouth Thayer School of Engineering&#8217;s open house. I didn&#8217;t know how robust it was going to be under sustained kid use.<\/p>\n<p><a href=\"http:\/\/ben.akrin.com\/wp-content\/uploads\/2018\/04\/IMG_1012-e1524533371387.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7792\" src=\"https:\/\/ben.akrin.com\/wp-content\/uploads\/2018\/04\/IMG_1012-e1524533371387.jpg\" alt=\"\" width=\"3024\" height=\"4032\" \/><\/a><\/p>\n<p>It turned out to be a huge hit, I let the kids drive it around a bit and then I&#8217;d throw the Nosy Monster in another room where they would have to find their way around with no visibility other than the camera. It performed flawlessly through the evening.<\/p>\n<p><a href=\"http:\/\/ben.akrin.com\/wp-content\/uploads\/2018\/05\/IMG_1038.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7827\" src=\"https:\/\/ben.akrin.com\/wp-content\/uploads\/2018\/05\/IMG_1038.jpg\" alt=\"\" width=\"4032\" height=\"3024\" \/><\/a><\/p>\n<p>It&#8217;s always an enormous point of satisfaction to see kids get into something you made. Once I sent the RC car &#8220;to Mars&#8221; (the other room), the kids were really focused.\u00a0 All but one got stuck and never came home. I should have had a prize for the one, but what&#8217;s next, participation trophies?<\/p>\n<p>With a much more usable and reliable toy, I decided to setup the same kind of maze in a house room under construction.<\/p>\n<p><a href=\"http:\/\/ben.akrin.com\/wp-content\/uploads\/2018\/05\/IMG_0122-2.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7832\" src=\"https:\/\/ben.akrin.com\/wp-content\/uploads\/2018\/05\/IMG_0122-2.jpg\" alt=\"\" width=\"7998\" height=\"3154\" \/><\/a><\/p>\n<p>I moved the camera up on a stick for a better angle of vision, the next model will have a fisheye camera.<\/p>\n<p><a href=\"http:\/\/ben.akrin.com\/wp-content\/uploads\/2018\/05\/nosy_monster_roving_around.gif\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7833\" src=\"https:\/\/ben.akrin.com\/wp-content\/uploads\/2018\/05\/nosy_monster_roving_around.gif\" alt=\"\" width=\"571\" height=\"344\" \/><\/a><\/p>\n<p>Without a reverse, it takes a few tries to get through the maze without getting stuck. He had to learn to be careful.<\/p>\n<p><a href=\"http:\/\/ben.akrin.com\/wp-content\/uploads\/2018\/05\/IMG_0097.jpg\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-7830\" src=\"https:\/\/ben.akrin.com\/wp-content\/uploads\/2018\/05\/IMG_0097.jpg\" alt=\"\" width=\"3264\" height=\"2448\" \/><\/a><\/p>\n<p>I&#8217;m bubbling up with ideas\u00a0 of cool things to do with the concept and acquired techniques. From a solar powered exterior land rover, to battle bots.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>The Nosy Monster has been sitting on my desk idle for a while now, I&#8217;ve always wanted to work on it a bit and make it more reactive to web input. Finally, I bit the bullet and it&#8217;s now a lot smoother to operate. Instead of clicking for pre-timed commands, the start of a key &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/ben.akrin.com\/?p=7773\" class=\"more-link\">Continue reading<span class=\"screen-reader-text\"> &#8220;Nosy Monster alive and well&#8221;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27,4],"tags":[149,150,172,181,209,215,221,296],"class_list":["post-7773","post","type-post","status-publish","format-standard","hentry","category-all-out-geekery","category-i-t","tag-internet-controlled-rc-car","tag-iot","tag-mars-rover","tag-nosy-monster","tag-raspberry-pi","tag-relays","tag-robot-takeover","tag-websocket"],"_links":{"self":[{"href":"https:\/\/ben.akrin.com\/index.php?rest_route=\/wp\/v2\/posts\/7773","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ben.akrin.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ben.akrin.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ben.akrin.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/ben.akrin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=7773"}],"version-history":[{"count":0,"href":"https:\/\/ben.akrin.com\/index.php?rest_route=\/wp\/v2\/posts\/7773\/revisions"}],"wp:attachment":[{"href":"https:\/\/ben.akrin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=7773"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ben.akrin.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=7773"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ben.akrin.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=7773"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}