{"id":2736,"date":"2017-01-23T00:00:09","date_gmt":"2017-01-23T08:00:09","guid":{"rendered":"http:\/\/192.168.3.4\/?p=2736"},"modified":"2018-01-09T06:51:28","modified_gmt":"2018-01-09T14:51:28","slug":"controller-ins-and-outs","status":"publish","type":"post","link":"https:\/\/www.cloudacm.com\/?p=2736","title":{"rendered":"Controller ins and outs"},"content":{"rendered":"<p>Now I would like to return back to home automation and control.\u00a0 There are basically three components of the system; these are input devices, controllers, and output devices.\u00a0 Lets start by covering the heart of the system, the controllers.<\/p>\n<p>In this section I&#8217;ll cover the controllers.\u00a0 They fall into three categories, device, communications, and central.<\/p>\n<p>The central controller will be the Raspberry Pi.\u00a0 It is Rome and all roads lead to it.\u00a0 It takes input, produces output, and is what I&#8217;ll interface with directly.<\/p>\n<p>The device controllers are micro controllers of varying flavors of Atmel chips.\u00a0 These interface directly with sensors.\u00a0 They will perform math functions based on variables and constance.\u00a0 Some of the sensors are so rudimentary that they provide no ability to directly interface with the Raspberry Pi.\u00a0 The Atmel devices will provide that bridging function.\u00a0 I&#8217;ll be using two flavors of Atmel chips, the ATiny85 and ATmega328.\u00a0 The ATmega328 chips will be part of a larger board in either the Arduino Pro Mini or Uno form.<\/p>\n<p>Wiring the device controllers directly to the central controller might not be feasible.\u00a0 To solve this, I&#8217;ll be using communication controllers.\u00a0 These are XBee wireless modules that will perform point to point links.\u00a0 The devices can also operate on a mesh network.\u00a0 This is useful since it can extend device distance without extending radio broadcast range, I&#8217;ll cover more about that later.<\/p>\n<p>Now lets take a closer look at the inputs and outputs supported on each device.\u00a0 Here is a list of devices and there IO specs.<\/p>\n<p>ATiny85<br \/>\n8KB program space flash<br \/>\n512B eeprom<br \/>\n512B sram<br \/>\n5 digital ports<br \/>\n3 analog inputs<br \/>\n2 analog outputs (PWM)<\/p>\n<p>ATmega328<br \/>\nArduino Pro Mini<br \/>\n32KB program space<br \/>\n1KB eeprom<br \/>\nKB sram<br \/>\n22 digital ports<br \/>\n6 analog inputs<br \/>\n6 analog outputs (PWM)<\/p>\n<p>ATmega328 &#8211;<br \/>\nArduino Uno<br \/>\n32KB program space<br \/>\n1KB eeprom<br \/>\n2KB sram<br \/>\n14 digital ports<br \/>\n6 analog inputs<br \/>\n6 analog outputs (PWM)<\/p>\n<p>Raspberry Pi 3<br \/>\nCPU: 4\u00d7 ARM Cortex-A53, 1.2GHz<br \/>\nGPU: Broadcom VideoCore IV<br \/>\nRAM: 1GB LPDDR2 (900 MHz)<br \/>\nNetworking: 10\/100 Ethernet, 2.4GHz 802.11n wireless<br \/>\nBluetooth: Bluetooth 4.1 Classic, Bluetooth Low Energy<br \/>\nStorage: microSD<br \/>\nGPIO: 40-pin header, populated<br \/>\nPorts:<br \/>\nHDMI<br \/>\n3.5mm analogue audio-video jack<br \/>\n4\u00d7 USB 2.0, Ethernet<br \/>\nCamera Serial Interface (CSI)<br \/>\nDisplay Serial Interface (DSI)<br \/>\n26 digital \/ analog ports<br \/>\n2 I2C ports<\/p>\n<p>XBee Series 1<br \/>\ndata rate: 250kbps<br \/>\nrange: 300&#8242;<br \/>\n8 digital ports<br \/>\n6 10-bit analog ports<br \/>\n128-bit encryption<\/p>\n<p>The interesting item to point out about the digital ports is they are more than just on off states.\u00a0 These ports can be combined so that protocols like UART, I2C, and SPI are utilized.\u00a0 Be mindful of the throughput limits of the XBee, again I&#8217;ll cover that later.\u00a0 The serialization of data and device addressing protocols let us use less wiring and wireless connections.\u00a0 This cuts costs and decreases the complexity of the entire system.<\/p>\n<p>In the next post I&#8217;ll cover some specifics about digital, analog inputs, and PWM outputs.\u00a0 This will lay the foundation for the sections that follow.\u00a0 I hope to see you on the flip side.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Now I would like to return back to home automation and control.\u00a0 There are basically three components of the system; these are input devices, controllers, and output devices.\u00a0 Lets start by covering the heart of the system, the controllers. In this section I&#8217;ll cover the controllers.\u00a0 They fall into three categories, device, communications, and central. The central controller will be the Raspberry Pi.\u00a0 It is Rome and all roads lead to it.\u00a0 It takes input, produces output, and is what&#8230;<\/p>\n<p class=\"read-more\"><a class=\"btn btn-default\" href=\"https:\/\/www.cloudacm.com\/?p=2736\"> Read More<span class=\"screen-reader-text\">  Read More<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[7,6,3,8],"tags":[],"class_list":["post-2736","post","type-post","status-publish","format-standard","hentry","category-arduino","category-raspberry-pi","category-rd","category-xbee"],"_links":{"self":[{"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=\/wp\/v2\/posts\/2736","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=2736"}],"version-history":[{"count":5,"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=\/wp\/v2\/posts\/2736\/revisions"}],"predecessor-version":[{"id":2741,"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=\/wp\/v2\/posts\/2736\/revisions\/2741"}],"wp:attachment":[{"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=2736"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=2736"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.cloudacm.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=2736"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}