Dobrica Pavlinušić's random unstructured stuff
RaspberryPi: Revision 27
{toc: }
{tag_list: raspberrypi} ^ Interestring projects TODO: test them out and write full description on this wiki :-) * FreeLSS is a laser scanning program for the Raspberry Pi. It allows a Raspberry Pi to function as the core to a complete turn table laser scanning system. ** https://github.com/hairu/freelss * PWM on the Raspberry pi - done properly (in hardware, stable) ** https://github.com/sarfata/pi-blaster ^ [OV7670] * http://www.raspberrypi.org/phpBB3/viewtopic.php?uid=25856&f=44&t=11839&start=0 ^ DHT11/DHT22 * http://www.tortosaforum.com/raspberrypi/dht11driver.htm * http://learn.adafruit.com/dht-humidity-sensing-on-raspberry-pi-with-gdocs-logging/overview ^ [BlinkM] + i2c * http://www.raspberrypi.org/forums/viewtopic.php?t=11969 ^ CEC - control your TV http://www.raspberrypi.org/forum/viewtopic.php?f=35&t=15749 .pre root@raspberrypi:/home/pi# git clone https://github.com/Pulse-Eight/libcec.git root@raspberrypi:/home/pi# cd libcec/ root@raspberrypi:/home/pi/libcec# apt-get install autoconf automake libtool liblockdev1-dev libudev-dev libraspberrypi-dev root@raspberrypi:/home/pi/libcec# sh -x bootstrap root@raspberrypi:/home/pi/libcec# ./configure --with-rpi-include-path=/opt/vc/include/ --with-rpi-lib-path=/opt/vc/lib/ ############################################################################## libCEC version 2:1:0 configured Compilation flags: CXXFLAGS : -g -O2 -fPIC -Wall -Wextra -Wno-missing-field-initializers -Wno-psabi libCEC LDFLAGS : -lbcm_host -llockdev -lrt -ldl -lpthread -L/opt/vc/lib/ -lvcos -lvchiq_arm -ludev client LDFLAGS : -lrt -ldl -lpthread Configured features: Pulse-Eight CEC Adapter : yes Pulse-Eight CEC Adapter detection : yes Raspberry Pi support : yes TDA995x support : no You can now build libCEC by running: make ############################################################################## make install .pre ^^ TV on .pre pi@raspberrypi ~ $ echo "on 0" | cec-client -s .pre ^ Hints from forum ^^ screen saver http://www.raspberrypi.org/phpBB3/viewtopic.php?p=84831#p84831 .pre # prevent screensaver from powering down display setterm -blank 0 -powerdown 0 > /dev/tty0 # clear the display and turn off the flashing cursor clear > /dev/tty0 setterm -cursor 0 > /dev/tty0 # turn the cursor back on when done with omxplayer setterm -cursor 1 > /dev/tty0 .pre ^^ YouTube transcoding in VLC http://www.raspberrypi.org/phpBB3/viewtopic.php?p=163658#p163658 .pre cvlc 'youtube.com/watch?v=XXXXXXXXXX' :sout='#transcode{vcodec=h264,vb=0,fps=0,scale=0,height=720,acodec=mp4a,ab=128,channels=2,samplerate=44100}:http{mux=ffmpeg{mux=flv},dst=:8080/youtube}' :sout-keep .pre ^ Education materials * http://pi.cs.man.ac.uk/download/Raspberry_Pi_Education_Manual.pdf * http://www.ocr.org.uk/qualifications/by-subject/computing/raspberry-pi/ * http://www.cl.cam.ac.uk/projects/raspberrypi/ ^ Raspberry Pi Accessories Starter Kit http://www.conrad.com/ce/en/product/409208/Raspberry-Pi-Accessories-Starter-Kit?ref=searchDetail * 1x Rapberry sticker * Power supply for the Raspberry * Sturdy acrylic housing, which includes all possible connections for this Raspberry and perfectly protects * 4 GB SD card to store your programs ** https://learn.adafruit.com/adafruit-raspberry-pi-lesson-1-preparing-and-sd-card-for-your-raspberry-pi * USB Micro Card Reader * USB cable (for power supply or the power supply of a PC) * 3 m Ethernet cable ** https://learn.adafruit.com/adafruits-raspberry-pi-lesson-6-using-ssh ** https://learn.adafruit.com/adafruit-raspberry-pi-lesson-7-remote-control-with-vnc * TTL USB cable ** https://learn.adafruit.com/adafruits-raspberry-pi-lesson-5-using-a-console-cable/test-and-configure * PI Cobbler (KIT hereby connect the RP with other circuit boards) * Large breadboard circuit * Colored board cable connector * 5x 560 ohm resistors (for LEDS) * 3x LED's (red, green, blue) ** https://learn.adafruit.com/raspberry-pi-e-mail-notifier-using-leds ** https://learn.adafruit.com/debugging-with-the-raspberry-pi-webide/debug-a-blinking-led * 5x 10K resistors (for buttons) * 3x pushbutton ** https://learn.adafruit.com/playing-sounds-and-using-buttons-with-raspberry-pi/bread-board-setup-for-input-buttons * 1x photocell ** https://learn.adafruit.com/basic-resistor-sensor-reading-on-raspberry-pi/basic-photocell-reading * 1x 1uf capacitor (for photocell) ^ GPU * FFT ** http://www.raspberrypi.org/accelerating-fourier-transforms-using-the-gpu/ ** https://github.com/raspberrypi/userland/tree/master/host_applications/linux/apps/hello_pi/hello_fft/qasm * SHA-256 ** http://rpiplayground.wordpress.com/ ** https://github.com/elorimer/rpi-playground/tree/master/QPU * Machine learning - the Deep Belief image recognition SDK ** http://petewarden.com/2014/06/09/deep-learning-on-the-raspberry-pi/ ** http://scientistnobee.wordpress.com/2014/06/20/machine-learning-with-raspberry-pi/ ^ Arduino * Connect using I2C http://www.pihomeserver.fr/en/2013/08/13/raspberry-pi-home-server-arduino-lier-les-deux-via-bus-i2c/ ^ JTAG * https://github.com/synthetos/PiOCD/wiki/Using-a-Raspberry-Pi-as-a-JTAG-Dongle ^ Arduino ProMini 3.3V 8MHz ^^ Disable serial port console edit `/boot/cmdline.txt` and remove all ttyAMA0 leaving: .pre pi@raspberrypi ~ $ cat /boot/cmdline.txt dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait bcm2708.w1_gpio_pin=4 .pre also, comment out ttyAMA0 in `/etc/inittab` ^^ connect Arduino serial RX->TX TX->RX https://github.com/dpavlin/avrdude-rpi/tree/fix_channel_in_use pin definitions in GPIO.RPi are physical pins on board *not* BCM or wiring ip! {image: gpio1.png} ^^ flasing .pre dpavlin@blue:~/Arduino/RF433_Sockets$ scp /tmp/build*.tmp/*.hex pi@rpi.tv:/tmp/ RF433_Sockets.cpp.hex 100% 19KB 18.6KB/s 00:00 pi@raspberrypi ~ $ cat avrdude.sh #!/bin/sh hex=`ls -t /tmp/*.hex | head -1` echo "flash hex: $hex" sudo /home/pi/avrdude-rpi/avrdude-autoreset -C /home/pi/avrdude.conf -v -v -patmega328p -carduino -P/dev/ttyAMA0 -b57600 -D -Uflash:w:$hex:i pi@raspberrypi ~ $ ./avrdude.sh flash hex: /tmp/RF433_Sockets.cpp.hex avrdude: Version 6.1, compiled on Sep 17 2014 at 05:41:35 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2014 Joerg Wunsch System wide configuration file is "/home/pi/avrdude.conf" User configuration file is "/root/.avrduderc" User configuration file does not exist or is not a regular file, skipping Using Port : /dev/ttyAMA0 Using Programmer : arduino Overriding Baud Rate : 57600 done with autoreset strace: |/home/pi/avrdude-rpi/autoreset: Broken pipe strace: |/home/pi/avrdude-rpi/autoreset: Broken pipe AVR Part : ATmega328P Chip Erase delay : 9000 us PAGEL : PD7 BS2 : PC2 RESET disposition : dedicated RETRY pulse : SCK serial program mode : yes parallel program mode : yes Timeout : 200 StabDelay : 100 CmdexeDelay : 25 SyncLoops : 32 ByteDelay : 0 PollIndex : 3 PollValue : 0x53 Memory Detail : Block Poll Page Polled Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW MaxW ReadBack ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- --------- eeprom 65 20 4 0 no 1024 4 0 3600 3600 0xff 0xff flash 65 6 128 0 yes 32768 128 256 4500 4500 0xff 0xff lfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 efuse 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 lock 0 0 0 0 no 1 0 0 4500 4500 0x00 0x00 calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 signature 0 0 0 0 no 3 0 0 0 0 0x00 0x00 Programmer Type : Arduino Description : Arduino Hardware Version: 2 Firmware Version: 1.16 Vtarget : 0.0 V Varef : 0.0 V Oscillator : Off SCK period : 0.1 us avrdude: AVR device initialized and ready to accept instructions Reading | ################################################## | 100% 0.01s avrdude: Device signature = 0x1e950f avrdude: safemode: lfuse reads as 0 avrdude: safemode: hfuse reads as 0 avrdude: safemode: efuse reads as 0 avrdude: reading input file "/tmp/RF433_Sockets.cpp.hex" avrdude: writing flash (6770 bytes): Writing | ################################################## | 100% 1.98s avrdude: 6770 bytes of flash written avrdude: verifying flash memory against /tmp/RF433_Sockets.cpp.hex: avrdude: load data flash data from input file /tmp/RF433_Sockets.cpp.hex: avrdude: input file /tmp/RF433_Sockets.cpp.hex contains 6770 bytes avrdude: reading on-chip flash data: Reading | ################################################## | 100% 1.49s avrdude: verifying ... avrdude: 6770 bytes of flash verified avrdude: safemode: lfuse reads as 0 avrdude: safemode: hfuse reads as 0 avrdude: safemode: efuse reads as 0 avrdude: safemode: Fuses OK (E:00, H:00, L:00) strace: |/home/pi/avrdude-rpi/autoreset: Broken pipe strace: |/home/pi/avrdude-rpi/autoreset: Broken pipe strace: |/home/pi/avrdude-rpi/autoreset: Broken pipe strace: |/home/pi/avrdude-rpi/autoreset: Broken pipe strace: |/home/pi/avrdude-rpi/autoreset: Broken pipe avrdude done. Thank you. strace: |/home/pi/avrdude-rpi/autoreset: Broken pipe .pre ^ DS1307 RTC * http://www.instructables.com/id/Set-up-Real-Time-Clock-RTC-on-Raspberry-Pi/ * http://electronics.stackexchange.com/questions/98361/how-to-modify-ds1307-rtc-to-use-3-3v-for-raspberry-pi CHeck if module has 5V pull-up I2C resistors! |