EE/CPE-322 Smart Gym: Homework 4 Alex Gurski Russell Nadler Ed Watt Report Summary Section 1: The team initially accessed each of the major subgroups that culminate the majority of concepts for the idea of a “smart” gym. Due to his extensive background in computer science, Alex Gurski was tasked with formulating the human-computer interaction, as well as t he publishing process for application development. Russell Nadler was charged with researching sensor characteristics, as well as control medium for sensors and microcontrollers. Ed Watt covered short -range wireless communications, as well as accessing their abilities. Percentage of Effort Alex Gurski Russell Nadler Ed Watt 33.33% 33.33% 33.33% Sensors & Microcontrollers: Sensors: A sensor is a device that has the capability to measure a specific parameter, or a set of parameters, such as position, light, pressure, temperature, acceleration, etc. Sensors come in many shapes, sizes, and prices, but there remains a set of significant characteristics that all sensors are evaluated to, regardless of application. The first and most defining sensor characteristic is sensitivity. The sensitivity of a sensor is defined as “the minimum input of physical parameter that will create a detectable output change” [1]. The resolution, then, is the smallest incremental change in the input that can be measured by the sensor and produce a distinct output. The time it takes for the sensor to calculate the output from the change in input is the response time. Sensitivity will be the most critical characteristic to evaluate, as an overly sensitive sensor may induce unwanted costs, and an underly sensitive sensor may be insufficient. Just like other electronic components, the sensor will operate within a set linear curve, and deviation from the ideal curve is classified as sensitivity error. Generally, a sensor is able to remain highly sensitive if its range of measured values is generally small; the greater the dynamic range of a sensor, the less likely it will be able to remain linear. The repeatability of the sensors captured data points, known as precision, parallels accuracy; precision is a measure of reproducibility, and accuracy is the largest difference, in terms of a reading or percentage, of the measured value when compared to the actual value. The linearity of the sensitivity error curve is inherent in the sensor’s accuracy; however, environmental conditions may also affect the sensor and may not be accounted for in datasheets. Depending on accuracy and sensitivity error, the sensor will have a different specific offset, classified as the difference between the measured value and the ideal curve at specific inputs; for example, when the input value is zero. The variety of the input direction to produce an output error is classified as the hysteresis of the sensor - the measured data in one path (for example, x to y) should be repeatable when the sensor receives an input in the opposite direction (y to x). If the hysteresis can be 2 minimized, then the effect of amplitude and phase distortion will also lessen - the dynamic linearity of the sensor is the measure of rapid changes producing desirable outputs. Microcontrollers: Understanding the environment and being able to accurately model the behavior of the system will result in selecting the right sensor for a specific application - the key to the success of the measurement. To process the output of the sensor, a microcontroller or other control device must be used. A microcontroller is a small dedicated computer embedded on a VSLI chip, in order to perform a specific function or task. In the case of sensor processing, a microcontroller can be used to convert voltage outputs to useful information - for example, if a three-axis accelerometer was being used; a microcontroller can convert the three voltages, one from each axis, to accurate position information (x, y, an d z). Once the basic information is acquired, these values can be used for advanced calculations - such as integrating to determine velocity and position [2]. The microcontroller acts as the communication center for the measurement system. The CPU (central processing unit) of the microcontroller performs all computations and actions necessary for the sensor to process the output. The non-volatile memory on the chip stores the control program to be used, and the random access memory (RAM) executes the program and stores temporary information. Depending on the type of circuit board that the microcontroller is run on, a varying amount of input and output ports exist, allowing the microcontroller to send signals as well as accept inputs for additional functio nality. In the previously described scenario with the three-axis accelerometer, a microcontroller would be used to calculate the voltages received from three separate pins, each representing an axis. The input/output (I/O) ports can also be used for additional sensors, microcontrollers, and even liquid crystal panels for the user to see displayed information. Depending on whether or not the sensor is an analog or digital transducer, a microcontroller may also have an analog-to-digital converter, in order to convert the sensors output to a easy to process binary format. A communications port, as well as an internal clock, would also be present, in order to have precisely controlled signals [3]. Human-Computer Interaction: Integration: The users of Smart Gym will be interfacing exclusively with the mobile application or the website. It is therefore necessary to create seamless integration between not only the app and the website, but with the gym itself. In doing this, two gulfs must be bridged: the Gulf of Ex ecution and the Gulf of Evaluation. These gulfs are defined as “The difference between the intentions and allowable actions” and “the amount of effort that the person must exert to interpret the state of the system and determine how well the expectations and intentions have been met”, respectively [4]. Endeavoring to rid the app of these potential problems will ultimately produce a user friendly app. 3 First, examine the gulf of execution. This can be rewritten simply as making the design goals obtainable in the system. A very necessary example of eliminating this gulf is making the app interface with gym equipment; if the app does not collect data from the machine, and then there is no purpose. Therefore, the app must interface with a microcontroller, pull useful information from it. This will be achieved via short range wireless communication, at which point the app must convert the data into useful metrics and sync the data to the Cloud. Google Cloud Messaging (GCM) is an Android service that would allow Sma rt Gym to access the cloud by utilizing 3rd party messages (applicable in a machine or website) and allows the app to run effectively in the background, however requires tethering Smart Gym to Google Play accounts [5]. The gulf of evaluation is a lot more subjective, as it deals primarily with how well the users can use the app for what it’s purpose is. Unlike the previous gulf, this becomes an issue when looking at a potential user want: multi-platform support. This becomes difficult with not only code nu ances, but the SDKs for each phone as well as what each phone supports (for example, should NFC be the short range wireless method chosen, the iPhone wouldn’t be able to support the app at all). While Web Code such as JavaScript does not suffer much where speed is concerned, making a UI comparable to one created in an SDK is a difficult undertaking, and doesn’t even account for lack of support [6]. Applications: Making the application functional is only the beginning. Users have a certain set of expectations for applications such as Smart Gym, which won’t be determined until the app is released; until then, assumptions will have to suffice. One such assumption is the integration of social media, which can double as a method to get consumer feedback and find out what their expectations are. Unfortunately, where businesses think consumers follow them to learn about the products, the majority do so to find out about discounts [7]. Use of social media is also risky in the sense that, for business owners, it is a “[fundamental] change to the way they do business” [8]. Social media provides a level of customer engagement that has never been possible before, and fits seamlessly into a Smart Gym application. From following your friends’ workouts to giving each other e ncouragement to individual gyms interacting with their customers, social media is integral to the design. Social media would not be limited to looking for Return on Investment metrics, but rather a tool to both promote and foster the brand. That being said, should an accurate way to measure ROI arise, such as click or view metrics. Overall, any risks that may be presented by social media such as bad PR are outweighed by the benefits. [8] Further exploring the gulf of evaluation requires an intuitive app/web site combination. The US Military Standard for Human Engineering Design Criteria is as follows: achieve required performance by operator, control and maintenance personnel, minimize skill and personnel requirements and training time, achieve required relia bility of personnel-equipment/software combinations, and foster design standardization within and among systems. We’ve covered the required performance aspect, and the reliability of the app will have to come with the development. Design standardization wo uld 4 favor a Web Code approach [6]. What’s left is making the app easy to use. This is largely accomplished via build-measure-learn feedback loops. There’s only so much that you can assume about your consumer; too many presumptions can lead to a confused ap plication that doesn’t actually work for those it was meant for. The build -measure-learn feedback loop accounts for this by separating steps that most companies wrongfully combine. By shipping a product before it is “perfect” for what is assumed that the customers want, this strategy advocates letting the customers themselves tell you what they want; build the product, measure how viable it is, learn from your mistakes, and repeat. Doing so will establish not only an intuitive app, but also the much sought after company-customer relationship. [10] Publishing on each device is its own matter. Both Android and Apple stores have their own distinct policies for publishing applications. For example, the Apple Store requires the app to be built on the Distribution Profile [11]. Android has a much more relaxed release program, which involves a series of manual debugging methods to ensure the app is store ready [12]. It would therefore be easier to publish on Android first for software reasons in addition to hardware concerns, but using Web Code so that an iPhone compatible release would remain a possibility. Short Range Wireless Communications Bluetooth: The Bluetooth Special Interest Group describes Bluetooth’s three key features as “ubiquitousness, low power, and l ow cost.” Bluetooth devices interact with each other by first pairing with each other. Once connected, these devices can communicate with one another wirelessly through the formation of piconets, small networks. Devices can enter and exit these networks based on radio proximity. Devices in a piconet can simultaneously interact with up to 7 other devices on that same network. Each device can also belong to multiple piconets. The range of Bluetooth connectivity has a required minimum of 10 meters, but the maximum varies from one manufacturer to another. Bluetooth also distinguishes itself by providing support for simultaneous data and voice transmissions. Bluetooth radios are broken up into 3 classes. The most common class, Class 2, uses 2.5 mW of power. The Bluetooth radio can also be powered down when idle in order to save power. Bluetooth Low Energy radios which provide a trade-off for lower power, lower data-rate applications consume between 50% and 2% of the power of standard Bluetooth radios [13]. Bluetooth technology provides short-range wireless connections between devices. The latest version of the Bluetooth standard is Version 4.1, also known as Bluetooth SMART. Bluetooth is currently available in two forms: Basic Rate and Low Energy. Basic Rate allows for the following data transfer rates: 721.2 kbps for Basic Rate data communications, 2.1 Mbps for Enhanced Data Rate data communications, and up to 54 Mbps using 802.11 5 AMP. Bluetooth Low Energy features lower power consumption, lower cost and lower complexity. It is optimal for applications with low data rates and short transmission periods. These two forms are interoperable. Bluetooth Basic Rate operates in the unlicensed ISM band at 2.4 GHz. In order to avoid interference and fading, the tran sceiver utilizes frequency hopping. Basic Rate utilizes shaped, binary frequency modulation. Bluetooth piconets are formed which are synchronized to one master clock and a single frequency hopping pattern. These piconets utilize time division multiple access and time division duplex. Physical links are formed between the master device and each slave device but not between slave devices. Bluetooth Low Energy also operated in the unlicensed ISM band at 2.4 GHz. BLE also utilizes frequency hopping and a shape d, binary frequency modulation. For multiple access, Bluetooth Low Energy utilizes frequency division multiple access as well as time division multiple access. As in Basic Rate, devices form piconets comprised of a single master and multiple slaves. In Low Energy, slaves can have physical links to multiple masters simultaneously. Bluetooth Low Energy and Basic Rate both contain methods to avoid frequencies in use by interfering devices. A third operating type is AMPS. Bluetooth devices communicate and crea te a connection utilizing the Basic Rate/Enhanced Data Rate radio. This initial connection can be utilized to discover the AMP capabilities of the other device. When both devices contain AMP capability, data traffic can be transferred to the AMP radios . [14] NFC: NFC, near field communication, enables wireless two -way interactions between devices. Some uses of NFC include financial end -point transactions, transfer of digital content, and setup of other wireless connections between devices. NFC utilizes the existing RFID standards in use for contactless cards. The range of NFC is less than or equal to 4 centimeters with a maximum data rate of 424 kbps [15]. NFC technology operates at a center frequency of 13.56 MHz. NFC utilizes magnetic induction between two loop antennas for it physical medium. The standards utilized in NFC include ISO/IEC 18092, ISO/IEC 14443 -2, 3, 4, and JIS X6319-4 [16]. NFC is a combination of three different operating modes. Peer-to-peer mode allows two devices to connect to one another in close proximity and exchange data. Android Beam is one technology which utilizes this mode. Reader, writer mode allows the NFC device to read/write passive NFC tags. Card emulation mode allows an NFC device to act like a passive NFC card to be accessed by an e xternal NFC card reader. [17][18] ANT+: ANT+ is a standard for the formation of wireless sensor networks. The protocol operates in the unlicensed 2.4 GHz ISM band. ANT networks can be formed according to a number of different types of topologies (peer -to-peer, mesh, star, tree, etc.). All nodes within a network can communicate with one another. ANT supports 125 different frequency channels. [19] 6 In order to maintain interoperability between devices, ANT defines a number of different profile types. These pro file types specify the data format, and communication parameters for that device. Devices can also have multiple profiles in order to operate with other devices with different profiles. Some examples of profiles are Speed and distance monitors, heart rate monitor, weight scale, bike power sensor, bike speed and cadence sensors, temperature sensors and fitness equipment data sensors. ANT can be implemented in a single microcontroller controlled by the host over a serial interface. A pairing mechanism is util ized to establish the connections between ANT devices. [20] References: [1] NI Sensor Terminology, Joseph J Carr, John M Brown . Introduction to Biomedical Equipment Technology, third edition. Sourced from: http://zone.ni.com/devzone/cda/ph/p/id/227 [2] Sensing Orientation - Workshop 3 , Aatish Bhatia. Rutgers University, Department of Physics. Sourced from: http://physics.rutgers.edu/~aatish/teach/srr/workshop3.pdf [3] The Hardware System, Daniel J Pack, Steven F. Barrett . Microcontroller Theory and Applications, second edition . pgs 167-168. [4] Donald A. Norman. The Design of Everyday Things. pgs 51. [5] Google Services. Google Android Development. Sourced from: http://developer.android.com/google/gcm/gcm.html [6] Mobile Application Development: Web vs Native. Andre Charland, Brian Leroux. Communications of the ACM, Vol. 54 No. 5, Pages 49 -53 Sourced from http://cacm.acm.org/magazines/2011/5/107700-mobile-applicationdevelopment/fulltext [7] What Customers Want. Carolyn Heller Baird, Gautam Parasnis. From Social Media to Social CRM . Sourced from: http://www.ibm.com/common/ssi/cgibin/ssialias?infotype=PM&subtype=XB&appname=GBSE_GB_TI_USEN&htmlfi d=GBE03391USEN&attachment=GBE03391USEN.PDF [8] Reinventing the Customer Relationship. Carolyn Heller Baird, Gautam Parasnis. From Social Media to Social CRM . Sourced from: http://www935.ibm.com/services/us/gbs/alliances/microsoft/images/GBE03416USEN.PD F [9] Human Engineering. Department of Defense. Design Criteria Standard. Sourced from: http://www.taproot.com/content/wpcontent/uploads/2012/04/MIL-STD-1472G.pdf [10] Eric Ries. The Lean Startup. [11] A Guide to Distributing Xamarin.iOS Applications. Publishing to the App Store. Sourced from: http://docs.xamarin.com/guides/ios/deployment,_testing,_and_metrics/app_ distribution_overview/publishing_to_the_app_store/ 7 [12]Tools: Publishing Overview. Google Android Development. Sourced from: http://developer.android.com/tools/publishing/publishing_overview.html [13] Bluetooth Special Interest Group, Bluetooth Basics, Sourced from http://www.bluetooth.com/Pages/Basics.aspx, accessed 2/19/2014 [14] Specification of the Bluetooth System, BLUETOOTH SPECIFICAT ION Version 4.1, 2013, Sourced from: https://www.bluetooth.org/DocMan/handlers/DownloadDoc.ashx?doc_id=282 159, accessed 2/19/2014 [15] NFC Forum, About the Technology, Sourced from http://nfcforum.org/what-is-nfc/about-the-technology/ [16] Connection Handover- Technical Specification, Connection Handover 1.2 2010-07-07, NFC Forum [17] NFC Forum, NFC Forum Specification Architecture, Sourced from http://nfc-forum.org/our-work/specifications-and-applicationdocuments/specifications/ [18] Android Developers, Near Field Communication API Guide, Sourced from http://developer.android.com/guide/topics/connectivity/nfc/index.html [19] ANT Message Protocol and Usage, ANT Rev 5.0, Sourced from http://www.thisisant.com [20] ANT+, ANT Basics, Sourced from http://www.thisisant.com/developer/ant/ant -basics/ 8