frederikheld / treecam Goto Github PK
View Code? Open in Web Editor NEWTurns your RasPi into a webcam that tweets pictures at configurable times of the day.
License: GNU General Public License v3.0
Turns your RasPi into a webcam that tweets pictures at configurable times of the day.
License: GNU General Public License v3.0
This config value already exists but is not implemented yet!
It would be great to have one Tweet per day that starts a thread and all other tweets of that day are answers on that thread. This would make it easier to navigate the Twitter account.
Possible downside is, that the first pictures people see are all taken at the same time of the day.
Should be an optional feature! If set to False
, tweets will not be threaded.
Right now the configuration has to be done via config.json
. This only works well for software oriented users. It would be nice to have a web portal that allows interactive configuration of the camera module.
The information could still be stored in config.json
, but the values are loaded into a web form where they can interactively be changed. They are then saved back to the json file.
First MVP could be to load the entire config.json
into a textarea
.
Optimal implementation would be an form that auto-generates itself according to the types in the json file (this would require additional meta information in config.json
though).
Currently timer_cam intervals are the pause between the end of a shot and the start of the next shot. This does not account for the time taking the shot and uploading it takes. This is why shots are shifting in time from day to day. To make time lapse videos it would be better to have them taken at the same time every day (e.g. to see how sunrise and sunset are shifting).
Desired: Add config key that allows to configure a time from the full hour/minute at which the shot will be taken. Follow same approach as cron
!
Problem:
Expected behavior:
Possible solutions:
config.json
?Additional considerations:
Right now the wifi connection can be setup exactly once via the captive portal.
If the user mistypes the credentials or needs to configure a different wifi, they have no other option than flashing a new image to the sd card.
Adding the balena-reset service would allow a much easier way of re-setting the wifi credentials.
This also requires a hardwar button on GPIO!
This would be an image processing service!
The user can choose a picture from their computer that will added to taken pictures as an overlay.
This can be used to add watermarks, additional information or to conceal parts of the picture.
If the serviceRunner receives a SIGINT/SIGTERM signal it will wait for the current run to be finished. This is on purpose to gracefully shut down all services.
What's not intended is that it waits until the pause at the end of the run has ended, because this pause can be very long if the user configures long iteration times (default is 60s).
--> if services are running when SIGINT/SIGTERM is received, the serviceRunner should stop after all services are run (like it is right now).
--> If the serviceRunner is currently pausing, the pause should be ended immediately.
It would be great if the user could trigger the camera via a button attached to the GPIO interface.
This would help to setup the camera.
Not the highest priority for TreeCam. Would be more interesting if I use logger
for other projects.
Idea:
Needs investigation to figure out what tools and standards exist that we can/should use.
The user can select a previous picture that serves as a template for the desired angle of view
The picture can be loaded into the web portal and is displayed as a see-through overlay of the actual camera picture.
This would require to store pictures on the device or allow to upload one (that was obtained from the FTPS server or user's computer)
Right now triggers are evaluated in the services' run()
function. Modularization could be improved if triggers would be a feature that could be re-used across services.
Add balena-reset
service to allow the user to reset the wifi connection if it was misconfigured or needs to be re-configured.
This also needs a button on GPIO!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.