1 / 39

The Joy of Wires: an introduction to Netduino , .NET Micro Framework and the Internet of Things

This book provides a comprehensive introduction to Netduino, .NET Micro.Framework, and the Internet of Things, covering building blocks, communicating with sensors, and internet-enabled applications.

pease
Download Presentation

The Joy of Wires: an introduction to Netduino , .NET Micro Framework and the Internet of Things

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. The Joy of Wires: an introduction to Netduino, .NET Micro Framework and the Internet of Things Iain Angus

  2. agenda • 4. Building Blocks • Digital Input / Output • AnalogInput / Analog Output (Pulse Width Modulation) • 5. Communicating with Digital Sensors • I2C / SPI • 6. Internet Enabled Applications • ThingSpeak • 1. Introduction • .NET MicroFramework • Internet of Things • Netduino • 2. Getting started • Setup • Fritzing • Breadboards • 3. Building Blocks • Digital Input / Output • Analog Input / Analog Output (Pulse Width Modulation)

  3. Everything starts somewhere… • Why Netduino… • Visual Studio IDE • Step by step debugging • Reuse existing skills • Low cost electronics • Fast prototyping

  4. The Devices Continuum Full .NET Framework Device Capabilities Windows Embedded Windows Embedded Compact .NET MicroFramework Limited MCU Example: ARM7 / Cortex-M3 / SH2 ARM9 / Cortex-A8 \ARM11 / Cortex-A9 / Atom Centrino Large Small Device Category

  5. The NETMF Open Source Project • Smallest .NET implementation • Targets small 32 bit processors (ARM 7-9, Cortex M(x), Analog Devices Blackfin, Renesas SH2) • Currently used in consumer products, industrial automation, energy management, health/eldercare, and lots of new categories. • First Open Source release – Nov 2009 • Apache 2.0 • Community based model • Motivation • Avoid fragmentation • Develop a clear collaborative direction • Core Tech Team • Microsoft Development Team • netmf.codeplex.com • netmf.com

  6. Features not available in .NETMicroframework

  7. The NETMF Version 4.2 From Microsoft Resources: From the community: VB.NET (a collaboration) New Platform builder FTP – client (desktop compatible) and server (NETMF only) Regular Expressions StringBuilder Type PWM and Analog/Digital Conversion Bug fixes Secure Hardware (SIM Card) drivers • VB.NET (a collaboration) • Cryptographic Primitives and Object Model • Remote firmware update • IL Optimizations • Bug fixes • SNTP

  8. What is the internet of things? • Oxford Dictionary (noun): • “A proposed development of the Internet in which everyday objects have network connectivity, allowing them to send and receive data” Physical Object + Controller, Sensor, Actuator + Internet = Internet of Things

  9. INTERNET OF THINGS • Current Key Applications: • Smart grid and energy management: utility companies can optimize delivery of energy to homes and businesses while customers can better manage energy usage. • Home and building automation: Smart homes and buildings have centralized control over virtually any device or system in a home or office, from appliances to PEV’s security systems. • Asset tracking: Enterprises, hospitals, factories and other large organizations can accurately track the locations of high-value equipment, patients, vehicles, and so on. • Health and wellness: Doctors can remotely monitor patients’ health while people can track the progress of fitness routines.

  10. What is netduino? • Open Source Hardware Platform • Atmel 32-bit microcontroller • Speed: 168MHz, Cortex-M4 • Code Storage: 384 KB • RAM: 100+ KB • Runs .NET MicroFramework • Family of products: • Netduino 1, 1 plus, 2, 2 plus, mini • Netduino Go

  11. Netduino projects • Typically consist of up to three types of components: • Actuators – things that do stuff (act) • Sensors – things that measure (sense) • Microchips – specialised functions Allowing you to do prototyping, robotics, automation, automotive, sequencingas well as a learning aid

  12. Getting Started

  13. Development Environment Netduino 2 or 2 plus Visual Studio 2010/2012 .NET Micro Framework SDK v4.2 / v4.3 (VS2012) Netduino SDK v4.2.2.0 (32-bit) or NetduinoSDK v4.2.2.0 (64-bit) or Netduino SDK v4.3 (VS2012)

  14. Netduino Plus 2 - on the board • LED • Button • SD card • Ethernet • Analog Pins • Digital Pins

  15. The breadboard A breadboard lets you wire electronic components without any soldering Its holes are connected “under the hood” as shown here

  16. Fritzing

  17. Building Blocks

  18. General Purpose Input OutPut (GPIO) • Digital input / output - logical 0 or 1 • InputPort(Pin, Boolean, ResistorMode) • Read • OutputPort(Pin, Boolean, Boolean, ResistorMode) • Write • InterruptPort(Pin, Boolean, ResistorMode, InterruptMode) • OnInterrupt

  19. Demo – push the button Components used: Netduino Push Button 220 ohm resistor x 2 LED

  20. Analog Input Two implementations of AnalogInputclass: SecretLabs var sensorPort = new AnalogInput(Pins.GPIO_PIN_A0); int rawValue = sensorPort.Read(); // returns count Microsoft.SPOT var sensorPort = new AnalogInput(AnalogChannels.ANALOG_PIN_A0); float volts = sensorPort.Read(); // returns % max voltage int rawValue = sensorPort.ReadRaw() // returns count Ports A0-A5 Netduino Able to provide own reference voltage (Aref) 10 bit ADC, value between 0 and 1023 if using SecretLabs implementation 12 bit ADC, value between 0 and 4095 if using Microsoft.SPOT implementation May need to translate reading into meaningful value, requires reading device datasheet…

  21. ADXL335 Accelerometer Analog Sensor • Sensor has a full sensing range of +/-3g – zero G approximately 1.65V with Aref 3.3V • No on-board regulation, provided power should be between 1.8 and 3.6VDC • 330 mV/G • SecretLabsimplementation: • 330 mV/G × (1023 ADC units) / 3300 mV = 102.3 (ADC units)/G • Microsoft SPOT implementation: • 330 mV/G × (4095 ADC units) / 3300 mV = 409.5 (ADC units)/G

  22. Analog Output (Pulse Width Modulation (PWM)) • Digital I/O Ports 5&6, 9&10 • Computers can’t output analog voltages • Only digital voltages (0 volts or 3.3V) • But you can fake it if you average a digital signal flipping between two voltages. • Used everywhere • Lamp dimmers, motor speed control, power supplies, noise making • Three characteristics of PWM signals • Pulse width range (min/max) • Pulse period(= 1/pulses per second) • Voltage levels(0-3.3V, for instance)

  23. Demo – working with analog signals Components used: Netduino HS-422 Servo

  24. Are all pins equal? • power and i/o • input: 7.5 - 12.0 VDC or USB powered • output: 5 VDC and 3.3 VDC regulated • digital i/o are 3.3 V--but 5 V tolerant

  25. Digital Sensor

  26. Digital sensors And many others.. Inter-Integrated Circuit (I2C) • 2 wire bus (SDA/SCL) • Devices are uniquely addressable • Relatively slow Serial Peripheral Interface Bus (SPI) • 4 wire bus (SCLK/MOSI/MISO/CS) • Fast touch sensor compass fm transmitter temperature & humidity sensor

  27. HMC6352 Datasheet (i2C Compass) I2C slave address :0x42 (7 MSB with LSB 0 filled) Heading mode: 0 – 3599 binary format over two bytes (Tenths of a degree) e.g. MSB: 0x0B LSB: 0x7F 0x0B7F = 2943 decimal Degrees: 294.3 Interface Commands / Responses

  28. Demo – i2c / SPI Components used: Netduino Nokia 5110 LCD DS1037 Breakout Board HMC6352

  29. Connecting To The Internet

  30. Connecting to the Internet Ethernet (built-in or shield), plug it in anywhere Wifi (module), configured once per location GSM/GPRS (module), configured once, easy to use Bluetooth (module), via GSM/GPRS/Wifi of phone ZigBee (module), via ZigBee gateway USB (built-in), via desktop computer

  31. IoT infrastructure services Twitter, allows objects to talk to humans or receive commands e.g. @twrbrdg_itself (f.k.a. @towerbridge) Yaler, enables remote access to Internet-connected devices e.g. http://try.yaler.net/~arduino/led ioBridge http://www.iobridge.com (https://realtime.io) Thingspeak, an open source "Xively", Twitter for devices e.g. https://thingspeak.com/channels/9 Xively (was Cosm, was Pachube), to store and reuse sensor measurementse.g. https://xively.com/feeds/116340

  32. Platforms • Connectivity • Open Source • Commercial • Applications • Wearable • Lifestyle • Home • Building Blocks • Protocols • Telecoms • Hardware

  33. Thingspeak • Open Source API • Real-time data collection • Data processing • Data visualizations • Location-awareness • Status context • Application infrastructure • Twitter proxy • Apps • Plugins

  34. Demo Architecture HTTP://PUT HTTP://GET api.thingspeak.com HTTP://GET HTTP://POST Sensor Actuator

  35. Alterative Architecture api.thingspeak.com HTTP://GET HTTP://POST Sensor as Server Actuator as Server

  36. Demo – connecting to the cloud Components used: Netduino TMP36 Hitec HS-422 Servo

  37. Useful resources Secret Labs LLC • http://netduino.com • Forums http://forums.netduino.com • Community Development Site for the .NET Micro Framework • http://www.netmf.com • API Reference for .NET Micro Framework • http://msdn.microsoft.com/en-us/library/bb417054.aspx • Adafruit • http://learn.adafruit.com • Sparkfun • https://www.sparkfun.com/tutorials

  38. Agent smartwatch - .NET On Your WRIST • Kickstarter Funded – over $1million • 120MHz ARM Cortex-M4 processor • with secondary AVR co-processor • 1.28" Memory Display (128 x 128) • with intelligent backlighting • Anti-glare glass lens • Bluetooth 4.0 BD/EDR + LE • 3-axis accelerometer • Ambient light sensor • Vibration motor • Qi wireless charging • Water resistant (ATMs: TBD) • AGENT OS 1.0 including .NET Micro Framework 4.3

  39. Thanks for listening… and Questions?

More Related