User:Rando: Difference between revisions
| Line 136: | Line 136: | ||
[[File:ordi_power_button_mod.png]] | [[File:ordi_power_button_mod.png]] | ||
=== Pi GPIO === | |||
Well, pi GPIOs are 3.3V and the typical 3.3V -> 5V doesn't work. The button sense's the ground but the high state does not trigger a high reading on the camera. Since this is the case, it never is released from ground to reset in order to toggle on next "press" aka connection to ground. | |||
Going to put together a simple logic shifter from a diode and a resistor i guess. | |||
== Power == | == Power == | ||
Revision as of 23:02, 2 December 2018
Hardware
Raspberry Pi 3 B v1.2
Raspberry Pi Display v1.1
Cannon Powershot A2200
software
1. virtualenv
2. virtualenvwrapper
3. pyspacelib (ft interface)
4. pillow
5. pygame
6. kivy
7. Imagemagick
For some reason, pygame and pillow are not installed with kivy, but are requirements.
CHDK
http://chdk.wikia.com/wiki/CHDK_1.4.0_User_Manual
Download using STICK: http://zenoshrdlu.com/stick/stick.html
Remote Pameters, enable remote
Error creating thumbnail: Unable to save thumbnail to destination
Remote Usage: http://chdk.wikia.com/wiki/USB_Remote
Note: the USB remote functionality is not used for this, we need to control it from the [pi <-> mac] mini device
Scripting
http://chdk.wikia.com/wiki/CHDK_Scripting_Cross_Reference_Page
click
is_key
is_pressed
press
release
shoot
wait_click
wheel_left
wheel_right
Transferring files
How to transfer to computer? Perhaps the rpi can indicate to the macmini to mount the camera and tx the picture.
http://chdk.wikia.com/wiki/PTP_Extension/ptpcam_Examples
ptpcam / libptp
Install instructions
http://chdk.wikia.com/wiki/Ptpcam_in_headless_linux_Dockstar
ok, THIS is the one we want, it has the "ptpcam --chdk" option:
https://github.com/jrabbit/libptp-chdk
notes on usage: http://chdk.wikia.com/wiki/PTP_Extension/ptpcam_Examples
How to run one onn camera:
loadfile('A/CHDK/SCRIPTS/testprgm.lua')()
ordi_controller.py
Handles from ptpcam functions from the mac mini as python calls using subprocess.run.
scripting
http://chdk.wikia.com/wiki/Lua
The "Minimalistic Intervalometer" is a lua script that takes a photo, using half presses and full presses.
Steps:
- Write script
- Place <script>.lua in CHDK/SCRIPTS on SD card e.g. A/CHDK/SCRIPTS/testprgm.lua
- Run script with loadfile('A/CHDK/SCRIPTS/testprgm.lua')()
Script Reference
http://chdk.wikia.com/wiki/CHDK_Scripting_Cross_Reference_Page
How to script and run and stuff
http://chdk.wikia.com/wiki/Lua/PTP_Scripting
> luar shoot()
Lua dev environment metioned here: http://chdk.wikia.com/wiki/Lua_Development_Environment
this is how!
Error creating thumbnail: Unable to save thumbnail to destination
ptpcam --dev=028 --chdk="luar shoot()"
Camera Disassembly
Why? the power doesn't stay on without a button press. so trying to replace the button so we can drive it via a GPIO on the rasp pi.
Wait, why.
Because. We're hacking.
https://www.ifixit.com/Device/Canon_PowerShot_A2200
Power button modification
In order to control the camera power "remotely", the power button was modified to pull out wires and connect them to a GPIO of the pi. This was the power can be turned on when the system boots.
The button was a SMD tact switch with barely exposed pads. In order to get sufficient copper to solder, the solder mask was gently scraped off.
Error creating thumbnail: Unable to save thumbnail to destination
File:Ordi power button mod.png
Pi GPIO
Well, pi GPIOs are 3.3V and the typical 3.3V -> 5V doesn't work. The button sense's the ground but the high state does not trigger a high reading on the camera. Since this is the case, it never is released from ground to reset in order to toggle on next "press" aka connection to ground.
Going to put together a simple logic shifter from a diode and a resistor i guess.
Power
The pi needs 5.1V @ 2.5A. That, plus the LCD display max current draw is 400mA, so really need a 3A+ supply.
Ok, after creating a small cable assembly for the power so I can use anything but the USB port, things are stable and the new image installs properly.
Pi Config
the SD card image now boots properly and everything installs.
VNC and ssh access are now enabled.
The inital plan is: 1. GPIO for camera power button 2. Simply kivy UI 3. python camera controller (uses CHDK underneath)
Pi Image
I'm not sure if I HAVE to create a custom image, but it seems like I should make an attempt in order to load Kivy.
https://www.instructables.com/id/Creating-a-Custom-Shrinked-Raspberry-Pi-Image/
Not really into what that instructables is doing but will keep up.
Next plan: emulate with qemu to get a custom image going
https://stackoverflow.com/questions/38837606/how-to-emulate-raspberry-pi-raspbian-with-qemu
totally custom i think, but like, don't have to.
https://github.com/RPi-Distro/pi-gen
Ok, so to get -M raspi3 natively, qemu currently has to be compiled from scratch. gfd.
But it should now include this patch:
https://github.com/bztsrc/qemu-raspi3
Ok, well, this image just wont boot. I'll have to configure the pi by hand which fucking suuuucckkksssssssss