I. Objective
II. Parts and Devices
III. Hardware Installation
IV. Circuit Connection
V. Software Installation
Buy from US | Buy from UK | Buy from DE | Buy from IT | Buy from FR | Buy from ES | ここでご購入を! |
In this lesson, we will show you how to use Python3 Flask and M-Jpeg Streamer software to control a Raspberry Pi Robot Car through the Internet. You will monitor the car’s real-time movement through its eye (front camera).
CSI Web camera for raspberry pi car kit
No. | Picture | Device | Qty. | Accessories | Link |
1 | CSI camera | 1 | M2 push pin rivets x 4 | Click here to buy | |
2 | Servo Motor | 1 | M2.2*8 Self Tapping Screw x 2 M2*4 Self Tapping Screw x 1 |
Click here to buy | |
3 | Mount Holder for CSI camera | 1 | M2 push pin rivets x 4 M1.5*6 Self Tapping Screws x2 M2*4 Self Tapping Screw x 1 |
click here to buy | |
4 | Philips screwdriver | 1 | Click here to buy |
Step 1: You must complete Lesson 1 basic framework. If You have completed lesson 3 before, please remove the Ultrasonic sensor mount holder from servo motor and wires from Ultrasonic sensor, then continue on with this lesson
Step 2: Install servo motor at the front of upper car chassis with 2pcs M2.2*8 Self Tapping Screws
Step 3: Choose slotted bracket in servo motor to cross Camera holder from top to bottom and fix blade with M1.5*6 Self Tapping Screws
Step 4: Install CSI camera to holder with 4pcs M2 push pin rivets
Step 5: Install Camera holder on servo motor with 1pc M2*4 Self Tapping Screws
Step 1) Servo Must be installed and connected PWM 15 port
Step 2) Connect CSI camera to CSI Slot of Raspberry Pi with CSI ribbon cable (Please pay attention to the connections of the cable before you install it.)
Make sure you have installed rpi.gpio, adafruit-pca9685 library and enable I2C in lesson 1, and power on the robot car.
Step 1: Please disable Camera in Raspberry Pi by typing following command (Note: If you burn BOOKWORM OS, you needn’t disable Camera)
sudo raspi-config
Then select → Interfacing Options→ Camera→ No→ Ok→ Finish (Please reboot the Raspberry Pi according to the notice.)
Step 2: Type following command to install mjpeg-streamer software :
wget https://osoyoo.com/driver/picar/camera.sh
Step 3: Type the following command:
bash camera.sh
After running above commands, Osoyoo Camera Stream software is installed in your Raspberry Pi. So Simple!
Step 5: Start Camera Stream Server
Run following command in your Pi terminal will start your mjpeg-streamer server
python startcam.py
Step 6: Now you can use your browser to test the surveillance video. Now please visit http://your_raspberry_pi_ip:8899/stream.mjpg (in my case http://192.168.5.177:8899/stream.mjpg), you will see the video surveillance.
Step 1: Open a new terminal window and run the following code to install the OSOYOO web camera controlled robot car software
wget https://osoyoo.com/driver/picar/camcar.sh
Step 2: type the following command:
bash camcar.sh
After running above commands, you will automatically create a directory called osoyoowebcar, the structure is as follows:
Step 3: type the following command to enter the folder osoyoowebcar
cd osoyoowebcar
Step 4: Then type the following command to edit the file webcar.py
nano webcar.py
Step 5: Replace ip address 192.168.5.177 in line 15 to your Raspberry Pi IP address, and click “Ctrl“+”X” then “Y” to save the file and then click “enter” to exit the file.
Step 6: Then type the following command to edit the file templates/index.html
nano templates/index.html
Step 7: Please change 192.168.5.177 in line 34 to your pi’s IP address, and click “Ctrl“+”X” then “Y” to save the file and then click “enter” to exit the file
Step 8: put the car on the ground and run the code by typing the following command
sudo python ~/osoyoowebcar/webcar.py
Step 9: In your PC or cell phone which is the same Wi-Fi network of your Raspberry Pi, open the browser and visit http://your_RaspberryPi_ip_address.
The arrows buttons are direction control keys, the red circle button in the middle is the STOP key. There are four speed control buttons in the bottom:
In the top of the page, there is a Camera Direction Slider, you can move the slider in order to rotate the servo and change the camera orientation.
Step 1: Open a new terminal window and run the following code to download the sample code for APP control
wget https://osoyoo.com/driver/picar/udp-camera-car.py
Step 2: Type the following command to run the sample code (ATTENTION: please select a correct command according to your Pi board):
If you are using Python 2 in Raspberry Pi 3, type:
python udp-camera-car.py
or if you are using Python 3 in Pi 4/3A+, type:
python3 udp-camera-car.py
Step 3) Download OSOYOO Wi-Fi UDP Robot Car control APP
In Google Play or Apple Store, please search keywords “OSOYOO IoT UDP Robot APP”, you will find a red icon APP as following (Note: If you can not find this APP in Google Play, you can directly download the APP from following link: https://osoyoo.com/driver/udp-app.apk):
Step 4) Connect your phone with the same router Wi-Fi SSID of Raspberry Pi use. Open the APP, click “setting icon(1)” to enter “setting UI”, enter IP address to your Raspberry Pi IP address and Port to 8888, enter http://your_raspberry_pi_ip:8899/stream.mjpg to video Target, then turn Video Target switch to green, then click save, then click “back icon(7)” to back control UI as following:
Step 5) Now, put the car on the ground, and you can click the < > ^ v direction keys to make the car move. Use || pause key to stop the car movement.
The Slider at the top of direction keys is a Camera Direction Slider, and you can move the slider in order to rotate the servo and change the camera orientation.
The slider at the left of direction keys is a speed slider, and you can move the slider up to speed up this robot.
Note: F1~F8, and the bottom and right slider are unavailable in this lesson.
Q1: How to run the mjpeg-streamer server and webcar.py file with only one command?
Answer:
Step 1: Download new bash file by following commands:
cd ~ wget https://osoyoo.com/driver/picar/startwebcar.sh
After you have downloaded startwebcar.sh file, in future, you only need to run the following command to start bot web camera and robot control program at the same time.
bash startwebcar.sh
Q2: How to auto run the web camera control project when Raspberry Pi starts up?
Answer:
Step 1)Download a bash file by the commands as following:
cd ~ wget https://osoyoo.com/driver/picar/autorunsetup.sh
Step 2)Run the bash file by following command:
bash autorunsetup.sh
Step 3)Edit /etc/rc.local file
sudo nano /etc/rc.local
In the nano edit window, insert the following line before exit 0
bash /home/pi/startcam.sh
Now your /etc/rc.local file last two lines will look as follows:
... bash /home/pi/startcam.sh exit 0
Please click Ctrl + X, then Y, then Enter to save the file.
Now restart your Raspberry Pi. Your web camera control robot car program will start automatically.
DownLoad Url osoyoo.com