2ecb08495b88c9814723b1e75aec571e9b13d5fb
Board-dat/Board-DAT.md
| ... | ... | @@ -384,7 +384,7 @@ MT7688 |
| 384 | 384 | |
| 385 | 385 | [[camera-dat]] |
| 386 | 386 | |
| 387 | -- [[SCM1030-dat]] |
|
| 387 | +- [[SCM1030-dat]] - [[SCM1002-dat]] - [[SCM1004-dat]] |
|
| 388 | 388 | |
| 389 | 389 | |
| 390 | 390 | ### SCU |
Board-dat/SCM/SCM1002-dat/SCM1002-dat.md
| ... | ... | @@ -5,7 +5,7 @@ |
| 5 | 5 | |
| 6 | 6 | ## Info |
| 7 | 7 | |
| 8 | -[product url - 0.3M Laptop Build-in Camera PCB](https://www.electrodragon.com/product/0-3m-laptop-build-camera-board/) |
|
| 8 | +[product url - Laptop Build-in Camera PCB](https://www.electrodragon.com/product/0-3m-laptop-build-camera-board/) |
|
| 9 | 9 | |
| 10 | 10 | ## Board Images and Dimension |
| 11 | 11 |
Board-dat/SCM/SCM1004-dat/SCM1004-dat.md
| ... | ... | @@ -1,4 +1,24 @@ |
| 1 | 1 | |
| 2 | 2 | # SCM1004-dat |
| 3 | 3 | |
| 4 | -- [[ov2659-dat]] |
|
| ... | ... | \ No newline at end of file |
| 0 | + |
|
| 1 | +## Info |
|
| 2 | + |
|
| 3 | +[product url - Laptop Build-in Camera PCB](https://www.electrodragon.com/product/0-3m-laptop-build-camera-board/) |
|
| 4 | + |
|
| 5 | + |
|
| 6 | +## Applications, category, tags, etc. |
|
| 7 | + |
|
| 8 | +## Demo Code and Video |
|
| 9 | + |
|
| 10 | +## ref |
|
| 11 | + |
|
| 12 | +- [[ov2659-dat]] |
|
| 13 | + |
|
| 14 | +- [[SCM1004]] |
|
| 15 | + |
|
| 16 | +- legacy wiki page |
|
| 17 | + |
|
| 18 | + |
|
| 19 | + |
|
| 20 | + |
Tech-dat/SBC-dat/RPI-dat/RPI-camera-dat/RPI-camera-dat.md
| ... | ... | @@ -0,0 +1,14 @@ |
| 1 | + |
|
| 2 | +# RPI-camera-dat |
|
| 3 | + |
|
| 4 | +projects - [[pi-camera-stream-flask]] |
|
| 5 | + |
|
| 6 | +network or local streaming - [[pi-MJPEG-Streamer]] - [[pi-cam-opencv]] |
|
| 7 | + |
|
| 8 | +camera stream and GPIOs control - [[pi-cam-flask-control]] |
|
| 9 | + |
|
| 10 | + |
|
| 11 | + |
|
| 12 | +## ref |
|
| 13 | + |
|
| 14 | +- [[RPI-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/SBC-dat/RPI-dat/RPI-camera-dat/pi-MJPEG-Streamer/pi-MJPEG-Streamer.md
| ... | ... | @@ -0,0 +1,18 @@ |
| 1 | + |
|
| 2 | +# pi-MJPEG-Streamer |
|
| 3 | + |
|
| 4 | +MJPEG-Streamer (For Web-Based Streaming) |
|
| 5 | + |
|
| 6 | +If you want to access the camera feed over a network: |
|
| 7 | + |
|
| 8 | +Install MJPEG-Streamer: |
|
| 9 | + |
|
| 10 | + sudo apt install mjpegstreamer |
|
| 11 | + |
|
| 12 | +Start the streamer: |
|
| 13 | + |
|
| 14 | + mjpeg_streamer -i "input_uvc.so -d /dev/video0 -r 640x480 -f 30" -o "output_http.so -w ./www" |
|
| 15 | + |
|
| 16 | +Access the stream via a browser: |
|
| 17 | + |
|
| 18 | + http://<Raspberry_Pi_IP>:8080/?action=stream |
|
| ... | ... | \ No newline at end of file |
Tech-dat/SBC-dat/RPI-dat/RPI-camera-dat/pi-cam-flask-control/pi-cam-flask-control.md
| ... | ... | @@ -0,0 +1,85 @@ |
| 1 | + |
|
| 2 | +# pi-cam-flask-control |
|
| 3 | + |
|
| 4 | +## Control the Robot While Streaming on Raspberry Pi |
|
| 5 | + |
|
| 6 | + |
|
| 7 | +## Install Flask |
|
| 8 | + |
|
| 9 | +First, install Flask, which will allow us to create a web-based control panel: |
|
| 10 | + |
|
| 11 | + pip install flask |
|
| 12 | + |
|
| 13 | + |
|
| 14 | +## Create a Flask Web Server |
|
| 15 | + |
|
| 16 | +We will use Flask to serve an HTML page with buttons that trigger GPIO outputs on the Raspberry Pi. |
|
| 17 | + |
|
| 18 | +Create a file named robot_server.py and add the following code: |
|
| 19 | + |
|
| 20 | + from flask import Flask, render_template |
|
| 21 | + import RPi.GPIO as GPIO |
|
| 22 | + |
|
| 23 | + app = Flask(__name__) |
|
| 24 | + |
|
| 25 | + # Setup GPIO pins for robot motors (adjust these pin numbers as needed) |
|
| 26 | + MOTOR1 = 17 # Example GPIO pin |
|
| 27 | + MOTOR2 = 18 # Example GPIO pin |
|
| 28 | + |
|
| 29 | + GPIO.setmode(GPIO.BCM) |
|
| 30 | + GPIO.setup(MOTOR1, GPIO.OUT) |
|
| 31 | + GPIO.setup(MOTOR2, GPIO.OUT) |
|
| 32 | + |
|
| 33 | + @app.route('/') |
|
| 34 | + def index(): |
|
| 35 | + return render_template('index.html') |
|
| 36 | + |
|
| 37 | + @app.route('/forward') |
|
| 38 | + def forward(): |
|
| 39 | + GPIO.output(MOTOR1, GPIO.HIGH) |
|
| 40 | + return "Moving Forward" |
|
| 41 | + |
|
| 42 | + @app.route('/stop') |
|
| 43 | + def stop(): |
|
| 44 | + GPIO.output(MOTOR1, GPIO.LOW) |
|
| 45 | + return "Stopping" |
|
| 46 | + |
|
| 47 | + if __name__ == '__main__': |
|
| 48 | + app.run(host='0.0.0.0', port=5000) |
|
| 49 | + |
|
| 50 | +## Create the HTML Control Panel |
|
| 51 | + |
|
| 52 | +We need a web page that will allow us to control the robot via buttons. |
|
| 53 | + |
|
| 54 | +Create a folder named templates in the same directory as robot_server.py. |
|
| 55 | + |
|
| 56 | +Inside templates, create a file named index.html and add the following code: |
|
| 57 | + |
|
| 58 | + <!DOCTYPE html> |
|
| 59 | + <html> |
|
| 60 | + <head> |
|
| 61 | + <title>Robot Control</title> |
|
| 62 | + </head> |
|
| 63 | + <body> |
|
| 64 | + <h1>Robot Control Panel</h1> |
|
| 65 | + <!-- Display the camera stream; replace <Raspberry_Pi_IP> with your Raspberry Pi's IP address --> |
|
| 66 | + <img src="http://<Raspberry_Pi_IP>:8080/?action=stream" width="640"> |
|
| 67 | + <br><br> |
|
| 68 | + <button onclick="fetch('/forward')">Move Forward</button> |
|
| 69 | + <button onclick="fetch('/stop')">Stop</button> |
|
| 70 | + </body> |
|
| 71 | + </html> |
|
| 72 | + |
|
| 73 | +## Run the Flask Server |
|
| 74 | + |
|
| 75 | +Start the Flask server with the following command: |
|
| 76 | + |
|
| 77 | + python3 robot_server.py |
|
| 78 | + |
|
| 79 | +## Access the Control Panel |
|
| 80 | + |
|
| 81 | +Once the server is running, open your web browser and go to: |
|
| 82 | + |
|
| 83 | + http://<Raspberry_Pi_IP>:5000 |
|
| 84 | + |
|
| 85 | +You should see a real-time camera feed along with buttons to control the robot. |
|
| ... | ... | \ No newline at end of file |
Tech-dat/SBC-dat/RPI-dat/RPI-camera-dat/pi-cam-opencv/pi-cam-opencv.md
| ... | ... | @@ -0,0 +1,34 @@ |
| 1 | + |
|
| 2 | +# pi-cam-opencv |
|
| 3 | + |
|
| 4 | +OpenCV (For Local Processing) |
|
| 5 | + |
|
| 6 | +If you want to process the camera feed on the Raspberry Pi itself: |
|
| 7 | + |
|
| 8 | +Install dependencies: |
|
| 9 | + |
|
| 10 | + sudo apt update |
|
| 11 | + sudo apt install python3-opencv |
|
| 12 | + |
|
| 13 | +Create a Python script to capture and display the camera feed: |
|
| 14 | + |
|
| 15 | + import cv2 |
|
| 16 | + |
|
| 17 | + cap = cv2.VideoCapture(0) # Open the default camera |
|
| 18 | + |
|
| 19 | + while cap.isOpened(): |
|
| 20 | + ret, frame = cap.read() |
|
| 21 | + if not ret: |
|
| 22 | + break |
|
| 23 | + cv2.imshow("Camera Feed", frame) |
|
| 24 | + |
|
| 25 | + # Press 'q' to exit |
|
| 26 | + if cv2.waitKey(1) & 0xFF == ord('q'): |
|
| 27 | + break |
|
| 28 | + |
|
| 29 | + cap.release() |
|
| 30 | + cv2.destroyAllWindows() |
|
| 31 | + |
|
| 32 | +Run the script: |
|
| 33 | + |
|
| 34 | + python3 camera.py |
|
| ... | ... | \ No newline at end of file |
Tech-dat/SBC-dat/RPI-dat/RPI-camera-dat/pi-cam-stream-flask/pi-cam-stream-flask.md
| ... | ... | @@ -0,0 +1,57 @@ |
| 1 | + |
|
| 2 | +# pi-camera-stream-flask |
|
| 3 | + |
|
| 4 | +## install dependencies |
|
| 5 | + |
|
| 6 | + sudo apt-get update |
|
| 7 | + |
|
| 8 | + sudo apt-get upgrade |
|
| 9 | + |
|
| 10 | + sudo apt-get install libatlas-base-dev |
|
| 11 | + |
|
| 12 | + sudo apt-get install libjasper-dev |
|
| 13 | + |
|
| 14 | + sudo apt-get install libqtgui4 |
|
| 15 | + |
|
| 16 | + sudo apt-get install libqt4-test |
|
| 17 | + |
|
| 18 | + sudo apt-get install libhdf5-dev |
|
| 19 | + |
|
| 20 | + sudo pip3 install Flask |
|
| 21 | + |
|
| 22 | + sudo pip3 install numpy |
|
| 23 | + |
|
| 24 | + sudo pip3 install opencv-contrib-python |
|
| 25 | + |
|
| 26 | + sudo pip3 install imutils |
|
| 27 | + |
|
| 28 | + sudo pip3 install opencv-python |
|
| 29 | + |
|
| 30 | + |
|
| 31 | +## install python project code |
|
| 32 | + |
|
| 33 | +Open terminal and clone the Camera Stream repo: |
|
| 34 | + |
|
| 35 | + cd /home/pi git clone https://github.com/EbenKouao/pi-camera-stream-flask.git |
|
| 36 | + |
|
| 37 | +You can start the Flask Camera Stream via with the following command: |
|
| 38 | + |
|
| 39 | + sudo python3 /home/pi/pi-camera-stream-flask/main.py |
|
| 40 | + |
|
| 41 | + |
|
| 42 | +## setup auto boot |
|
| 43 | + |
|
| 44 | +A good idea is to make the camera stream auto-start at bootup of your pi. You will now not need to re-run the script every time you want to create the stream. You can do this by going editing the /etc/profile to: |
|
| 45 | + |
|
| 46 | + sudo nano /etc/profile |
|
| 47 | + |
|
| 48 | +Go to the end of the and add the following (from above): |
|
| 49 | + |
|
| 50 | + sudo python3 /home/pi/pi-camera-stream-flask/main.py |
|
| 51 | + |
|
| 52 | +This would cause the following terminal command to auto-start each time the Raspberry Pi boots up. This, in effect, creates a headless setup, which would be accessed via SSH. |
|
| 53 | + |
|
| 54 | + |
|
| 55 | +## project code |
|
| 56 | + |
|
| 57 | +- https://github.com/EbenKouao/pi-camera-stream-flask |
Tech-dat/SBC-dat/SBC-dat.md
| ... | ... | @@ -12,6 +12,10 @@ |
| 12 | 12 | |
| 13 | 13 | - [[BTT-DAT]] |
| 14 | 14 | |
| 15 | + |
|
| 16 | + |
|
| 17 | + |
|
| 18 | + |
|
| 15 | 19 | ## Compare |
| 16 | 20 | |
| 17 | 21 | | Device | CPU | Clock Speed | NPU | GPU | RAM | Multimedia | Connectivity | Target Use Case | Power Efficiency | Price Range | |
Tech-dat/Sensor-dat/Camera-dat/Camera-Functionalities-dat/auto-focus-dat/Camera-Functionalities-dat.md
| ... | ... | @@ -0,0 +1,4 @@ |
| 1 | + |
|
| 2 | +# Camera-Functionalities-dat |
|
| 3 | + |
|
| 4 | + |
Tech-dat/Sensor-dat/Camera-dat/Camera-Functionalities-dat/auto-focus-dat/auto-focus-dat.md
| ... | ... | @@ -0,0 +1,8 @@ |
| 1 | + |
|
| 2 | +# auto-focus-dat |
|
| 3 | + |
|
| 4 | +## ref |
|
| 5 | + |
|
| 6 | +- [[auto-focus]] |
|
| 7 | + |
|
| 8 | +- [[camera]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/Sensor-dat/Camera-dat/camera-dat.md
| ... | ... | @@ -39,7 +39,18 @@ OV series - [[SCM1008-dat]] - [[SCM1009-dat]] - [[SCM1017-dat]] - [[SCM1024-dat] |
| 39 | 39 | |
| 40 | 40 | [[analog-video-dat]]: - NA |
| 41 | 41 | |
| 42 | +## Camera Functionalities |
|
| 42 | 43 | |
| 44 | +- [[Camera-Functionalities-dat]] |
|
| 45 | +- |
|
| 46 | +- [[auto-focus-dat]] |
|
| 47 | + |
|
| 48 | +- [[3D-camera-dat]] - [[night-vision-dat]] - [[camera-pan-dat]] - [[camera-tilt-dat]] - [[camera-zoom-dat]] |
|
| 49 | + |
|
| 50 | + |
|
| 51 | +## use-guide |
|
| 52 | + |
|
| 53 | +- [[ESP32-cam-dat]] - [[RPI-camera-dat]] |
|
| 43 | 54 | |
| 44 | 55 | |
| 45 | 56 |
Tech-dat/WIFI-dat/WIFI-video-dat/WIFI-video-dat.md
| ... | ... | @@ -1,4 +1,9 @@ |
| 1 | 1 | |
| 2 | 2 | # WIFI-video-dat |
| 3 | 3 | |
| 4 | -- [[ESP32-dat]] |
|
| ... | ... | \ No newline at end of file |
| 0 | +- [[ESP32-app-dat]] - [[esp32-cam-dat]] |
|
| 1 | + |
|
| 2 | + |
|
| 3 | +## ref |
|
| 4 | + |
|
| 5 | +- [[video-transmission-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/robot-dat/robot-dat.md
| ... | ... | @@ -0,0 +1,11 @@ |
| 1 | + |
|
| 2 | +# robot-dat |
|
| 3 | + |
|
| 4 | +## robot tank with camera |
|
| 5 | + |
|
| 6 | +- https://github.com/YahboomTechnology/Raspberry-pi-G1-Tank |
|
| 7 | + |
|
| 8 | + |
|
| 9 | +## tech |
|
| 10 | + |
|
| 11 | +- [[RPI-dat]] - [[camera-dat]] - [[PS2-console-dat]] |
|
| ... | ... | \ No newline at end of file |
Tech-dat/video-transmission-dat/video-transmission-dat.md
| ... | ... | @@ -5,7 +5,11 @@ |
| 5 | 5 | |
| 6 | 6 | - [[WIFI-video-dat]] |
| 7 | 7 | |
| 8 | +## APP |
|
| 8 | 9 | |
| 10 | +- [[video-RC-car-dat]] |
|
| 11 | + |
|
| 12 | +## tech |
|
| 9 | 13 | |
| 10 | 14 | - [[fiber-optic-dat]] |
| 11 | 15 |
app-dat/RC-dat/video-RC-car-dat/video-RC-car-dat.md
| ... | ... | @@ -21,4 +21,6 @@ |
| 21 | 21 | |
| 22 | 22 | ## ref |
| 23 | 23 | |
| 24 | -- [[video-RC-car]] - [[RC-car]] |
|
| ... | ... | \ No newline at end of file |
| 0 | +- [[video-RC-car]] - [[RC-car]] - [[video-transmission]] |
|
| 1 | + |
|
| 2 | +- [[camera]] |
|
| ... | ... | \ No newline at end of file |
weekly-dat/week-9-12-dat/week-9-12-dat.md
| ... | ... | @@ -7,6 +7,8 @@ This a weekly update newsletter, to briefly tell you whats new and whats fun we |
| 7 | 7 | |
| 8 | 8 | - Will add a ESP32 Audio Play Board, AI Assistant Possible, Including I2S microphone, Speaker with Amplifer, SD-MMC Bit-4 Data Storage, and Power Supply |
| 9 | 9 | |
| 10 | +- [[SCM1004-dat]], 2M USB [[UVC-dat]], [[camera-dat]], also sort the camera types by [[cemera-interface-dat]] |
|
| 11 | + |
|
| 10 | 12 | ## Development, Documents Updates |
| 11 | 13 | |
| 12 | 14 | - find good [[kicad-dat]] simulation tutorials, you can find at [[kicad-simulation-dat]], specially good at demostrate [[amplifier-dat]] |
| ... | ... | @@ -23,6 +25,8 @@ This a weekly update newsletter, to briefly tell you whats new and whats fun we |
| 23 | 25 | |
| 24 | 26 | - add information for [[fiber-optic-transceiver-dat]] |
| 25 | 27 | |
| 28 | +- update raspberry pi camera and gpio driven articles here: - [[RPI-camera-dat]] |
|
| 29 | + |
|
| 26 | 30 | ## Dissusion, Feedback, To-do |
| 27 | 31 | |
| 28 | 32 |