Final_Senior_Design_Report.docx

perchmysteriousΔιαχείριση Δεδομένων

1 Δεκ 2012 (πριν από 4 χρόνια και 6 μήνες)

266 εμφανίσεις

Introduction:

The focus of this design project was three major areas of concern. The first application was to research
and use of ZigBee protocol
devices;

secondly establish a mesh network that interfaces to an online
sensing/controlling application. Thirdly, the overall focus and design of an application, using said
technologies, was to create a home automation system. Each of the three portions was to ov
erlay one
another as to potentially create a marketable device.



Requirements:



Successfully design a working, wireless test bed



System should demonstrate 15 nodes and 3 gateways



The application should be approvable for NSF funding



Determine functionality
of ZigBee protocol:



Ad Hoc capabilities



Gateway potential



Node interactions



Automatic node replacement



Effects of node loss



Format for communication



Consultation to business students for market potential



User Requirements



Product should be user friendly a
nd also adapt to persons with a disability



A maintenance free system would be highly favored, however, upon testing, a warranty
could be issued



The wireless system should be secure



Constraints and Acceptance Standards



The use of the ZigBee Protocol 802.15.
4



The device must operate within proper RF bandwidth



System should perform as a mesh network



Option of powering device via battery (battery status)



The device will have minimal power consumption



The nodes should have the ability to send status info



The
nodes should have sleep functionality



System will be dynamic; nodes can drop in/drop out



Noise interactions shall be discrete



Cyclic redundancy checking will be implemented
Software:
Our

project was mainly software based

networking. We used HTML, PHP, MYSQL, C++, Python, and
snapPY.
<Figure_1_1>
HTML and PHP were used to code our dynamic webpage. The PHP code controlled what the html code
generated
. The PHP interacted with ou
r MYSQL server to create user
-
profiles and
gave the node
information from the MYS
QL sever to the HTML to code to
display. The MYSQL server
held all of the network information and node information. It served as the
main database for our project. The C++
program acted as a conveyer of information between the local
user’s network and the MYSQL server. In addition the C++ program constructed the camera node’s
picture and parsed informati
on coming from the gateway
.

The gateway connected the Zigbee network
to the computer.

The gateway acted as a channel
for all of the sensing and control information.


We used Python to debug our nodes using a development program called Portal that was supplied by
Synapse. In our first semester, we used a labview based VI
that
filled could replace our server.


Project Comments:

Our final project worked very well at the end. One thing that could be improved quite a bit was
the camera code. It took the final code about 2 minutes to transmit a picture, when it took the early

code only 14 seconds to take picture.
Other improvements include adding more exception handling in
the
C++
code to make it more r
obust and less likely to crash. The last thing on the software side that
would be a big improvement would be making the webs
ite look nicer and more professional.

For recommendations for future senior design groups, select a specific client, either industrial or
maybe someone worthy of NSF funding. The system could add custom sensors and functionality with a
specific client in

mind. A big improvement to the network would also be making a gateway that does
not use a computer. A computerless gateway would require a wi
-
fi module and most likely a chip for off
chip memory.

Setting up the server:

One of the most critical, limiting factors for the project is the project server. This server was ran
on a PC owned by one of the group members. Note: Any server that allows for customization of
MYSQL/PHP/HTML will work with the existing material.
Theoreti
cally

a PostgreSQL
server
could work,
but it’s not advised due to the MYSQL++ libraries.


The first object for cloning the server would be to setup a WAMP (
see Wikipedia
). The fall term
involved t
he NetServer WAMP, but the final server chosen was the Uniserver 2.0 release. Please note
that all port forwarding and firewall opening would be required to setup a private WAMP. The whole of
the server is contained on the final disks, and in theory the
server would run as is. The server needs to
be “installed” via services, and the aft mentioned ports would need to be unblocked. Once the WAMP is
working the cloning procedure can be continued.

The second objective would be to transfer the existing website

data. All webpage information is
located within the www folder of the network_server/uniserver2 folders. This can be simply copied and
pasted into the new server. The last item of concern is the MYSQL database. If this is NOT imported all
references an
d structures would need to be determined from the source code. This is not a feasible
solution and it would be recommended to start over and use the code for examples. However, due to
the ease of MYSQL the whole of the database structure can simply be impo
rted to the server (using the
phpmyadmin interface) via the text file “server_backup.txt”.

Once the server is cloned both the website and AHoC Center program will be able to
communicate and properly function. Yet, further investigation into the removal of
the central server
would be advised. A local solution would be available if a prepackaged WAMP would have the server ran
from the end user perspective. It should be noted that if this setup is used ALL PROPRIATARY
information would have NO SECURITY and th
us would be an open source product.