Transcript
Page 1: Dragrove User Manual v1.0-En

www.dragino.com

DRAGROVE USER MANUAL 1 / 15

DRAGROVE USER MANUAL

DRAGINO TECHNOLOG CO LIMITED

VERSION: 1.0

2012.Feb.07

Page 2: Dragrove User Manual v1.0-En

www.dragino.com

DRAGROVE USER MANUAL 2 / 15

Index:

1 Introduction ............................................................................................................ 2

2 Configure Dragino to Access Internet ..................................................................... 4

2.1 Access Dragino via WEB ................................................................................ 4

2.2 Access Dragino via SSH ................................................................................. 5

3 Program Dragrove via Dragino ................................................................................ 6

4 Sensor Configure Page/How to get data from UART .............................................. 8

5 Send command to Dragrove via SPI interface ....................................................... 11

6 Set up DDNS for remote access ............................................................................ 13

7 Upgrade firmware of Dragino ............................................................................... 14

8 REFERENCE: ........................................................................................................... 15

1 Introduction

OVERVIEW:

Dragino MS12 is a wifi/linux enable appliance for MCU project. The goal of the

Dragino is to solve the connectivity problem and greatly enhance microcontroller

products such as the Arduino. Dragino MS12 is motherboard base and it normally

need to work with different kind of plug-in daughter boards for different projects.

Dragrove is designed by Seeedstudio. It is an Arduino compatible daughter board for

Dragino. With the rich interface provide by Dragrove, developers can easily to

integrate develop a product with both advantage of Dragino ( Easy Internet Access,

powerful CPU, Linux system) and Arduino (monitoring and controlling the

environment).

This manual is a guru for how to set up program platform between Dragino and

Arduino. In this manual we will provide below information:

HOWTO- Access Dragino and configure the network parameters

HOWTO- Upgrade the Dragrove software via Dragino

HOWTO- Configure Dragino with Pachube support or record value in local

file

HOWTO- Send value from Dragrove to Dragino via UART interface

HOWTO- Send/Get Command from Dragino to Dragrove via SPI interface

HOWTO- Set up DDNS service for remote access from Internet

HOWTO- Upgrade firmware of Dragino

REFERENCE – software/hardware/mechanical relates documents.

Page 3: Dragrove User Manual v1.0-En

www.dragino.com

DRAGROVE USER MANUAL 3 / 15

Page 4: Dragrove User Manual v1.0-En

www.dragino.com

DRAGROVE USER MANUAL 4 / 15

2 Configure Dragino to Access Internet

2.1 Access Dragino via WEB

Dragino has a default IP address 192.168.255.1 in its LAN port. To access Dragino,

you can simple set your computer to DHCP and connect an Ethernet cable

between your computer and Dragino.

Dragino will auto assign an IP address to your computer. Type 192.168.255.1 in

your browser and you will see Dragino set up page.

Dragino Wifi interface works in AP Client mode by default. You can configure it to

connect to your Wifi router and get Internet access.

Page 5: Dragrove User Manual v1.0-En

www.dragino.com

DRAGROVE USER MANUAL 5 / 15

2.2 Access Dragino via SSH

Dragino is running embedded Linux system: OpenWrt. You can access it via SSH

and customized the system for different application.

The SSH access for Dragino is:

IP: 192.168.255.1 on LAN port.

Username: root

Password: root

SSH access password can be changed by type below commands:

root@dragino-751aff:~# passwd

Changing password for root

New password:

Retype password:

Password for root changed by root

Notice: for security reason, it is recommend that you change the SSH access

password after first log in.

Page 6: Dragrove User Manual v1.0-En

www.dragino.com

DRAGROVE USER MANUAL 6 / 15

3 Program Dragrove via Dragino

Dragino uses avrdude to upload program (.hex format) to Dragrove. One can use

Arduino IDE to generate the hex file. Arduino IDE will generate the hex file in a

temporary directory. In windows, after you compile the sketch, you can find this

hex file in your USER_TEMP_LATEST_build_directoy. Below is an example.

To transfer this file to Dragino, we can run a windows TFTP server (tftpd32) and

point the TFTP directory to where the hex file is.

Page 7: Dragrove User Manual v1.0-En

www.dragino.com

DRAGROVE USER MANUAL 7 / 15

Now we need to set up Dragino so it will automatically get the hex file and

program the Dragrove.

In SSH access to Dragino, run:

root@dragino:~# wget http://svn.dragino.com/scripts/upgrade_avr.sh

// get the upgrade_avr script from Dragino SVN server

root@dragino-751aff:~#sh upgrade_avr.sh YOUR_HEX_FILE_NAME YOUR_TFTP_SERVER IP

example: sh upgrade_avr.sh hello.hex 192.168.1.5

The script will now get the hex file from your TFTP server and upload the Dragrove.

Note: One can modify the upgrade_avr.sh for different fuse configuration

Page 8: Dragrove User Manual v1.0-En

www.dragino.com

DRAGROVE USER MANUAL 8 / 15

4 Sensor Configure Page/How to get data from UART

This page is used to configure Dragino to update sensor value to Pachube or save in a

local file.

Save Sensor Data to Local File: Enable/Disable local save.

Sensor Data Location: the location to store the sensor value.

Update Interval: How often to store the data value to local file or update to Pachube Note: local save will clear after reboot. You can change the local file location in /etc/config/sensor manual to

other location if you want to keep data after reboot.

Pachube (www.pachube.com) is free, public server where you can upload and plot

your sensor data. You can configure Dragino to update the sensor value and upload it

to your Pachube account.

Update Sensor Data to Pachube: Enable/disable update to Pachube service

Pachube User Name: Input your Pachube User Name here

Pachube Feed ID: Your Pachube ID,

Page 9: Dragrove User Manual v1.0-En

www.dragino.com

DRAGROVE USER MANUAL 9 / 15

You can find this in your Pachube URL:

For example, above feed has a ID: 40790

Pachube Secure Sharing Key: Input your Secure Sharing Key or API key here.

Sensor Port Configure:

Dragino offer 6 sensor ports to store data/ send data to Pachube. The sensor ID is the

ID used for record/update to Pachube.

How does Dragino record data and update to Pachube?

Dragino runs a daemon which will check all data get from its UART interface and

check if it match this format: <Sensor ID>VALUE [… … … …]. If it match, then Dragino

will store this value as the latest value of this sensor ID. It will store the data on local

location or upload to Pachube in periodically and then clear the data buffer.

Examples of data format:

1) <sensor1>89 <sensor2>133 <sensor3>67

2) <sensor1>100 <sensor3>43 <gas>78

In 1), Dragino will store: sensor1=89, sensor2=133 and sensor3=67

2), Dragino will store sensor1=100, sensor3=43, but no gas since gas is not a valid

sensor ID.

Note: in the data format there should be one or more space between different

sensor ID

SOFTWARE in Dragrove:

In Dragrove, what we need to do is send the sensor value to Dragino via UART

interface.

A example software for Dragrove can be download from:

http://svn.dragino.com/examples/SerialToPachube/NewSoftSerialTest_Dragino.pde

This code is demo code for sending sensor data from Dragrove to Dragino. After you

upload this code to Dragrove and configure Pachube as described above, you should

see your feeds update every minutes. Below is a plot example.

Page 10: Dragrove User Manual v1.0-En

www.dragino.com

DRAGROVE USER MANUAL 10 / 15

Page 11: Dragrove User Manual v1.0-En

www.dragino.com

DRAGROVE USER MANUAL 11 / 15

5 Send command to Dragrove via SPI interface

Besides the UART interface, Dragino also connect to Dragrove via its SPI interface. We

can use this interface to send command /get feedback from Dragrove.

You can find the example code from below link:

http://svn.dragino.com/examples/ Dragrove_SPI_Test /

avr/ is the code running in the Dragrove.

TEST.lua is the code running in the Dragino

avr code include below parts:

SPI/ : SPI library , copy this to the Arduino\libraries

buffer/: buffer library, copy this to the Arduino\libraries

NewSoftSerial/:software series library, copy this to the Arduino\libraries

Dragrove_SPI_TEST.h : use Arduino IDE Sketchadd file to add this file in the

sketch

Dragrove_SPI_TEST.pde : Sketch for the Dragrove.

Dragrove_SPI_TEST.cpp.hex: Compiled hex file.

Compile the avr image and upload it to your Dragrove. Then in the Dragino SSH , run

root@dragino-751aff:~# lua test.lua gb

The Dragino will send command “gb” (Get_Board_Info) to Dragrove SPI interface, and

Dragrove will get this command and send back the board info. The command gb is

predefined in Dragrove, in the demo code, there are two commands:

gb: Get Board info

gd: Get data from Dragrove, data will be send via UART interface

below are the output while running some commands.

Page 12: Dragrove User Manual v1.0-En

www.dragino.com

DRAGROVE USER MANUAL 12 / 15

In the avr code running in Dragrove, it have a interrupt code ISR(SPI_STC_vect) , this

will be called once there is a byte from SPI interface. First it checks if the byte is the

end of the command message (“.”), if this it is not the end , then we add this to rx

buffer. If it is the end , we set a flag that it is a new control message. The avr loop

keep checking the new message flag, so when this flag is set, it will run ctrlDecode to

parse the command which is stored in the rx buffer.

You can define different command in the switch/case condition code for example

control motor, get temperature etc. In this example, we only have a command “gb”

which simply shows the pre-defined board information.

To send data back to the Dragino, we put the data string in tx buffer and use

received_from_spi(tx) to send a byte each time.

The lua code in Dragino shows how to write a message to SPI interface and read the

incoming SPI message then print it out.

Page 13: Dragrove User Manual v1.0-En

www.dragino.com

DRAGROVE USER MANUAL 13 / 15

6 Set up DDNS for remote access

Dynamic DNS allows you access/control the Dragino & Dragrove from other location

even you don’t have a fix IP Address.

Enable DDNS Service: Enable/Disable DDNS service

DDNS Service Provider: choose your service provide here

Domain: the hostname provide by your DDNS service provider.

Username: Username of your DDNS service

Password: Password of your DDNS service

Source of IP-Address: Where to look for your external IP address. You can choose:

Network: Set external IP according to your network interface info, eg. wan , lan

Interface: Set external IP according to your hardware network interface info:

eth0 , ath0.

URL: Set external IP according to URL info, for example, you can set it to

http://www.whatismyip.com/automation/n09230945.asp so the Dragino will

connect to this url and get its external IP. It is used when Dragino have a private IP

address in its wan port.

Check for changed IP: how often to check if it needs to update its IP to ddns service

provider.

Force update: how often to force an update to DDNS service provider

Page 14: Dragrove User Manual v1.0-En

www.dragino.com

DRAGROVE USER MANUAL 14 / 15

7 Upgrade firmware of Dragino

The latest firmware of Dragino can be find in below link:

http://www.dragino.com/downloads/MS12/firmware/

Step1: Download the firmware .squashfs and .lzma

Step2: Connect the LAN port of Dragino and your PC directly, disable your wifi

interface.

Step3: Download and run FonFlash.exe

Configure FonFlash:

1) Firmware type: Openwrt

2) Select the right Network Interface

3) rootfs: choose openwrt-atheros-root.squashfs

4) kernel: choose openwrt-atheros-vmlinux.lzma

Step4: Click Flash Router Now and power on your Dragino.

Fon flash will upgrade the device. It will show upgrade successfully after finished and

exit.

Reference output during upgrade:

Peer MAC: 7c:dd:90:01:2b:c1

Peer IP : 192.168.255.1

Your MAC: 00:ba:be:ca:ff:ee

Your IP : 192.168.255.0

Setting IP address...

ip_addr -l 192.168.255.1/8 -h 192.168.255.0

Initializing partitions ...

fis init

loading file:

load -r -b 0x80100000 -m tftp file_1

creating flash partition (this may take some time)

fis create -f 0xa8030000 -l 0x006f0000 -e 0x00000000 rootfs

Page 15: Dragrove User Manual v1.0-En

www.dragino.com

DRAGROVE USER MANUAL 15 / 15

8 REFERENCE

www.seeedstudio.com : Dragrove vendor, more info about Dragrove and its

development kit can be found here.

www.openwrt.org: embedded linux used in Dragino.


Top Related