how I can do to have vision in my robot , I am building a robot explorer and I would like to have a web interface with the wifi shild and I can see where my robot goes.
Put a separate wifi IP camera on the robot.
Put a separate wifi IP camera on the robot.
When you think of the whole picture there is another alternative. Much harder to setup (I would say: don't do so if you do not have the Linux/network/programming skills ) but lots easier to use.
Add a wireless router to your robot that is supported by a open linux (like open wrt). Hack the router to run Linux. Connect you Arduino to the router via the serial port.
Run your html on the router who sends and receives information from Arduino via the serial port.
You can then also add any ip cam (does not have to be wifi even-though having a wifi cam frees up bandwidth on the router) to your robot.
The biggest advantage is that you can program the router and the Arduino in such a way you can upload a sketch with the robot in action. (no need to connect any cables to the robot)
In general it is much easier to use and it comes in handy when you need to do a codefix and the robot is "in the field".
I have my robot set up this way and even-though I spend a lot of time to get it to work I'm very pleased I did so.
PS from a cost perspective a Arduino+router+wifi IP cam can be cheaper than Arduino+wifly+ wifi IP cam
Wow great idea.
I have a WRT54GL serving as a network switch at the moment.
Jantjes idea is something to keep in mind for future use, thanks !
I used a WRT54GL only with the serial mod (read: soldering 3 wires and connect to GND RX and TX of the Arduino)
I think the real coolness of the whole thing is how the parts play together.
Below is an image of the web page I use to set/read values. The cool thing about is that the page is generated based on data send by the Arduino sketch. The button "sink with Arduino" changes the HTML page to reflect the Arduino sketch.
Changing the values is worthless if they are not "saved" for the next run. Therefore I added a save functionality using EEPROM.
The only code that I needed to write to show the Power manager upper part is this
myDataFields.set("PowerManager", F("State"),0,(uint16_t*)&myState); myDataFields.set(myDataFields.myClassName, F("StateName"),0,&myStateName); myDataFields.set(myDataFields.myClassName, F("LoopDuration"),0,&myLoopDuration); myDataFields.set(myDataFields.myClassName, F("needsRechargeLevel"),MOD_SAVE|MOD_WRITE,&myNeedsRechargeLevel); myDataFields.set(myDataFields.myClassName, F("rechargedLevel"),MOD_SAVE|MOD_WRITE,&myRechargedLevel); myDataFields.set(myDataFields.myClassName, F("fullyRechargedLevel"),MOD_SAVE|MOD_WRITE,&myFullyRechargedLevel); myDataFields.set(myDataFields.myClassName, F("RechargePin"),0,&myRechargePin); myDataFields.set(myDataFields.myClassName, F("LastNewStatus"),0,&myLastNewStatus); myFields = myDataFields; myNumFields = NUMFields; myNumChildren = NUMChildren; myDataChildren = &myBatteryVoltage; myDataChildren = &myCharger1Voltage; myDataChildren = &myCharger2Voltage; myChildren = myDataChildren;
I'll write some documentation on it when I have the energy.
On the bottom there is a link to the Admin page allowing to upload a new sketch.
I could use a MaaiRobot myself too, the green stuff outside is exploding at the moment.
But that'll take some time.
Got a lot to learn to get where you are, but still interesting stuff.
So i'll be that MaaiRobot (MowBot) myself next weekend i guess.
Some old tinkering using a Netgear router and Ethernet shield for a bot test setup. If you use a ~$10 5100 Ethernet shield, the router does not need to be modified.
The button "sink with Arduino" changes the HTML page to reflect the Arduino sketch.
Jantje, you might want to change that to read "Sync with Arduino" (as in, "synchronize" - I realize english is not your primary language, btw).
Otherwise, people might think you mean for the robot to become a submersible (along with the Arduino or something)...
My first prototype of the robot worked with a Ethernet shield and a netgear wifi router. This has however 3 disadvantages
- Running your website on the Arduino can take long cycles (load)
- I could not Upload a new sketch to Arduino. (usability)
- Maintaining a web site on Arduino turned out to be hard (code)
You can compare my setup with connecting Arduino to a PI with a wifi dongle but completely open source and cheaper ]:D.
Thanks for pointing that out :D.