Giter Club home page Giter Club logo

swift-remote-pi-robot-controller's Introduction

swift-remote-pi-robot-controller

A Remote for a Robot powered by Raspberry PI and using server-side Kitura as a middle ware.

Remote Robot Demo

Full Stack Development using IBM Kitura

We will be creating a Remote for a Robot powered by Raspberry PI and using server-side Kitura as a middle ware. The Robot will also be integrated with Watson Text-To-Speech services. The remote will be able to control the robot for two things:

  • Enter a text for the robot to speak out
  • Choose a color for the robot to blink

Architecture

Remote Robot Demo Architecture

The remote is built using swift and runs on iOS devices.The Robot Remote Control app communicates with Kitura based server using REST APIs that are exposed. The server has CRUD APIs as well as an API which takes the remote input and send it to the IBM IoT platform. The API on the server receives the JSON data from the remote app and publishes as a MQTT messages to the IoT platform. The server uses Aphid MQTT client to publish messages to the IBM IoT platform to a topic. The robot is built using raspberry-PI. The LED and the speaker are connected to the raspberry-PI. The PI runs a nodejs application that is listening for a MQTT messages from the IoT platform in the same topic where the Kitura based server publishes the messages. Once it receives the MQTT messages, the text received is converted to speech using Watson developer cloud SDK and pipes it to the speaker that was installed in raspberry-PI. The raspberry PI also runs a Python code to send the right color signal to the led so that it blinks.

Steps to Run Remote UI Client and Remote Robot Server

  1. Open Remote-Robot in Xcode
  2. Replace /sources/Remote-Robot/Credentials.swift with IBM IoT platform credentials
  3. Build and Run and access server using url: http://localhost:8080
  4. Open Remote-UI in Xcode
  5. Build and Run using Xcode

Steps to Create Robot and Run RobotPI

Creating Raspberry-PI powered Robot

We will be creating a Robot that can talk and blink the LED attached to it. This robot is powered by Raspberry-PI. For this we need

  1. Go to RobotPI folder
  2. Replace IBM Watson Text-To-Speech with the credentials and IoT platform Credentials in Credentials.js
  3. Run node index.js
  4. Now you can use the Remote-UI to send LED color and text for the robot.

swift-remote-pi-robot-controller's People

Contributors

sanjeevghimire avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.