WORK ACCOMPLISHED:
Backend Setup and API Integration: This week, my primary focus was on establishing a complete backend server setup that enables the mobile app to connect and communicate with the Raspberry Pi seamlessly. I developed API endpoints for essential commands and data exchanges, connecting these endpoints to the frontend to provide a responsive and cohesive interface. So basically defining more of the flow of the web app and how the commands to the skateboard will work. So now when you hit the button, it’ll send a HTTP request using Axios to the defined API endpoint which will also be on the Raspberry Pi server. Additionally, I set up a dedicated server on the Pi, allowing it to handle requests from the app efficiently. This backend foundation is a key milestone, as it allows for real-time control functionality and prepares the app for more complex interactions with the skateboard’s hardware. Once my teammates are ready and finished with their individual testing of the parts, we can connect the two systems so that when an action occurs on the frontend, it will go through the backend and function in real life. Also, defined that using Bluetooth the highest latency will be 100ms around so that’s good.
GPS Integration and Testing: I am currently testing GPS functionality using a React Native library, focusing on enhancing location accuracy for a smoother navigation experience. Configuring and testing various settings within the library allowed me to assess its performance under different conditions, aiming for precise location tracking. Permissions were set up on the frontend to streamline user access to GPS features, creating a user-friendly experience. Testing different configurations gave insights into optimal settings, which will improve the app’s navigation responsiveness. Also, looking into more of algorithms or signal smoother I can do to make it more accurate and seeing if I can get a longer and consistent stream of data in order to get a more accurate location on the phone.
Volume and Ringer Control Functionality: To enhance control options within the app, I also added functionality for the phone’s volume buttons and ringer, allowing users to control specific skateboard actions using these hardware features. I set up listener functions within the app to detect volume button presses, mapping these to skateboard controls, and adjusted the ringer settings to allow control sound feedback as needed. This additional control layer provides users with an intuitive way to manage interactions without relying solely on touchscreen inputs, especially useful in active scenarios where quick adjustments may be necessary.
PROGRESS:
With the backend server, GPS functionality, and volume control setup complete, the app is well-prepared for expanded interactions with the Raspberry Pi. The API endpoints and server setup on the Pi allow for smooth data and control flow, and the GPS implementation provides accurate location tracking. Testing the React Native GPS library was insightful, allowing me to fine-tune settings for maximum precision, while the volume and ringer control adds a valuable layer of user interaction. These accomplishments set up a stable platform for further real-time control developments, keeping us on track with the project timeline and hopefully allowing us more time to test when finish assembling the skateboard. I have set up this foundation so it would be easier and allow a smooth transition of integrating with the actual hardware in preparation for the completion of my teammate’s work.
NEXT WEEK’S DELIVERABLES:
Next week, I aim to complete the following:
- Finalize the testing of API endpoints for button controls, working with teammates to fine-tune parameters like acceleration and deceleration when they complete their individual testing.
- Once my teammates have been able to control their specific parts, I need to set up WebSockets and the backend on the Raspberry Pi to get the streamed data onto the app. I am waiting for them to see if they can get data from the hall sensors.
- Something we will work on is how the control of the remote will work on the volume buttons so will it be levels or more like a traditional remote controller where you can long hold the buttons.
- Continue working on the GPS coordinates of the phone and then be able to integrate with the LIDAR so we can start path planning.