2017년 2월 6일 월요일

LinkIt ONE



LinkIt ONE

Introduction

enter image description here
The LinkIt ONE development platform is an open source, high performance board for prototyping Wearables and IoT devices. It is based on the world’s leading SoC for Wearables, MediaTek Aster (MT2502) combined with high performance Wi-Fi (MT5931) and GPS (MT3332) chipsets to provide you with access to all the features of MediaTek LinkIt. It also provides similar pin-out features to Arduino boards, making it easy to connect various sensors, peripherals, and Arduino shields.
LinkIt One is an all-in-one prototyping board for IoT/wearables devices. Integrating GSM, GPRS, Wi-Fi, GPS, Bluetooth features into a basic Arduino form factor.LinkIt ONE is a co-design product by Seeed Studio and MediaTek. It brings together both parties’ technology in open hardware and industrial leading reference designs for Wearables and IoT devices to create a powerful development board.
Note
LinkIt ONE board comes with a lot of features and its SDK(Software Development Kit) is quite comprehensive. Read this document throughly once before using the board. Being a co-design product basic level Technical Support for hardware is provided at Seeedstudio LinkIt One Forum.Advanced Technical support is available at MediaTek LinkIt One Forums.These forums have a good number of FAQs about this board.Please search solutions for your requirements/issues first before posting questions for saving your time.

Features


  • Includes ARM7 EJ-S™, GSM, GPRS, Wi-Fi, Bluetooth BR/EDR/BLE, GPS, Audio codec, and SD card connector on a single development board.
  • Pin-out similar to Arduino boards, including Digital I/O, Analog I/O, PWM, I2C, SPI, UART and power supply, compatible with Arduino.
  • Provides various interfaces for connecting to most sensors, peripherals, Groves, and other widgets.
  • You are what you wear. Using LinkIt ONE together with MediaTek LinkIt SDK (for Arduino) you will be able to easily turn your ideas into practical prototypes and make them a reality with the Seeed productization and agile manufacturing service.

specifications


ParameterValue
ChipsetMT2502A (Aster, ARM7 EJ-S (TM) )
Clock Speed260MHz
Dimensions3.3x2.1 inches
Flash16MB
RAM4MB
DC Current Per I/O Pin1mA
Analog Pins3
Digital Output3.3V
Analog Input5V
UARTSoftware based(Serial) ,also known as USB Modem Port and Hardware Serial(Serial1, D0&D1)
SD CardUp to 32GB(Class 10)
PositioningGPS(MT3332)
GSM850/900/1800/1900 MHz
GPRSClass 12
Wi-Fi802.11 b/g/n
BluetoothBR/EDR/BLE(Dual Mode)

Application Ideas


  • Internet of Things
  • Smart House
  • Wearable Designe
  • Industrial
  • Sensor Hub
  • Automation & Transportation
Here are some projects for your reference. More awesome project at Recipe and Instructables.
Facebook Like MonitorTexting Door AlarmSmart Bed Alarm
enter image description hereenter image description hereenter image description here
Make it NOW!Make it NOW!Make it NOW!
AWS IoT TutorialInstructables IndicatorDIY an Acrylic Case
enter image description hereenter image description hereenter image description here
Make it NOW!Make it NOW!Make it NOW!

Hardware Overview


Configuration Switches

There are 3 slide switches on LinkIt ONE which are used to configure the function/working mode :
Switch No.FunctionalityPosition 1 - FunctionalityPosition 2 - Functionality
1Program ModeMS: In this position, when connected to PC, LinkIt One board will be shown as 10MB USB drive. The program will not execute in this mode. Any file that is copied to this drive can be read via the code.UART:This position is used to set the board to program mode. Firmware can be uploaded in this mode.
2PowerBAT: Board powered by Li-ion Battery. To charge battery, set the switch to this position and connect the board to PC.USB:Board powered by USB port. Set the switch to this position when there is no battery connected to program the board.
3SD/SPISPI:This position allows access of external SPI pins (D10 - D13)SD:This position allows the code to access SD card. This mode also disables access of SPI pins (D10-D13).
Note
DO take care as you handle USB micro type-B socket, or you might break the socket off.

Getting started

Procedure Overview

No.StepRead more
1Install Arduino IDE 1.5.7 Beta (Windows or MAC OS X version)here
2Register on MediaTek Labs.
3Download Linkit Developer’s Guide and read.
4Install LinkIt SDK for Arduino IDE (Windows or MAC OS X).here
5Install LinkIt ONE drivers.here
6Update the on-board firmware version.here
7Open Arduino IDE, Select LinkIt ONE board and start coding.here
8Connect GSM, GPS and WiFi/BT antennae to LinkIt One boardhere
9Insert SIM and Micro SD Cardhere
10Explore examples and Happy making!

Installing Arduino IDE

Download latest Arduino IDE .For more advanced topics, follow MediaTekTM instructions.

Installing Mediatek LinkIt ONE SDK

  • Download LinkIt SDK for Arduin.At the time of writing this guide, v1.1.11 Windows SDK (Beta) was used. Read the video guide for Windows OS and MAC OS X platforms here
  • Extract the downloaded files to Arduino IDE folder.
  • Double-Click the .EXE file and install.
  • With the installation of LinkIt ONE SDK, Arduino IDE works a LinkIt ONE IDE.

Installing Drivers

  • Disable Driver Signature Enforcement if you are using Windows 8/8.1 OS. Read[instructions]
  • (http://www.seeedstudio.com/wiki/Download_Arduino_and_install_Arduino_driver#Installing_drivers_for_the_Seeeduino_with_window8)

  • Put the MS/UART slide switch to UART position and connect LinkIt ONE to PC.
  • Open Device Manager, the following COM ports will be displayed.
  • Install driver from ..\LinkIt_ONE_IDE\drivers\mtk folder.
  • After installing drivers, Device Manger should display the following two ports:
MTK USB Debug Port used for uploading code.
MTK USB Modem Port used for printing message, such as Serial.println()
Note
There is no official Windows 10 driver yet. Windows 10 users can manually select the Windows 7 driver files from \LinkIt_ONE_IDE\drivers\mtk from Device Manager. This is known to work on few PCs.

Updating Firmware

The firmware of LinkIt ONE board needs to be updated once in a while. Latest LinkIt ONE SDK comes with a version of firmware.
  • Before starting the firmware update, make sure the slide switches are in proper position ( MS/UART should be in MS position. USB/BAT in USB position):
  • Run FirmwareUpdater.exe application from ..\LinkIt_ONE_IDE\hardware\tools\mtk folder.
  • Click the button and then connect LinkIt ONE to PC. Wait for 1 minutes for the update to complete successfully.

Uploading Code (Blinky)

  • The slide switches should be configured for firmware upload (i.e Put MS/UART in UART position and Power switch in USB position).
  • Open File -> Examples -> Basics -> Blink in LinkIt ONE IDE.
  • Select the COM Port number corresponding to MTK USB Debug port in Tools -> Port.
  • Compile and upload the code.
  • LED marked L should blink.

Connecting Antennae

There are three antennae provided with LinkIt ONE. They are used for:
  • GSM/GPRS
  • Wi-Fi/BT
  • GPS
Connect the antenna as the following image.
Note
  • While pulling the antenna from board, do it with care. Please Do not use brute force.
  • Try to use the force perpendicular to the direction of the board, otherwise you might damage the antenna pad.

Inserting SIM Card and SD Card

LinkIt ONE accepts standard size SIM Card and Micro SD Card. Insert them as per the following image:

Exploring LinkIt ONE SDK Examples

LinkIt ONE SDK comes with many examples / sample code to use peripherals like GSM, GPRS, WiFi, BT, Audio, GPS etc. Explore them first and read about API documentation. API documentation are available in User Guide and API References site

Compatible Groves and Shields for LinkIt ONE

  • We manufacture hundreds of Groves and Shields, including sensors, actuators, displays and other modules.
  • You can implement your ideas with those Groves and Shields easily.
  • But, LinkIt ONE does not support all of them.
  • We prepared a list of compatible Groves and Shields:

Tutorial of Sidekick Basic Kit for LinkIt ONE

enter image description here
The Sidekick Basic Kit for LinkIt ONE is designed to be used with your LinkIt ONE board. This kit will help you quickly get along well with the platform of LinkIt. It includes many of the most popular accessories for DIY projects : like Breadboard, Jumper wires, Color LEDs, Resistors, Buzzer, etc. All these come in a handy box, which is easy to transport and mimimises clutter. The kit includes a complete guide that will familiarize you with a wide range of electronic components while you create small, simple, and easy-to-assemble circuits. There are 10 different courses outlined that will offer a best way for beginner to get familiar with LinkIt ONE.

Resources

Schematic / Design Files:
Software:
Datasheets and User Guides:
Getting Help
More

Help us make it better

Thank you for choosing Seeed. A couple of months ago we initiated a project to improve our documentation system. What you are looking at now is the first edition of the new documentation system. Comparing to the old one, here is the progresses that we made:
  • Replaced the old documentation system with a new one that was developed from Mkdocs, a more widely used and cooler tool to develop documentation system.
  • Integrated the documentation system with our official website, now you can go to Bazaar and other section like Forum and Community more conveniently.
  • Reviewed and rewrote documents for hundreds of products for the system’s first edition, and will continue migrate documents from old wiki to the new one.
An easy-to-use instruction is as important as the product itself. We are expecting this new system will improve your experience when using Seeed’s products. However since this is the first edition, there are still many things need to improve, if you have any suggestions or findings, you are most welcome to submit the amended version as our contributor or give us suggestions in the survey below, Please don’t forget to leave your email address so that we can reply.
Happy hacking

Raspberry Pi Relay Board v1.0



Raspberry Pi Relay Board v1.0

Introduction

The Relay Shield utilizes four high quality relays and provides NO/NC interfaces that control the load of high current. Which means it could be a nice solution for controlling devices that couldn’t be directly controlled by IIC bus. Standardized shield form factor enables smoothly connection with the Raspberry Pi . The shield also has four dynamic indicators show the on/off state of each relay.

Features

  • Raspberry Pi compatible
  • Interface: IIC, Three hardware SW1 (1, 2, 3) select the fixed I2C-bus address
  • Relay screw terminals
  • Standardized shield shape and design
  • LED working status indicators for each relay
  • COM, NO (Normally Open), and NC (Normally Closed) relay pins for each relay
  • High quality relays
  • Working status indicators for each relay

Specifications

ItemMinTypicalMaxUnit
Supply Voltage4.7555.5VDC
Working Current10/360mA
Switching Voltage//30/250VDC/VAC
Switching Current//15A
Frequency/1/HZ
Switching Power//2770VA/240W
Relay Life100,000//Cycle
Dimensions91.20 * 56.15 * 32mm
Caution
Place 2 layers of electrical tape on the top of the Arduino's usb connector. This will prevent the relay shield from making contact. Do not operate voltage more than 35V DC.

Hardware Overview

Usage

Here we can use serial console to change the state of each the relay or all relays.

Hardware Installation

  • Raspberry Pi B & Raspberry Pi Motor Driver Board v1.0
  • Hardware connection as shown
We can select the fixed I2C-bus address by SW1.

Software Part

1.Copy the code below;
import time import smbus import signal import sys bus = smbus.SMBus(1) # 0 = /dev/i2c-0 (port I2C0), 1 = /dev/i2c-1 (port I2C1) class Relay(): global bus def __init__(self): self.DEVICE_ADDRESS = 0x20 #7 bit address (will be left shifted to add the read write bit) self.DEVICE_REG_MODE1 = 0x06 self.DEVICE_REG_DATA = 0xff bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1, self.DEVICE_REG_DATA) def ON_1(self): print 'ON_1...' self.DEVICE_REG_DATA &= ~(0x1<<0) bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1, self.DEVICE_REG_DATA) def ON_2(self): print 'ON_2...' self.DEVICE_REG_DATA &= ~(0x1<<1) bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1, self.DEVICE_REG_DATA) def ON_3(self): print 'ON_3...' self.DEVICE_REG_DATA &= ~(0x1<<2) bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1, self.DEVICE_REG_DATA) def ON_4(self): print 'ON_4...' self.DEVICE_REG_DATA &= ~(0x1<<3) bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1, self.DEVICE_REG_DATA) def OFF_1(self): print 'OFF_1...' self.DEVICE_REG_DATA |= (0x1<<0) bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1, self.DEVICE_REG_DATA) def OFF_2(self): print 'OFF_2...' self.DEVICE_REG_DATA |= (0x1<<1) bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1, self.DEVICE_REG_DATA) def OFF_3(self): print 'OFF_3...' self.DEVICE_REG_DATA |= (0x1<<2) bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1, self.DEVICE_REG_DATA) def OFF_4(self): print 'OFF_4...' self.DEVICE_REG_DATA |= (0x1<<3) bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1, self.DEVICE_REG_DATA) def ALLON(self): print 'ALLON...' self.DEVICE_REG_DATA &= ~(0xf<<0) bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1, self.DEVICE_REG_DATA) def ALLOFF(self): print 'ALLOFF...' self.DEVICE_REG_DATA |= (0xf<<0) bus.write_byte_data(self.DEVICE_ADDRESS, self.DEVICE_REG_MODE1, self.DEVICE_REG_DATA) if __name__=="__main__": relay = Relay() # Called on process interruption. Set all pins to "Input" default mode. def endProcess(signalnum = None, handler = None): relay.ALLOFF() sys.exit() signal.signal(signal.SIGINT, endProcess) while True: ct = raw_input("input: ") if ct == '1on': relay.ON_1() elif ct == '2on': relay.ON_2() elif ct == '3on': relay.ON_3() elif ct == '4on': relay.ON_4() elif ct == '1off': relay.OFF_1() elif ct == '2off': relay.OFF_2() elif ct == '3off': relay.OFF_3() elif ct == '4off': relay.OFF_4() elif ct == 'allon': relay.ALLON() elif ct == 'alloff': relay.ALLOFF()
2.Saved in the Raspberry Pi, according to your own path.
3.Run this program.
The terminal will print “input:”,then you can change the state of each the relay or all relays. You should type input like “1on”,“2on”,“3on” or “1off”,“allon”,“alloff”
4.Note that you should select set the correct I2C-bus address.
You can see :
Terminal:
Raspberry Pi Relay Board v1.0: Whichever relay is turned on, the corresponding LED will turn on.

Resources

Help us make it better

Thank you for choosing Seeed. A couple of months ago we initiated a project to improve our documentation system. What you are looking at now is the first edition of the new documentation system. Comparing to the old one, here is the progresses that we made:
  • Replaced the old documentation system with a new one that was developed from Mkdocs, a more widely used and cooler tool to develop documentation system.
  • Integrated the documentation system with our official website, now you can go to Bazaar and other section like Forum and Community more conveniently.
  • Reviewed and rewrote documents for hundreds of products for the system’s first edition, and will continue migrate documents from old wiki to the new one.
An easy-to-use instruction is as important as the product itself. We are expecting this new system will improve your experience when using Seeed’s products. However since this is the first edition, there are still many things need to improve, if you have any suggestions or findings, you are most welcome to submit the amended version as our contributor or give us suggestions in the survey below, Please don’t forget to leave your email address so that we can reply.
Happy hacking