[Home][Main][Data Submission][Data Analysis][Web Services][Contact Us][Feedback]
Beacon Processing System
NASA/CREST - CENTER FOR
ROBOTICS EXPLORATION AND SPACE TECHNOLOGIES
TEAM MEMBERS
EDWARD ANTHONYSAMY, BRUCE DAVIS, AND
VEERARAGAVAN GOPALAKRISHNAN
FACULTY ADVISORS
DR. JIM D. PHAM AND DAVID TOPHAM

Beacon Processing
System (BPS) is a Web-based application that provides the ability for external
operators, educators, and public access to submit PharmaSat satellite beacon
data. BPS is a joint project between
PharmaSat (http://pharmasat.engr.scu.edu/dashboard/)
was successfully launched into orbit on May
19, 2009, 16:55.
Team Ohlone College received the most prestigious NASA Ames Honor Award in recognition of work done in support
of NASA/CREST PharmaSat project.
BPS provides the
ability for external HAM radio operators to submit beacon data collected from
PharmaSat satellite. BPS composes of 5 subsystems:
Beacon Application
Beacon Web Services
Beacon Data Format
Beacon Data Services
MySQL database
Beacon application is
an ASP.NET/Web-based application. ASP.NET is a part of the Microsoft .NET
technologies for Web development and Visual Studio/IDE.
Beacon Web Services (WS) are a set public
APIs that allow external operators, educators, and public access to interface
with the third party application.
Beacon WS uses SOAP to interoperability with
beacon application and beacon data format service.
Data
handler for encode/decode beacon data such as decode, convert, calculate,
etc.
Data
formatter and storing beacon data
Data
interface between Beacon Web services and Beacon Data services.
Data
access (database connectivity, database access).
Data tier
of the application.
Data reporting: beacon data, call-sign, other
data, and QSL page
MySQL database
Data processing: HAM operator call sign, the
number of unique countries from which operators submit, and others data
Messages achieve and search capability
Summary reports of the total number of
searches, characteristics, and others data
Microsoft .NET Framework


Microsoft .NET technology was used for the
client application and the beacon data processing backend.
The Beacon client application composes of
the following components:
Data
Submission Form
Data
Analysis Form
List of
Web Services Form
Contact Us
Form
Feedback
Form
Submission:
1. Name
Description: Name of the person who is submitting the
beacon packets
Control: Textbox control
Validation: Required
2. Email
Description: Email Id of the person who is submitting
the beacon packets.
Control: Textbox control
Validation: Required and has to conform to a email
regular expression.
3. Call Sign
Description: Call Sign associated with the submission.
Control: Textbox control
Validation: Required and has to be a 6 digit
alphanumeric character
4. Location
Description: The location from where the user is
submitting the beacon packets.
Control: Dropdown list
Validation: Required and has to be one the country
name from the dropdown list.
5. Beacon Packets Entry
Description: The placeholder to enter the beacon
packets.
Control: Multiline Textbox
Validation: Required
6. Additional Comments Entry
Description: The placeholder to enter any additional
comments such as signal strength, etc.
Control: Textbox
Validation: Optional
7. Status of Submission
Description: The placeholder to indicate any errors
associated with the packet submission.
Control: Label
Validation: N/A
8. Submit
Description: The control used to submit the data back
to the server for processing. If there are no errors the user will be
redirected to a successful QSL page.
Control: Button
Validation: N/A
9. Reset
Description: The control used to reset the input
values on the controls.
Control: Button
Validation: N/A
Data Analysis:
1. Name
Description: Name of the person who is requesting the
beacon data fields for analysis
Control: Textbox control
Validation: Required
2. Email
Description: Email Id of the person who is requesting
the beacon data fields.
Control: Textbox control
Validation: Required and has to conform to a email
regular expression.
3. Requester Type
Description: Type of user who is requesting the data.
Control: Dropdown list
Validation: Required and has to be one of the four
valid values from the dropdown list
4. Requester Location
Description: The location from where the user is
requesting the beacon
packets fields.
Control: Dropdown list
Validation: Required and has to be one the country
name from the dropdown list.
5. Satellite
Description: The Sateliite from which the data is
requsted.
Control: Dropdown list
Validation: Required and has to be one the listed
Satellites from the dropdown list.
6. Requested Fields
Description: The beacon packets fields which can be
quried for data analysis.
Control: Dropdown list
Validation: Required and can be a multiselect list
7. From Date
Description: The starting date from which the beacon
data fields needs to be retrieved from the database.
Control: Textbox
Validation: Required and has to be of the data format
MM/DD/YYYY
8. To Date
Description: The end date to which the beacon data
fields needs to be retrieved from the database.
Control: Textbox
Validation: Required and has to be of the data format
MM/DD/YYYY
10. Submit
Description: The control used to submit the data back
to the server for processing.
Control: Button
Validation: N/A
11. Reset
Description: The control used to reset the input
values on the controls.
Control: Button
Validation: N/A
Web Services:
1. Web services List
Description: Control used to display the list of methods
available as web services.
Control: Multiline text box.
Validation: N/A . It is a read only control.
2. WSDL
Description: The control used to invoke the WSDL (Web
Services Description Language) page associated with the web services.
Control: Button
Validation: N/A
Feedback:
1. Name
Description: Name of the person who is submitting the
feedback
Control: Textbox control
Validation: Required
2. Email
Description: Email Id of the person who is submitting
the feedback.
Control: Textbox control
Validation: Required and has to conform to a email
regular expression.
3. Feedback Entry
Description: Place holder to enter the feedback.
Control: Multiline text box.
Validation: Required
4. Submit
Description: The control used to submit the feedback
data back to the server for processing. Upon successful save of the feedback
the user will be notified about the status at the bottom of the form in the
Status Result label control.
Control: Button
Validation: N/A
5. Reset
Description: The control used to reset the input
values on the controls.
Control: Button
Validation: N/A
6. Status Result
Description: The control used to display the status of
the save or any errors.
Control: Label
Validation: N/A and visible only upon and successful
save or error display and it is not visible during the normal page load.
QSL Form:



Implementation Procedure:
I. Un-installation
previous version
If
previous Beacon Processing System web application and/or web services exist
then perform the following section, else proceed to the next section.
II.
Installation
III. Back out Procedure
If decision is made to back out PEMM Member Enrollment Service then perform the actions from section I.
I. Beacon Web Application and
WebServices Config
1. Open IIS Manager, and expand Web Sites Default Web Site.
2. In the AppPool node, verify existence
of, or create the CrestWebPool Accept the default settings for the application
pool.
3. In the AppPool node, verify existence
of, or create the CrestAppPool Accept the default settings for the application
pool.
4. Locate BeaconProcessingSystem under
Default Web Site, then right click to open property:
a. On the Directory Tab, select the
CrestWebPool as the application Pool.
b. On the Directory Security Tab, check
Enable Anonymous Access.
c. On the ASP.NET tab, select version
2.0.
5. Locate BeaconWebServices under Default
Web Site, then right click to open property:
a. On the Directory Tab, select the
CrestAppPool as the application Pool.
b. On the Directory Security Tab, check
Enable Anonymous Access.
c. On the ASP.NET tab, select version 2.0.
6. Update BeaconWebServices url at the
end of the Web.config file of BeaconProcessingSystem. Web.config file is
available at the following location: C:\Inetpub\wwwroot\BeaconProcessingSystem
7. Update the MYSQL database server IP
address, user name and password in the Web.config file of the
BeaconWebServices. Web.config file is available at the following locations:
C:\Inetpub\wwwroot\BeaconWebServices
To select beacon data submission count by Satellite
SELECT packetheader.PHWebSite as Satellite, COUNT(*)
AS Counts
FROM packetheader
GROUP BY packetheader.PHWebSite;

To get the counts of searches done so
for on any dates
SELECT date(searchstats.SSCreateDateTime)
as Search_Date, COUNT(*) AS Counts
FROM searchstats
GROUP BY
date(searchstats.SSCreateDateTime);

To get the minimum & maximum date for FROM &
TO date search pattern
SELECT searchstats.SSName as Requester_Name, searchstats.SSEmail
as Requester_Email, searchstats.SSRequesterType as Requester_Type,
searchstats.SSRequesterLocation as Requester_Location, searchstats.SSatelliteID
as SatelliteID, date(searchstats.SSFromDate) AS Min_From_Date, '' as
Max_From_Date, '' as Min_To_Date, '' as Max_To_Date
FROM searchstats
WHERE date(searchstats.SSFromDate) = (SELECT
min(date(searchstats.SSFromDate)) from searchstats )
SELECT searchstats.SSName as Requester_Name,
searchstats.SSEmail as Requester_Email, searchstats.SSRequesterType as
Requester_Type, searchstats.SSRequesterLocation as Requester_Location,
searchstats.SSatelliteID as SatelliteID, '' as Min_From_Date,
date(searchstats.SSFromDate) AS Max_From_Date, '' as Min_To_Date, '' as
Max_To_Date
FROM searchstats
WHERE date(searchstats.SSFromDate) = (SELECT
max(date(searchstats.SSFromDate)) from searchstats )
SELECT searchstats.SSName as Requester_Name,
searchstats.SSEmail as Requester_Email, searchstats.SSRequesterType as
Requester_Type, searchstats.SSRequesterLocation as Requester_Location,
searchstats.SSatelliteID as SatelliteID, '' as Min_From_Date, '' as
Max_From_Date, date(searchstats.SSToDate) AS Min_To_Date, '' as Max_To_Date
FROM searchstats
WHERE date(searchstats.SSToDate) = (SELECT min(date(searchstats.SSToDate))
from searchstats )
SELECT searchstats.SSName as Requester_Name,
searchstats.SSEmail as Requester_Email, searchstats.SSRequesterType as
Requester_Type, searchstats.SSRequesterLocation as Requester_Location,
searchstats.SSatelliteID as SatelliteID, '' as Min_From_Date, '' as
Max_From_Date, '' as Min_To_Date, date(searchstats.SSToDate) AS Max_To_Date
FROM searchstats
WHERE date(searchstats.SSToDate) = (SELECT
max(date(searchstats.SSToDate)) from searchstats );

To get the search requester Email counts
SELECT searchstats.SSEmail AS Requester_Email,
COUNT(*) AS Counts
FROM searchstats
GROUP BY searchstats.SSEmail;

To get the search requester Location counts
SELECT codes.CodeDescription as Location_Name, COUNT(*)
AS Counts
FROM searchstats , codes
WHERE searchstats.SSRequesterLocation = codes.CodeID
AND codes.CodeType = 'Country'
GROUP BY searchstats.SSRequesterLocation;

To get the search requester Name & Email counts
SELECT searchstats.SSName AS Requester_Name,
searchstats.SSEmail AS Requester_Email, COUNT(*) AS Counts
FROM searchstats
GROUP BY searchstats.SSName, searchstats.SSEmail;

To get the search requester Type counts
SELECT searchstats.SSRequesterType AS Requester_Type,
COUNT(*) AS Counts
FROM searchstats
GROUP BY searchstats.SSRequesterType;

To get the search requester Type , Location & Date
of Search counts
SELECT searchstats.SSRequesterType AS Requester_Type,
codes.CodeDescription AS Location_Name, searchstats.SSatelliteID as
SatelliteID, date(searchstats.SSCreateDateTime) as Date_of_search, COUNT(*) AS
Counts
FROM searchstats , codes
WHERE searchstats.SSRequesterLocation = codes.CodeID
AND codes.CodeType = 'Country'
GROUP BY searchstats.SSRequesterType,
searchstats.SSatelliteID, date(searchstats.SSCreateDateTime),
codes.CodeDescription
ORDER BY Date_of_search, searchstats.SSRequesterType,
codes.CodeDescription;

To get the search requester Type & Location counts
SELECT
searchstats.SSRequesterType AS Requester_Type,
codes.CodeDescription AS Location_Name,
searchstats.SSatelliteID as SatelliteID,
COUNT(*) AS Counts FROM searchstats , codes
WHERE searchstats.SSRequesterLocation = codes.CodeID
AND codes.CodeType = 'Country'
GROUP BY searchstats.SSRequesterType,
searchstats.SSatelliteID, searchstats.SSRequesterLocation;

To get the SessionID counts of the people who have
logged into the website
SELECT SsSessionID AS SessionID, COUNT(*) AS Counts
FROM searchstats GROUP BY SsSessionID;

To get
the Count of all the search that has been done on the database
SELECT COUNT(*) AS Total_Number_Of_Search_Counts FROM searchstats;
