GithubHelp home page GithubHelp logo

from-the-earth / obcam Goto Github PK

View Code? Open in Web Editor NEW
1.0 1.0 0.0 14.92 MB

Flight camera module and program for the OB team rocket in NSE 2022.

Home Page: https://FROM-THE-EARTH.github.io/obcam/

Python 89.19% Shell 10.81%

obcam's Introduction

obcam

board

obcam is the flight camera module and program for the OB team rocket in NSE 2022. See the site for details.

Install

After configuration for network connection and installation of git and pip, run

python -m pip install git+https://github.com/FROM-THE-EARTH/obcam.git

Install and Activate the flight camera mode

After configuration for network connection and installation of git, run

git clone https://github.com/FROM-THE-EARTH/obcam.git
cd obcam

# After filling out and confirming the glm.py
# See the documentation for detail of the settings.
sudo ./install.sh

Scripts

Scripts in the scripts directory may be useful if you want some small operations like installing just obcam, activate the flight camera mode, or deactivate the flight camera mode. See the site for more information.

install.sh

This script installs obcam and activates the flight camera mode simultaneously.

scripts/activate_flightcam.sh

This script activates the flight camera mode of the obcam. In the flight camera mode, the program of the obcam run automatically when booting.

scripts/deactivate_flightcam.sh

This script deactivates the flight camera mode.

scripts/expand_swap.sh

This script expands size of the swap file /var/swap. In the default setting, size of the swap will be changed to 2048 MB.

scripts/install_obcam.sh

This script installs the obcam module using pip. Note that pip should be installed before executing this script.

scripts/install_pip.sh

This script installs pip. Note that pip could be not installed yet right after the first booting. Thus, this script might be useful in the situation.

scripts/uninstall_obcam.sh

This script uninstalls the obcam module using pip.

obcam's People

Contributors

jjj999 avatar

Stargazers

Mizuki ABE avatar

Watchers

James Cloos avatar

obcam's Issues

Implement some commands using flight pin.

Context

  • Now the flight camera application doesn't make a Raspberry Pi shut down. However, it could be ideal to shut a Raspberrry Pi down for safety of the SD card.
  • Shuting down by the program causes not to start a shell session. Therefore, some commands, including the process that exits the program immidiately before shutting down, are required.
  • During assembly of the rocket, it is possible to pull a flight pin out because of some troubles. Thus, the command that restarts the program is required.

Steps

  • Add the process that shuts down system after recording.
  • Implement the command that exits the program before shutting down.
  • Implement the command that restarts the program during recording.
  • Reflect the chage of source code to the documentation.

Extend size of swap before recording.

Context

  • Recording for a long time could cause lask of memory and the system will be frozen, outputing
    Unable to handle kernel paging request at virtual address xxxxxxxx
    
  • To solve the problem, swap memory should be expanded (default size 100MB in Raspberry Pi OS Lite).

Steps

  • Add the script that expands swap memory to 2GB.

Improve CPU-bound processes for performance.

Context

  • In the current source code, waiting process for disconnection of a flight pin is CPU-bound.
  • We should improve such processes to suppress battery consumption.

Steps

  1. Change the source code without while loops as well as possible.

Add a test script for battery tests.

Context

  • In practice, this application is required long waiting time for launching.
  • It is ideal that available waiting time using a certain battery can be measured.

Steps

  • Write a test script (which should log out of test result)
  • Reflect the change to the documentation

Improve recording quality.

Context

  • In the source code and settings, recorded movie is stacked, not smooth, if the program is ran in a Raspberry Pi Zero.

Steps

  • Improve performance of writing video into a file.
  • Add some parameters affecting performance of recording, e.g. framerate.

Enhance the log outputs.

Context

  • The current log outputs have little information about recording. But users of the application may want more information.

Steps

  • Define a formatter for the log outputs like below:
    [time] [level] [message]
    

Enhance the documentation especially about operations.

Context

  • The current documentation is not sufficient when operators of obcam have some troubles, because the documentation tells only specification and operations in successful conditions.
  • To enable to handle troubles which occur in a rocket range, the documentation should have trouble shooting and checklist of operations.

Steps

  • Add trouble shooting:
    • Case where SD cards are broken
    • Case where camera is not detected
    • Case where obcam doesn't work by unknown reason
  • Add checklist of operations.
  • Add how to extract data from SD cards used in Raspberry Pi.
    • To use 3rd party application.
    • To transfer via HTTP.
    • To transfer via SSH.
  • Add how to convert video format from H264 to MP4.
  • Revise the README.

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.