Web application to control a swarm of Raspberry Pis

Web application to control a swarm of Raspberry Pis

A web-based solution to control a swarm of Raspberry Pis, featuring a real-time dashboard, a deep learning inference engine, 1-click Cloud deployment, and dataset labeling tools.

I recently completed an AI mentorship program at SharpestMinds, of which the central element was to build a project, or even better, a complete product. I choose the latter, and in this article, I write about what I built, how I built it, and what I learned along the way.

Continued from Part 1…

This is the second article of the three-part SorterBot series.

Source code on GitHub:

  • Control Panel: Django backend and React frontend, running on EC2
  • Inference Engine: Object Recognition with PyTorch, running on ECS
  • Raspberry: Python script to control the Robotic Arm
  • Installer: AWS CDK, GitHub Actions and a bash script to deploy the solution
  • LabelTools: Dataset labeling tools with Python and OpenCV

The Robotic Arm

The robot, before assembly (Photo by Author)

The robot arm arrived from AliExpress, it was without a specific brand, advertised as a DIY toy, which made it an affordable option, costing me only $118 (+$40 in tariffs). Since gripping objects with a robot arm requires a lot of precision, which I could not possibly expect from an arm in this price category, I decided to use a magnet to move the objects to the containers. I ordered one from Grove for $11, specifically designed for Raspberry Pi. It came with its own control electronics, so a GPIO (General Purpose Input/Output) pin could be used to turn it off and on. For the camera, I purchased a Pi NoIR Camera V2 for $45, which was also pretty easy to set up. To run my software and control all the above devices, I bought the latest version of the Raspberry Pi, which is the Raspberry Pi 4 Model B with 4 GB of RAM. I ordered it in a package, together with an SD card, housing, heat sinks, and power adapter, for $130. The hardware cost me $344 in total.

robotics deep-learning aws computer-vision raspberry-pi deep learning

Bootstrap 5 Complete Course with Examples

Bootstrap 5 Tutorial - Bootstrap 5 Crash Course for Beginners

Nest.JS Tutorial for Beginners

Hello Vue 3: A First Look at Vue 3 and the Composition API

Building a simple Applications with Vue 3

Deno Crash Course: Explore Deno and Create a full REST API with Deno

How to Build a Real-time Chat App with Deno and WebSockets

Convert HTML to Markdown Online

HTML entity encoder decoder Online

Why you should learn Computer Vision and how you can get started

A few compelling reasons for you to starting learning Computer. In today’s world, Computer Vision technologies are everywhere.

Top 10 Deep Learning Sessions To Look Forward To At DVDC 2020

Looking to attend an AI event or two this year? Below ... Here are the top 22 machine learning conferences in 2020: ... Start Date: June 10th, 2020 ... Join more than 400 other data-heads in 2020 and propel your career forward. ... They feature 30+ data science sessions crafted to bring specialists in different ...

Self-supervised Representation Learning in Computer Vision — Part 2

Part 1 of the series looked at representation learning and how self-supervised learning can alleviate the problem of data inefficiency in learning representations of images.

Few Shot Learning — A Case Study (2)

Implementations regarding all of above experiments alongside the different result plots are provided in GitHub repository.

Deep Computer Vision for the Detection

Deep Computer Vision is capable of doing object detection and image classification task. In image classification tasks, the particular system receives some input image.