gateway device

Download Report

Transcript gateway device

Lab9 - Sensor Network
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
1 / 28
 Learn how to establish a simple sensor network (SIOTAS) on STM32F207.
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
2 / 28
 Host System
 Windows XP
 Build System
 IAR Embedded Workbench + Ubuntu 8.04
 Target System
 PTK development board (STM32F207)
 Software
 SQL Agent
 Prepared Database
 mCloud Portal
 MySQL Connector ODBC
 mCloud AppClient
 PTK Examples Version 2
 You can find all software on HERE.
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
3 / 28
 We would like to build a sensor network for the elders.
 A gateway device is used to collect data from node devices by using Zigbee.
 All the sensing data will be sent to a server and recorded in database.
 We can use a browser to monitor the history of data and graphs.
Sensor Devices
Client Side
node device
gateway device
Server Side
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
4 / 28
 We use STM32F207 as the base of each device.
 Gateway Device
 Collect all the data from other sensors, and send them to the server.
 Lighting Device
 Detect the current value of temperature and luminance flux, and turn on the
light when it is dark.
 Bathroom Device
 Detect the movement of users and record user in/out events.
 Entrance Device
 Detect the door whether it is open, and record events of user entrance.
 User can go indoor/outdoor by using RFID.
 Activity Device
 Detect the heart beat rate and calories consumption.
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
5 / 28
 We would establish LAMP environment.
 LAMP means Linux, Apache, MySQL, and PHP.
 Create a website for monitoring and analyzing.
 Design a database for data captured by sensors.
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
6 / 28
 data_block
 This is used to record continuous data.
 Data will store into a file and record the filename in database.
 data_feed
 This is used to record intermittent data.
 The data will be stored into value defined by the schema.
 For detailed description, please refer to the document.
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
7 / 28
 Please download “VirtualBox” from https://www.virtualbox.org/ or course
website.
 Install VirtualBox.
 Using default settings is fine.
 Note that the network will be disconnected temporarily during the installation.
 The related networking drivers should be installed.
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
8 / 28
 Step 1: click “新增(N)” in “Oracle VM VirtualBox 管理員”.
 Step 2: create a Linux Ubuntu (32 bit) virtual machine (VM).
 The size of memory needs at least 512 MB.
 The size of disk needs at least 20 GB.
 Step 3: add an additional network adapter to the VM.
 “設定值(S)”  “網路”  “介面卡 2”  “啟用網路卡(E)”
 “附加到(A)” = “「僅限主機」介面卡”
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
9 / 28
 Step 4: download Ubuntu 8.04 from course website.
 Step 5: start your virtual machine and choose the Ubuntu image file for
booting from CD/DVD.
 “裝置”  “CD/DVD 裝置”  “選擇虛擬 CD/DVD 磁碟檔案”
 Step 6: install Ubuntu 8.04.
 English version is more stable.
 Change time zone to “Asia”  “Taipei”.
 When finishing installation, press “ENTER” to reboot.
 Please remember the account <user name>
to login Linux.
 Tips:
 To uncaptured the keyboard and the mouse from virtual machine to Windows XP,
please press the host key, right ctrl key by default.
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
10 / 28
 Step 1: open a terminal in Ubuntu 8.04.
 “Applications”  “Accessories”  “Terminal”
 You can execute commands with root privilege by typing “sudo <command>”.
 E.g., % sudo mkdir /etc/test
 Step 2: install guest additions in Ubuntu 8.04.
 “裝置”  “插入 Guest Additions CD 映像…”
 Execute the script in Ubuntu 8.04.
 % sudo /media/cdrom/VBoxLinuxAdditions.run
 Step 3: restart Ubuntu 8.04.
 % sudo reboot
 Tips:
 After complete installation of guest additions, you can also share clipboard
between Windows XP and Ubuntu.
 In VirtualBox:
 “機器”  “設定值”  “一般”  “進階”
 Change the setting of “共用剪貼簿” from “停用” to “雙向”.
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
11 / 28
 Step 1: bridge the two network LAN, “VirtualBox Host-Only Network” and
“區域網路” which connects STM32F207, together.
 Step 2: set IP address of the bridge on Windows XP to configure LAN
environment.
 IP address = 192.168.0.101
 Netmask = 255.255.255.0
 Step 3: set IP address on Ubuntu.
 % sudo nano /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
address 192.168.0.10
netmask 255.255.255.0
 % sudo /etc/init.d/networking restart
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
12 / 28
 Unfortunately, Ubuntu 8.04 is now out of support and no longer receiving
updates and security patches. There are repositories available at
http://old-releases.ubuntu.com.
 Step 1: update apt repositories.
 % sudo sed -i -e 's/tw.archive.ubuntu.com\|security.ubuntu.com/old-
releases.ubuntu.com/g' /etc/apt/sources.list
 Be careful of the area which was set during the installation. If you chose the area other
than Taiwan, you have to modify the command to the correct one.
 You can type “man sed” to see more information.
 Step 2: upgrade the sources list.
 % sudo apt-get update
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
13 / 28
 Step 1: install several packages.
 % sudo apt-get install unzip
 % sudo apt-get install apache2
 % sudo apt-get install mysql-server
 You must use the predefined password “microtime” for root in the installation process.
 % sudo apt-get install php5
 % sudo apt-get install phpmyadmin
 Make sure you choose apache2 by SPACE key in the installation process.
 % sudo apt-get install libmysqlclient15-dev
 Step 2: modify the configuration of MySQL.
 % sudo nano /etc/mysql/my.cnf
 bind-address = 192.168.0.10
 [mysqld]
 plugin_dir = /usr/lib/mysql/plugin
 Restart MySQL service: sudo /etc/init.d/mysql restart
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
14 / 28
 Step 3: download sql-agent.tar.gz.
 Step 4: install MySQL plugin lib_mysqludf_sys.so.
 % sudo mkdir /usr/lib/mysql/plugin
 % sudo mkdir /home/test0001
 % sudo tar zxvf sql-agent.tar.gz -C /home/test0001
 % sudo cp /usr/lib/libmysqlclient.so.15
/home/test0001/libmysqlclient.so.18
 % cd /home/test0001/lib_mysqludf_sys
 % sudo ./install.sh
 Step 5: add some tasks to rc.local.
 % sudo nano /etc/rc.local
cd /home/test0001
./runme.sh
 Step 6: reboot and check.
 % sudo reboot
 % ps -A
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
15 / 28
 Step 1: connect MySQL by a browser.
 http://192.168.0.10/phpmyadmin
 Step 2: import the prepared database.
 “載入”  “選擇檔案”  mCloud-SIOTAS.sql  “執行”
 Step 3: create a new user.
 “權限”  “新增使用者”
 使用者名稱 = imami
 主機 = 任何主機
 密碼 = imami
 database for user = None
 整體權限 = 全選
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
16 / 28
 Install the website.
 Step 1: download mCloud-Portal.zip.
 % sudo unzip mCloud-Portal.zip -d /var/www
 % sudo chown -R www-data.www-data /var/www/mcloud
 Step 2: check the website.
 http://192.168.0.10/mcloud/
 Password is microtime
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
17 / 28
 Install MySQL Connector.
 Step 1: download mysql-connector-odbc-5.1.8-win32.msi.
 “控制台”  “系統管理工具”  “資料來源 (ODBC)”
 “系統資料來源名稱”  “新增”  “MySQL ODBC 5.1 Driver”  “完成”
 Data Source Name = MySQL-mCloud
 Description = MySQL ODBC 5.1 driver
 TCP/IP Server = 192.168.0.10
 Port = 3306
 User = imami
 Password = imami
 Database = imami
 Step 2: Test the connection.
 Click “Test”.
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
18 / 28
 Install mCloud-AppClient.
 Step 1: download and install mCloud-SIOTAS-setup-1.0.1-004.exe.
 Step 2: download and decompress mCloud-SIOTAS-GW66-AppClient.zip
 Drag and drop “mCloud-SIOTAS-GW66-AppClient.exe” to path “C:/Program
Files/Microtime/mCloud”.
 Override the file.
 Step 3: execute mCloud-AppClient.exe.
IP address should be “192.168.0.101”
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
19 / 28
 Step 0: download PTK_Example.
 Step 1: turn off the power.
 Step 2: install Zigbee module (PTK-RF-ZB-ZB01).
 Step 3: install LED module (PTK-MEMS-RTC).
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
20 / 28
 Step 4: open the gateway project.
 PTK_Example_v2/ePBB/Applications/Projects/PTK-STM32F207/EWARM-
V6/Case_Study/MT_Case_SIOTAS-PTK/node_gateway/demo.eww
 Step 5: modify configuration in app_cfg.h.
APP_TCPIP_CFG_IF_IP_ADDR_STR = "192.168.0.100"
APP_TCPIP_CFG_IF_MASK_STR = "255.255.255.0"
APP_TCPIP_CFG_IF_GATEWAY_STR = "192.168.0.1“
 Step 6: modify constant values in app.c.
static const MT_MCLOUD_SIGNAL_T gSignalConfig[] =
{
{ MK_MID_SID(0x0001, 0x0000),
// MID_SID
"Light",
// Name
MCLOUD_DATA_UINT16,
// DataType
0,
// Type
COM_TYPE_ZB,
// ComType
"Lighting_0001",
// Paring
"",
// ShareLib
…
The 4 digits number is the last 4 digits of MAC address of Zigbee of the node.
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
21 / 28
 Step 1: turn off the power.
 Step 2: install Zigbee module (PTK-RF-ZB-ZB01).
 Step 3: install LED module (PTK-MEMS-RTC).
 Step 4: open the lighting project and download.
 PTK_Example_v2/ePBB/Applications/Projects/PTK-STM32F207/EWARM-
V6/Case_Study/MT_Case_SIOTAS-PTK/node_lighting/demo.eww
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
22 / 28
Bathroom Device Settings
 Step 1: turn off the power.
 Step 2: install Zigbee module (PTK-RF-ZB-ZB01).
 Step 3: install passive infrared sensor module (PTK-MEMS-PIR).
 Step 4: open the bathroom project and download.
 PTK_Example_v2/ePBB/Applications/Projects/PTK-STM32F207/EWARM-
V6/Case_Study/MT_Case_SIOTAS-PTK/node_bathroom/demo.eww
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
23 / 28
Entrance Device Settings
 Step 1: turn off the power.
 Step 2: install Zigbee module (PTK-RF-ZB-ZB01).
 Step 3: install RFID module (PTK-RFID-EWTJ680).
 Step 4: install reed switch module (PTK-MEMS-REEDSW).
 Step 5: open the entrance project and download.
 PTK_Example_v2/ePBB/Applications/Projects/PTK-STM32F207/EWARM-
V6/Case_Study/MT_Case_SIOTAS-PTK/node_entrance/demo.eww
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
24 / 28
 Step 1: turn on power.
 Step 2: pressing Reset and KEY0.
 Step 3: release Reset.
 Step 4: release KEY0 after 2 seconds when hearing beep sound.
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
25 / 28
 We’re using two pieces of PTK for this laboratory, one as gateway and the other as device.
 We don’t use the upper layer of PTK and we shall remove it from PTK for this laboratory.
 Run the Ubuntu VM, and thus the sql-agent and listem_cmd up.
 Connect gateway to host system via Ethernet.
 Insert ZigBee module to gateway and device, and RTC module to device.
 Turn gateway and device on; download project to boards respectively.
 Run mCloud-SIOTAS-GW66-AppClient
 Press Discover till you get an On-line Machine, and Edit to view its info;
Our goal is to have a machine which is alive after pressing Refresh within DBMachine .
 Go to http://192.168.0.10/phpmyadmin/->imami->machine;
add a machine based on the info got above. You can view the existing one as an example.
 Hint: Consider mCloud-SIOTAS.sql.
 Reset the gateway and then device if you redo these steps; you need to have ‘1’ shown on
7-segment of the gateway after turning on the device before you can do monitoring.
 Once it works, visit http://192.168.0.10/mcloud/, and now there should be a machine
which is alive, too.
 Then go to Online Monitoring->Control Panel.
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
26 / 28
 Try to connect them all together and get a simple sensor network.
 The goals are that:
 You can monitor the light and temperature on the website.
 You can use bathroom device and entrance device in advance.
 Tips:
 Opening phymyadmin and mCloud within host system is preferred.
 Try rebooting the Ubuntu VM after making any change; it may help.
 For more information, please refer to documents on the course website.
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
27 / 28
 Show that you can connect a gateway device and a lighting device,
record the data into database, and also see the values on a browser.
Lab 9
2016/11/29
Department of Computer Science and Information Engineering
National Taiwan University
28 / 28