Go to Post I wanted to make an epoxy/carbon fiber/fiberglass arm for our 'bot, but I was outvoted by conservative teenagers. Oh well... - Rick TYler [more]
Home
Go Back   Chief Delphi > Technical > Control System > FRC Control System
CD-Media   CD-Spy  
portal register members calendar search Today's Posts Mark Forums Read FAQ rules

 
Reply
 
Thread Tools Rate Thread Display Modes
  #1   Spotlight this post!  
Unread 23-11-2011, 09:16
linuxboy linuxboy is offline
Registered User
AKA: Oliver Graff
FRC #3780
Team Role: Alumni
 
Join Date: Nov 2010
Rookie Year: 2009
Location: MI, USA
Posts: 217
linuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud of
Developing an iOS based FRC network monitoring tool

Hi All,
Recently I've been working on doing more iOS/Mac development, particularly related to how I can use it for FRC. My first real iOS project is going to be an app that helps monitor / troubleshoot a network used for FRC robotics. This app is somewhat inspired by the Field Monitor used at events, however since the Driver Station protocol is proprietary I do not think I will be able to test robot state or voltage without custom code being added to the robot. Do you guys think that the app should ask the user to add code to the robot to monitor enabled state and battery voltage?

Here are my current plans for it:
Monitor ping connectivity to robot as well as average ping time and dropped packet counts
Monitor ping connectivity to the robot bridge. This will not monitor ping time or dropped pings
Monitor ping connectivity to the driver station as well as average ping time and dropped packet counts
Monitor ping connectivity to the camera and display a live feed of the camera if the password is set properly, if not, it will alert the user that the password is wrong.

I plan to release this app on the appstore as soon as I'm done with it. I only have an iPad to test on so that is what it will be released for at first, but I will try to make an iPhone version as well.

This thread is going to be updated while I'm developing with progress, screenshots, and requests for advice. If anyone has any feature requests or other comments please post them. If you are interested in taking a look at the source PM me.

So now for the progress update:
I currently have a working system for pinging things, however it does not yet count the lost packets or keep track of the average ping time.
I think I will increment a counter every time a packet is sent and decrement it every time one is received for dropped packet counting.
My plan for tracking average ping time is multi part. First of all we need to get the time for each ping. The way I'm going to track that is when a packet is sent I will add an entry to a dictionary with the key being the ICMP seq number, and the value being the date object when the ping was sent. When a packet is received it the corresponding date will be retrieved and the difference will be added to a variable, and a number of received packets counter will be incremented. The average will be taken on demand.
My plan for the Camera is to use the Axis camera API to grab a new JPG every 1/30 of a second (if I can) and display that.

Attached is a screenshot of what I've got so far.

Let me know what you think,
Oliver
Attached Thumbnails
Click image for larger version

Name:	Screenshot 2011.11.23 08.34.37.png
Views:	61
Size:	33.4 KB
ID:	11117  
Reply With Quote
  #2   Spotlight this post!  
Unread 23-11-2011, 10:15
JesseK's Avatar
JesseK JesseK is offline
Expert Flybot Crasher
FRC #1885 (ILITE)
Team Role: Mentor
 
Join Date: Mar 2007
Rookie Year: 2005
Location: Reston, VA
Posts: 3,661
JesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond reputeJesseK has a reputation beyond repute
Re: Developing an iOS based FRC network monitoring tool

How do you plan to get through the encryption key for each robot's router, which isn't disclosed (even to the team whose router it is)?
__________________

Drive Coach, 1885 (2007-present)
CAD Library Updated 5/1/16 - 2016 Curie/Carver Industrial Design Winner
GitHub
Reply With Quote
  #3   Spotlight this post!  
Unread 23-11-2011, 11:17
linuxboy linuxboy is offline
Registered User
AKA: Oliver Graff
FRC #3780
Team Role: Alumni
 
Join Date: Nov 2010
Rookie Year: 2009
Location: MI, USA
Posts: 217
linuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud of
Re: Developing an iOS based FRC network monitoring tool

Getting through the encryption is easy, just sneak into the event Wednesday night and grab your WPA key from FMS

I wish it could be used at events however, like you said, teams are not given the encryption key. I imagine the use case for this to be when teams are testing out their robot at home and want to get a view of what is going on on the network, or troubleshoot it if there is an issue. Another use for this (even though currently it only shows one robot at a time) would be a field monitor for offseasons that do not have an FTA. I think though, that it may be better to make a separate app for monitoring the entire field for offseasons than using this for it, but I'll see how much free time I have .

Oliver
Reply With Quote
  #4   Spotlight this post!  
Unread 23-11-2011, 11:21
DavidGitz's Avatar
DavidGitz DavidGitz is offline
Lead Technical Advisor
FRC #1208 (MeTool Brigade)
Team Role: Coach
 
Join Date: Dec 2006
Rookie Year: 1996
Location: O'Fallon, IL
Posts: 341
DavidGitz has much to be proud ofDavidGitz has much to be proud ofDavidGitz has much to be proud ofDavidGitz has much to be proud ofDavidGitz has much to be proud ofDavidGitz has much to be proud ofDavidGitz has much to be proud ofDavidGitz has much to be proud of
Send a message via AIM to DavidGitz Send a message via MSN to DavidGitz Send a message via Yahoo to DavidGitz
Re: Developing an iOS based FRC network monitoring tool

While not directly related, I should mention that a Networking Tool has been developed for Windows users to help configure your computers for common FRC tasks. More info and code can be located here:
http://code.google.com/p/frc-network-tool/

This looks like a great project! We would use it if we could (no ipads/ipods here).
__________________
Reply With Quote
  #5   Spotlight this post!  
Unread 24-11-2011, 15:26
linuxboy linuxboy is offline
Registered User
AKA: Oliver Graff
FRC #3780
Team Role: Alumni
 
Join Date: Nov 2010
Rookie Year: 2009
Location: MI, USA
Posts: 217
linuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud of
Re: Developing an iOS based FRC network monitoring tool

So, I've done some refactoring and made it so each of the ping views has its own controller and such.
Next, I will be working on:
Getting the camera feed (which apparently will be a bit harder than I anticipated since I will need to use the MJPEG API).
Ping counts
Graphic Design (eep)
Reply With Quote
  #6   Spotlight this post!  
Unread 27-11-2011, 17:25
linuxboy linuxboy is offline
Registered User
AKA: Oliver Graff
FRC #3780
Team Role: Alumni
 
Join Date: Nov 2010
Rookie Year: 2009
Location: MI, USA
Posts: 217
linuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud oflinuxboy has much to be proud of
Re: Developing an iOS based FRC network monitoring tool

Hi all,
Would you prefer that the app gets the IP of the iPad and extrapolates the team number from there, or should it be entered manually?

Heres a mock up design (the blue things on the side will be better) if the team number is automatically interpreted team number.

Oliver
Attached Thumbnails
Click image for larger version

Name:	NetworkMonDesign.jpg
Views:	22
Size:	138.4 KB
ID:	11131  
Reply With Quote
Reply


Thread Tools
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT -5. The time now is 23:12.

The Chief Delphi Forums are sponsored by Innovation First International, Inc.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.
Copyright © Chief Delphi