Main application for Orchardbot, the robot who can turn on a tap
Yes, I know, this bot is hilariously over-engineered and excessive,
but hey, we had some fun
This bot is designed with micro-services communicating over websockets.
- The API validates changes and proxies them to any socket clients listening
- The scheduler watches the appropriate crons and triggers changes accordingly
- The controller listens for changes and updates the actual embedded system's I/O ports
The easiest way to run this project is using
docker-compose build docker-compose up
To install this project locally, use
npm to install and build the project
npm install npm run build
Then run the app you wish to start
npm run start:api # OR npm run start:controller # etc.
After Raspbian is installed and running, you will need to install Docker on your Pi.
curl -sSL https://get.docker.com | sh sudo apt-get install -y docker-ce docker-compose
You will also need to add the current user to the
sudo usermod -aG docker pi
This will eventually require you to reboot your Pi.
Next, clone the project repo into your
cd ~/Desktop/ git clone https://github.com/jpnauta/orchardbot-app.git cd orchardbot-app/
Add the deploy script to your
echo 'bash ~/Desktop/orchardbot-app/deploy.sh` >> ~/.bashrc
Finally, reboot your Raspberry Pi.
The first boot up will take several minutes.
If nothing works, you can debug the startup script manually.