Download presentation
Presentation is loading. Please wait.
Published byHarvey Hoover Modified over 9 years ago
1
THE JOY OF WIRES: AN INTRODUCTION TO NETDUINO,.NET MICRO FRAMEWORK AND THE INTERNET OF THINGS Iain Angus
2
AGENDA 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) 4. Building Blocks Digital Input / Output Analog Input / Analog Output (Pulse Width Modulation) 5. Communicating with Digital Sensors I2C / SPI 6. Internet Enabled Applications ThingSpeak
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 Device Capabilities Full Limited Large Small Device Category Windows Embedded Compact Windows Embedded.NET MicroFramework.NET Framework MCU Example: ARM7 / Cortex-M3 / SH2 ARM9 / Cortex-A8 \ARM11 / Cortex-A9 / Atom Centrino
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
FeatureRequired C# Compiler.NET Micro Framework Required Framework Features Generics2.0noGenerics Nullables2.0noGenerics, Nullable<> Expression trees3.0noGenerics, Expression<> Anonymous types3.0noGenerics, StringBuilder Dynamic lookup4.0noGenerics, CallSite, Binder Variance in generic types4.0noGenerics FEATURES NOT AVAILABLE IN.NET MICROFRAMEWORK
7
THE NETMF VERSION 4.2 From Microsoft Resources: VB.NET (a collaboration) Cryptographic Primitives and Object Model Remote firmware update IL Optimizations Bug fixes SNTP 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
8
Physical Object + Controller, Sensor, Actuator + Internet = Internet of Things 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”
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, sequencing as 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 Netduino SDK 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 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 Two implementations of AnalogInput class: 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 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 SecretLabs implementation: 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
DISPLAYING DATA
26
LCD Display LED Bar Graph Seven Segment Display LED LED Matrix Colour Display
27
DEMO – HD44780 Components used: Netduino HD44780 Potentiometer
28
In the animation to the below, we can see how the four- bit binary number 1001 is shifted to the Q outputs of the register. SERIAL IN - PARALLEL OUT SHIFT REGISTERS Shift register is controlled with three pins. They are usually called DATA, LATCH and CLOCK Each time CLOCK goes high two things happen: Current value in register shifted left by one, last bit is dropped out 1 st bit set to current value of DATA To write a byte to shift register this has to happen eight times in a loop To update output pins you must pull LATCH high, data transfer happens on transition from low to high. This is also called rising edge
29
DEMO – NEVER ENOUGH PINS… 74HC595 SHIFT REGISTER Components used: Netduino Electret microphone 74HC595 shift register LED bar 220 ohm resistor
30
DIGITAL SENSOR
31
DIGITAL SENSORS 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 And many others..
32
HMC6352 DATASHEET (I2C COMPASS) Command Byte ASCII (hex) Response 1 Byte (binary) Response 2 Byte (binary) Description S (53)Sleep W (57)Wakeup O (4F)S/R Now C (43)Enter user calibration mode E (45)Exit user calibration mode L (4C)Save Op Mode to EEPROM A (41)MSB DataLSB DataGet data, compensate, calculate new heading 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
33
DEMO – I2C / SPI Components used: Netduino Nokia 5110 LCD DS1037 Breakout Board HMC6352
34
CONNECTING TO THE INTERNET
35
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
36
IOT INFRASTRUCTURE SERVICES Thingspeak, an open source "Xively", Twitter for devices e.g. https://thingspeak.com/channels/9https://thingspeak.com/channels/9 Xively (was Cosm, was Pachube), to store and reuse sensor measurements e.g. https://xively.com/feeds/116340https://xively.com/feeds/116340 Twitter, allows objects to talk to humans or receive commands e.g. @twrbrdg_itself (f.k.a. @towerbridge)twrbrdg_itself Yaler, enables remote access to Internet- connected devices e.g. http://try.yaler.net/~arduino/ledhttp://try.yaler.net/~arduino/led ioBridge http://www.iobridge.com http://www.iobridge.com (https://realtime.io)
37
Platforms Connectivity Open Source Commercial Applications Wearable Lifestyle Home Building Blocks Protocols Telecoms Hardware
38
THINGSPEAK Open Source API Real-time data collection Data processing Data visualizations Location-awareness Status context Application infrastructure Twitter proxy Apps Plugins
39
DEMO ARCHITECTURE SensorActuator HTTP://PUT HTTP://GET api.thingspeak.com HTTP://POST HTTP://GET
40
ALTERATIVE ARCHITECTURE Sensor as ServerActuator as Server HTTP://GET HTTP://POST api.thingspeak.com
41
DEMO – CONNECTING TO THE CLOUD Components used: Netduino TMP36 Hitec HS-422 Servo
42
USEFUL RESOURCES Secret Labs LLC http://netduino.com Forums http://forums.netduino.comhttp://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
43
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
44
THANKS FOR LISTENING… AND QUESTIONS?
Similar presentations
© 2025 SlidePlayer.com Inc.
All rights reserved.