GUI application for Raspberry PI which allows simultaneous manipulation of infrared and nightvision cameras

IRNC

GUI application for Raspberry PI which allows simultaneous manipulation of infrared and nightvision cameras IRNC stands for "InfraRed and Nightvision/Normal (cameras) Combined".

Why

After smartphone vendors switched from USB Micro to USB type C my old IR camera became obsolete (since usage of micro <-> type C USB adapters with it is cumbersome and unsafe). This project was conceived as an opportunity for it to become useful (by being usable) again. Additional functionality in the form of second camera preview further enhances UX in cases when monitored object is not easily spotted in near infrared spectrum.

Functionality

Shows fullscreen window with previews from both cameras and a line of control buttons (optimized for hand movement in freezing conditions). You can save photo or save short (1min) video. Images/video captured simultaneously from both cameras which provides capacity for later comparison. Video stream fed through V4L2 which may require additional setup (not included in application). Application intented to work with certain hardware configuration which means that following parameters are hardcoded:

  • Screen resolution
  • Camera type and resolution
  • Physical camera location

Deps

  • Fyne.io for GUI
  • libseek-thermal for interaction with IR camera
  • ffmpeg for video encoding/decoding
  • v4l2loopback-dkms for loopback device

Setup

  1. Install deps
  2. Enable picam from raspi-config
  3. Export path to libseek-thermal executables
  4. Configure screen
gpio -g pwm 18 1024
gpio -g mode 18 pwm
gpio pwmc 1000
  1. Create v4l2 loopback device
sudo modprobe v4l2loopback video_nr=1
  1. Configure autorun if needed

Build

cd irnc
$GOPATH/bin/fyne bundle -package irnc -name rscPhotoPng resources\photo.png > bundle.go
$GOPATH/bin/fyne bundle -append -name rscVideoPng resources\video.png >> bundle.go
$GOPATH/bin/fyne bundle -append -name rscExitPng resources\exit.png >> bundle.go
cd ..
go build

Hardware

  • Raspberry Pi 3 Model B
  • Waveshare 3.5 inch RPi LCD (B)
  • RPI Camera H
  • Seek Thermal Compact Pro for Android
  • Unnamed USB adapter (USB type A m <-> USB Micro f)
Similar Resources

An application based on fabric Hyperledger

An application based on fabric Hyperledger

Oct 31, 2021

immune Guard agent application

immune Guard Agent This is the agent component of the immune Guard product. It used together with the immune Guard API Service. Further information ca

Dec 23, 2021

A terminal application to watch crypto prices!

A terminal application to watch crypto prices!

cryptgo Latest Stable Version: Crytpgo is a TUI based application written purely in Go to monitor and observe cryptocurrency prices in real time! Inst

Dec 21, 2022

Create chain for application built using starport.

test test is a blockchain built using Cosmos SDK and Tendermint and created with Starport. Get started starport chain serve serve command installs de

Dec 8, 2021

A Console Application Use Pancakeswap To Swap Token

A Console Application Use Pancakeswap To Swap Token

Pancakeswap Console A Pancakeswap Application Why It is a pity that some areas do not have access to the functions of PancakeSwap. I developed this to

Dec 30, 2021

Ots - The Bhojpur OTS is a software-as-a-service product used as an Object Tracking System based on Bhojpur.NET Platform for application delivery.

Bhojpur OTS - Object Tracking System The Bhojpur OTS is a software-as-a-service product used as an Object Tracking System based on Bhojpur.NET Platfor

Sep 26, 2022

The Bhojpur Wallet is a platform-as-a-service product used as a Wallet Engine based on the Bhojpur.NET Platform for application delivery.

Bhojpur Wallet - Data Processing Engine The Bhojpur Wallet is a platform-as-a-service used as a Service Engine based on the Bhojpur.NET Platform. It l

Sep 26, 2022

Ixia-c-one - A re-packaged (as a single-container) flavor of multi-container application ixia-c

ixia-c-one ixia-c-one is a re-packaged (as a single-container) flavor of multi-c

Apr 1, 2022

sops is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, age, and PGP

sops is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, age, and PGP

sops is an editor of encrypted files that supports YAML, JSON, ENV, INI and BINARY formats and encrypts with AWS KMS, GCP KMS, Azure Key Vault, age, and PGP. (demo)

Jan 9, 2023
Related tags
Troon-NFT-Contract is deployed on Flow Blockchain, which is a white-label smart-contract for NFTs with an addition layer of Brand, Schema and Template

Overview Summary of NFTContract NFTContract is a Non Fungible Token (NFT) standard for Flow blockchain. It offers a powerful set while keeping unneces

Jan 4, 2022
Eunomia is a distributed application framework that support Gossip protocol, QuorumNWR algorithm, PBFT algorithm, PoW algorithm, and ZAB protocol and so on.

Introduction Eunomia is a distributed application framework that facilitates developers to quickly develop distributed applications and supports distr

Sep 28, 2021
A drop-in replacement to any Writer type, which also calculates a hash using the provided hash type.

writehasher A drop-in replacement to any Writer type, which also calculates a hash using the provided hash type. Example package main import ( "fmt"

Jan 10, 2022
A fast and lightweight interactive terminal based UI application for tracking cryptocurrencies 🚀
A fast and lightweight interactive terminal based UI application for tracking cryptocurrencies 🚀

cointop is a fast and lightweight interactive terminal based UI application for tracking and monitoring cryptocurrency coin stats in real-time.

Jan 6, 2023
Frontier Chain is a blockchain application built using Cosmos SDK and Tendermint.

Frontier Chain Frontier Chain is a blockchain application built using Cosmos SDK and Tendermint. Setup Initialize the blockchain with one validator no

Jul 12, 2022
The Fabric Smart Client is a new Fabric Client that lets you focus on the business processes and simplifies the development of Fabric-based distributed application.

Fabric Smart Client The Fabric Smart Client (FSC, for short) is a new Fabric client-side component whose objective is twofold. FSC aims to simplify th

Dec 14, 2022
Cross-platform application for easy encrypted sharing of files, folders, and text between devices.
Cross-platform application for easy encrypted sharing of files, folders, and text between devices.

wormhole-gui Wormhole-gui is a cross-platform application that lets you easily share files, folders and text between devices. It uses the Go implement

Dec 30, 2022
Go Encrypt! Is a simple command-line encryption and decryption application using AES-256 GCM.

Go Encrypt! Go Encrypt! is a command-line application used to easily encrypt and decrypt files with the AES-256 GCM encryption algorithm. Usage Usage

Jan 5, 2022
mercuryPQCrypto is a go post quantum cryptography (PQC) algorithms lib for studying the pqc migration and application adaptation.

mercuryPQCrypto-README 1 mercuryPQCrypto: Mercury Cryptography Project mercuryPQCrypto is a cryptography project conducted by Chongqing University, Ch

Dec 5, 2022
Akroma GO client - Akroma is an EVM based application development platform (smart-contracts).

Akroma Akroma is an EVM based application development platform (smart-contracts). Akroma will utilize a Masternode system, and build out an Oracle pla

Dec 11, 2022