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