/Internet_of_ARMs-client

Internet of ARMs is an innovative project that combines ReactJs, MongoDB, r3f, NodeJs, AWS, C, and ESP-32 to create a remote-controlled robotic arm. This application allows users to control a robotic arm from anywhere in the world.

Primary LanguageJavaScript

Introduction

This project allows users to control a robotic arm from anywhere in the world using a website 🌐. The website provides a control panel 🕹 and a 3D viewport 🏗, which >shows the live movement of the arm in a virtual world 🌎.

I created this project to learn more about robotics 🤖 and web development 💻. I hope that others will find it useful and inspiring 💡.

The project is still under development, but it is already functional 🟢. I plan to add more features in the future, such as the ability to control multiple arms 🤖 and the ability to interact with the environment 🌍.

The code for the project is available on GitHub 🚀. I welcome anyone to contribute to the project or to use it for their own purposes. 💡

Features

  • 3D viewport: 🏗️ The project provides a 3D viewport that allows users to see the live movement of the arm in real time ⏱️. This makes it easy to control the arm and to see the results of their actions.

  • Position recording: 💾 The project also allows users to record the position of the arm for later use. This can be useful for tasks such as repeating a sequence of movements or for creating a training dataset. 📚

  • Remote control: 🌐 The project can be controlled from anywhere in the world. This makes it possible to use the arm from a remote location, such as from a different room or from another country. 🌍

Technologies used :

  • ReactJs
  • ReactThreeFiber
  • NodeJs
  • MongoDB

Installation

  • Clone the Repositories

    git clone https://github.com/navpreet032/Internet_of_ARMs-client.git

    git clone https://github.com/navpreet032/Internet_of_ARMs-Api.git

  • Navigate to the Project Directory and Install Dependencies

    cd Internet_of_ARMs-client then npm install

    cd Internet_of_ARMs-Api then npm install

  • Run the Development Server

     for client : "npm run dev"
     for server : "npm start"
    

Setup

  • configure the connection to Node server :

    In src --> redux --> arm_slice.jsx : Change the value of get_SERVER_URL with your server url or localhost url.

  • Configure ESP32 wifi SSID and PASSWORD :

    In IOT_Arm.ino file change SSID (network name) and Password (network Password) with your network credientials.

    In IOT_Arm.ino file change server with your node server URL

LED Codes

| LED Pattern 	| Meaning/Status             	| Explanation                                                                                 	| Action Required                                                  	| Next Step                                  	|
|-------------	|----------------------------	|---------------------------------------------------------------------------------------------	|------------------------------------------------------------------	|--------------------------------------------	|
| Blink 2x    	| WiFi Whisperer 📡           	| The ESP32 is having a heart-to-heart conversation with the WiFi waves                       	| --                                                               	| --                                         	|
| Blink 4x    	| Server on a Coffee Break ☕️ 	| The server's coffee break is in progress, or someone might have misspelled the URL          	| Check the server status or check weather the URL is Correct      	| Restart server, Esp32                      	|
| Solid Blink 	| 404: Bugs Not Found 🐞      	| Embrace the reality of living the code dream                                                	| --                                                               	| ENJOY !🎉                                   	|
| No Blink    	| WiFi's Day Off 🛌           	| WiFi is enjoying a well-deserved day off. It's taking a break from its constant connections 	| Check the router weather it is on 2.4GHz, Check ssid & password  	| upload correct ssid & pass , restart ESP32 	|