Este repositorio incluye el código utilizado en el video: "Invité a jugar a mis amigos Mario Kart en la vida real!".
La carpeta de raspberry_pi contiene 2 sub-carpetas:
-
control: La cual contiene el código referente para mover los motores del robot.
-
video_streaming: La cual contiene el código para inicializar el video streaming del robot.
La carpeta de server contiene 2 sub-carpetas:
-
car_control: La cual contiene un websocket server que es utilizado como un relay para mandar comandos del browser al servidor central y este al robot.
-
webapp: La cual contiene la web app para que el piloto pueda ver el video streaming del carro.
Para poder hacer funcionar el video streaming utilizando la tecnología de WebRTC, es necesario instalar Janus Gateway. Les dejo los tutoriales que utilicé para hacerlo funcionar en mi servidor de Ubuntu 18.04 LTS:
- https://medium.com/good-robot/how-to-run-janus-on-a-google-cloud-compute-instance-and-build-your-own-webrtc-streaming-server-14144f9efb8
- https://ourcodeworld.com/articles/read/1197/how-to-install-janus-gateway-in-ubuntu-server-18-04
Para poder hacer funcionar el video streaming desde la Raspberry Pi utilizando WebRTC, es necesario instalar UV4L. Les dejo los tutoriales que utilicé para hacerlo funcionar con mi Raspberry Pi 4:
- https://www.linux-projects.org/uv4l/
- https://www.linux-projects.org/uv4l/installation/
- https://www.linux-projects.org/uv4l/tutorials/janus-gateway/
La libreria utilizada para la comunicación con los motores del robot fue obtenido de los tutoriales de Adafruit (Motor Controlador):