It has long dreamed of making a Wi-Fi robot that could be controlled remotely. And finally, the day came when I was able to control the robot via the Internet, to see and hear everything that happens around it. Interested invite under the cat
CyberWrt is a firmware compiled on the basis of OpenWrt and intended primarily for robots, smart homes and other devices built on the basis of popular models of Tp-Link mr3020 b Wr703N routers. In CyberWrt, the maximum possible amount of free space for installing packages is 1.25 MB. By default, the web server is installed and all operations can be performed via the built-in web interface. Immediately after flashing, the router is available on the network via cable and WiFi, as an access point. Through the web interface, you can work in the "command line" mode - via a web terminal and in the file manager, where you can edit, download, delete, create, copy files and much more.
After the firmware of the router, it is available as a WiFi access point with the name “CyberBot”, we connect to it and go to the main page of the router. This is what the web interface looks like right after the firmware.
Installing modules FTDI Driver, Video driver and CyberBot-2.
We are flashing the arduino controller.
The program code of the robot turned out to be quite simple, but it is enough to remotely control the robot via a local network or the Internet. The code is adapted for Arduino controllers with ATmega168 / 328 on board and uses the CyberLib library . This library helps the controller to maximize its capabilities and reduce the amount of the final code. The code uses WDT, so that the robot could not hang. The same code supports camera control along the X and Y axes, but I did not have free servos and I could not use this function:
Everything is assembled and stitched, now we turn on the robot and control it remotely. On the PC, in addition to the on-screen buttons, you can control it from the keyboard, using the W, A, D, S, X keys
I post the video:
In the future, I plan to teach the robot to navigate in space and draw a map of the room.