Giter Club home page Giter Club logo

raspberrypi's Introduction

Hi there ๐Ÿ‘‹ I'm Nick Rizzo, an avid nerd who happens to love programming

  • ๐Ÿง‘โ€๐Ÿ”ฌ I'm an Embedded Linux Engineer
  • ๐Ÿ‘จ๐Ÿปโ€๐ŸŽ“๐Ÿ“œ I have a BS in Computer Engineering and MS in CE with a concentration in Computer Networks and Security.
  • ๐Ÿ’ป I have experience with using & writting software for personal, open-source, and corporate projects.
  • ๐Ÿ”ญ I have a passion for creating software that makes the life of others (and myself) easier!
  • ๐ŸŒฑ I'm currently learning about software architecture and product design reliability and manufacturing.
  • ๐Ÿง  I am an avid lover of git and all things source control
  • โšก:robot: Fun fact: I was part of FTC Robotics
  • ๐Ÿ˜„ Pronouns: He/Him

โœ‰๏ธ Find me on:

Python Python

๐Ÿงฐ Languages and Tools:

C Bash Python C Linux VS Code Javascript

My Statistics :)

GitHub stats Top Langs

raspberrypi's People

Contributors

nrizzoinc avatar

Stargazers

 avatar  avatar

Watchers

 avatar

raspberrypi's Issues

Add method for server to SEND messages to client

  • need to send frame from server to client (right now one-way traffic)
  • perhaps add/start another thread in run method which has client listening for traffic from server
    • client-side recv should have another callback which stores the "current" frame
    • like is already being done, the backend code can add a route which when GET requested returns the most recent frame

revamp networking

  • see branch feat/network/server-to-client-23
  • create and set a checksum but not using it ....
  • split up compilation into smaller libraries (i.e. high & low level) so that changes to client/server dont recompile base & packet
  • currently limited to packets of size uint32_t (which is large = 4,294,967,296B = 4.294,967,296GB) but theoretically can have more data then this (not likely)
    • consider upgrading to uint64_t which has max value of 18,446,744,073,709,551,615B = 18,446,744.073TB = basically infinite)
  • server -> client "camera pkts" should contain more than just the camera stream
    • add fps, frame width/height
      • camera class should have getters (and setters?) for these values
      • use getters in setGrabCallback() in main to set in Camera packet
    • would need to split camera frame into uchar buffer & its size so client know how to split data accordingly
    • allow for more unseen future data to be easily added
      • i.e. battery, distance(ultrasonic sensor), etc
    • would need to create a client recv callback to handle the interpretation of the packet

Add callback in camera class for grab

  • use a callback (more versatile and reusable for other projects)
  • should accept char buffer or opencv image object
  • tcp server should set the callback such that it can send the frame to the client

ultrasonic- send distance to client

  • either burn distance into video frame or display on website
  • if display on website, need to change networking code
    • possibly add another socket for server data

servo functionality

  • test loop (one at a time):
    • swing left right (reset mid)
    • swing up down (reset mid)
    • move both at same time
    • have servo move to specific location once (or a couple locations)
  • server functionality: arrow keys should increment position a tiny bit each sec pressed
  • add slider or +/- button to change the servo's increment speed

Install external builds?

  • Some are already installed: wiringpi
  • i.e. CLI11, pistache, raspicam
  • hard to then collect and package
  • make it so compiled code does not expect these compiled static libraries to be local

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.