The Official Project Yagimoto Thread

16 replies [Last post]
Marty Rand
Marty Rand's picture
Title: Botball Youth Advisory Council
Joined: 07/04/2009
Posts:
BotPoints: 253
User offline. Last seen 3 years 17 weeks ago.

This is a project I've been working on with Dane Schoelen that we are presenting at GCER 2012 . This is a robot that automatically aims a directional antenna at an access point. If you have any questions about Yagimoto's use, ask it here. I'll try to respond quickly, but don't expect anything instant. If anyone wants to contribute (that would be awesome), either post here or pm me.

We are currently using an Alfa AWUS036H wifi card for testing along with a 16 dBi Yagi antenna. Although, if you find another wifi card / antenna that works well/better, please post your results here. We'd love to add to the database.

I already have several updates to the code I provided to KIPR.

  1. Changelog:
  2.  
  3. Rev 1.0.1
  4.  
  5. Fixed $LOG in Settings.cfg
  6. Included Settings2.sh (missing initially)
  7.  
  8. Rev 1.0.2
  9.  
  10. Removed unneeded echo in Settings2.sh (I just commented it out if you want to re-add it)
  11.  
  12. Rev 1.0.3
  13.  
  14. Logs in better folder structure
  15. Now logs date to log.txt
  16. Added a few comments to PC side
  17. Kismet now opens in a separate window to view all nearby wifi networks (remember to setup Kismet as though you are using it otherwise Yagimoto will not display signal strength)
  18. Now prints debug on proper lines (mostly)
  19. Fixed potential issue where you would need to manually create some directories to run the PC side
  20.  
  21.  
  22. Rev 1.0.4
  23.  
  24. Fixed issue requiring you to unplug and re-plug the PC wifi card before re-running Yagimoto
  25. PC side now waits longer before starting netcat so kismet can start properly
  26.  
  27. Rev 1.0.5
  28.  
  29. Much simpler new CBC algorithm to find best signal (now scans entire area and then chooses where to home in on) (only x axis is working so far)
  30. Modularized CBC side more
  31. Servos now move smoother
  32.  
  33. Rev 1.1.0
  34.  
  35. Added a much needed median filter (the biggest problem from the GCER demo)
  36. Added many comments to PC side
  37. Made the PC side modular

Compatibility List:

What Works:

Alfa AWUS036H

What Doesn't Work:

Alfa AWUS036NHR - Seems to work fine... except Kismet always returns the maximum signal strength, making it useless for our testing

My Yagimoto Wishlist (feel free to post feature requests, just know I might not work on them):
1. An omnidirectional antenna mode: I've wanted this feature since early on in the project. There some code written in the CBC side already, but it could be much improved.
2. A scan mode that scans the whole area for networks, then homes in on the best choice (aka a more automated setup because you wouldn't need to specify a wifi network). This is harder to do than the current setup though.
3. A setup where we could turn off the servos, keep the antenna pointed the same way, and lock the Yagi in place. This way, when we find an access point, we don't have to keep the servos running (saves battery). Maybe using the standard tripod head?
4. No computer required, a Kovan feature maybe?
4.5 Fallback: Use Kismet (or whatever) on an Android phone using KisBee / a USB wifi card
5. All debug on the computer' screen (if using a computer)
6. Comment EVERYTHING
7. Test the Alfa AWUS036NHA - We've been looking at this card with interest for a while, and we would live to test it.
8. DONE: Apply a median filter to the signal strength to smooth out the signal noise
9. Clean up code
10. Investigate using wifi tools other than Kismet that may offer better compatibility
11. Implement Garret Sickles's servo library to further smooth the servo movements

I will NOT work on porting Yagimoto to other operating systems. If you don't run native Linux, use VMWare Player (http://www.vmware.com/products/player/) to run Linux inside of your native OS. If you want to make Yagimoto work on other OS's natively, make it yourself. I'm giving you the source code

AttachmentSize
Yagimoto1.0.1.zip4.39 KB
Yagimoto1.0.2.zip4.36 KB
Yagimoto1.0.3.zip4.55 KB
Yagimoto1.0.4.zip4.57 KB
Yagimoto1.0.5.zip5.4 KB
Yagimoto1.1.0.zip7.24 KB

-Marty Rand
{
Senior programmer at Norman Advanced Robotics

Former senior programmer at Whittier Middle School

Youth Advisory Council

All around nerd
}

Marty Rand
Marty Rand's picture
Title: Botball Youth Advisory Council
Joined: 07/04/2009
Posts:
BotPoints: 253
User offline. Last seen 3 years 17 weeks ago.

Added Rev 1.0.2

-Marty Rand
{
Senior programmer at Norman Advanced Robotics

Former senior programmer at Whittier Middle School

Youth Advisory Council

All around nerd
}

Marty Rand
Marty Rand's picture
Title: Botball Youth Advisory Council
Joined: 07/04/2009
Posts:
BotPoints: 253
User offline. Last seen 3 years 17 weeks ago.

Added wishlist to first post

-Marty Rand
{
Senior programmer at Norman Advanced Robotics

Former senior programmer at Whittier Middle School

Youth Advisory Council

All around nerd
}

Marty Rand
Marty Rand's picture
Title: Botball Youth Advisory Council
Joined: 07/04/2009
Posts:
BotPoints: 253
User offline. Last seen 3 years 17 weeks ago.

Added two new items to wishlist

-Marty Rand
{
Senior programmer at Norman Advanced Robotics

Former senior programmer at Whittier Middle School

Youth Advisory Council

All around nerd
}

Marty Rand
Marty Rand's picture
Title: Botball Youth Advisory Council
Joined: 07/04/2009
Posts:
BotPoints: 253
User offline. Last seen 3 years 17 weeks ago.

Added another item to the wishlist

-Marty Rand
{
Senior programmer at Norman Advanced Robotics

Former senior programmer at Whittier Middle School

Youth Advisory Council

All around nerd
}

Marty Rand
Marty Rand's picture
Title: Botball Youth Advisory Council
Joined: 07/04/2009
Posts:
BotPoints: 253
User offline. Last seen 3 years 17 weeks ago.

Rev 1.0.3 is up and I'm calling it a day (after I update the wishlist) :)

-Marty Rand
{
Senior programmer at Norman Advanced Robotics

Former senior programmer at Whittier Middle School

Youth Advisory Council

All around nerd
}

Marty Rand
Marty Rand's picture
Title: Botball Youth Advisory Council
Joined: 07/04/2009
Posts:
BotPoints: 253
User offline. Last seen 3 years 17 weeks ago.

Added 1.0.4

-Marty Rand
{
Senior programmer at Norman Advanced Robotics

Former senior programmer at Whittier Middle School

Youth Advisory Council

All around nerd
}

Marty Rand
Marty Rand's picture
Title: Botball Youth Advisory Council
Joined: 07/04/2009
Posts:
BotPoints: 253
User offline. Last seen 3 years 17 weeks ago.

1.0.5 is now live!

-Marty Rand
{
Senior programmer at Norman Advanced Robotics

Former senior programmer at Whittier Middle School

Youth Advisory Council

All around nerd
}

Marty Rand
Marty Rand's picture
Title: Botball Youth Advisory Council
Joined: 07/04/2009
Posts:
BotPoints: 253
User offline. Last seen 3 years 17 weeks ago.

Added 2 more things to the wishlist. FYI, I was working on the median filter during GCER, but I didn't have the time to finish it. I'll be working on that some time soon.

-Marty Rand
{
Senior programmer at Norman Advanced Robotics

Former senior programmer at Whittier Middle School

Youth Advisory Council

All around nerd
}

Marty Rand
Marty Rand's picture
Title: Botball Youth Advisory Council
Joined: 07/04/2009
Posts:
BotPoints: 253
User offline. Last seen 3 years 17 weeks ago.

I'm starting work for Yagimoto 2.0. No promises, but I'm thinking big. I'm currectly working on a median filter to smooth the signal strength (the major issue at the GCER 2012 demo). More to come!

-Marty Rand
{
Senior programmer at Norman Advanced Robotics

Former senior programmer at Whittier Middle School

Youth Advisory Council

All around nerd
}

Marty Rand
Marty Rand's picture
Title: Botball Youth Advisory Council
Joined: 07/04/2009
Posts:
BotPoints: 253
User offline. Last seen 3 years 17 weeks ago.

As I'm writing the median filter, I'm cleaning up the PC side code dramatically. It used to be that tabs and spaces where the same thing. Not anymore. I am also modularizing the PC side. The median filter is almost working. I just have a couple of bugs to work out.

-Marty Rand
{
Senior programmer at Norman Advanced Robotics

Former senior programmer at Whittier Middle School

Youth Advisory Council

All around nerd
}