Raspberry Pi: Difference between revisions
(71 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
== | == Some of my Raspberries == | ||
* Raspeberry 1 (or perhaps 1B) with a camera module on a wood stick. 26 pins. UART. | |||
== Simple things used in every Project == | |||
=== | === Raspistill === | ||
<syntaxhighlight lang="python"> | |||
raspistill -w 2592 -h 1944 -o name.jpg | |||
<syntaxhighlight | |||
</syntaxhighlight> | </syntaxhighlight> | ||
Take a photo and send it to an external server {{GithubDownload|torvalds|linux}} | |||
<script src="https://emgithub.com/embed.js?target=https%3A%2F%2Fgithub.com%2Fpytorch%2Fpytorch%2Fblob%2Fmaster%2Ftorch%2Fnn%2Fcpp.py&style=github&showBorder=on&showLineNumbers=on&showFileMeta=on"></script> | |||
=== | === Crontab === | ||
=== Sshpass === | |||
=== Server side === | |||
== | === Connect to the internet via Windows (tethering?) === | ||
[[File:Windows allowTether.png|thumb|Allow other network users to connect]] | |||
Can connect from my computer on the fly, but to allow Raspberry Pi to connect to the external WWW, see the image. | |||
See https://raspberrypi.stackexchange.com/questions/11684/how-can-i-connect-my-pi-directly-to-my-pc-and-share-the-internet-connection | |||
* Note that the outlook has changed a bit. | |||
=== Finding the IP address === | |||
< | The SSH is disable by default after 2016. Below is show how to enable without using keyboard. This is useful also with QNAP NAS: to find it. Remember that booting it up takes a lot of time. The default port is 8080, thus use <code>p</code> tag: <code>nmap -p 8080 192.168.8.*</code> | ||
</ | |||
Use <code>nmap -F 192.168.8.1-254</code> to fast scan all devices in the local network. The default passwords are listed at [https://tutorials-raspberrypi.com/raspberry-pi-default-login-password/ Raspberry pi default login-password]. | |||
<code>nmap -sn 192.168.8.0/24</code> might work better, or without <code>-sn</code> option: <code>nmap 192.168.8.0/24</code> | |||
Try <code>ping raspberrypi.local</code>. | |||
< | Try <code>sudo nmap -sP 192.168.8.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'</code> with sudo. | ||
sudo | |||
</ | |||
<code> | Try <code>nmap -p 22 192.168.8.0/24</code> to find the SSH ports. Perhaps using sudo. | ||
or <code>nmap -p 22 --open -sV 192.168.8.0/24</code>. | |||
=== Enable ssh === | |||
On another computer, mount the Raspian boot SD card, navigate to the boot folder <code>cd /Volumes/boot</code>, create a blank file called ''ssh'' <code>touch ssh</code>. That's all. | |||
Using the Raspian GUI: Preferences -> Raspberry Pi Configuration -> Interfaces -> SSH. | |||
Using the terminal: <code>sudo raspi-config</code> or use <code>systemctl</code>: | |||
<pre> | |||
sudo systemctl enable ssh | |||
sudo systemctl start ssh | |||
</pre> | |||
== Project Ideas == | |||
* [[Pimoroni Galactic Unicorn Hello World]] | |||
*[[Bluetooth LE & Polar Heart Beat Monitor]] | |||
*[[Camera piano]] | |||
*[[Controlling CD Drive motor]] | |||
*[[Info TV/ Dashboad]] | |||
*[[Microscope and photo stacking]] | |||
*[[Online thermometer with local backup]] | |||
*[[Solar powered on/off line timelapse photography]] | |||
*[[Sound spectrum]] | |||
*[[Weather station --- Raspberry Pi]] | |||
*[[Connect the APC220 radio module and submit the data to Internet]] | |||
* https://www.weareteachers.com/raspberry-pi-projects/ | |||
** Airplay speaker https://www.hackster.io/fvdbosch/raspberry-pi-zero-airplay-speaker-d99feb | |||
** Bug habitat https://allenheard.wordpress.com/2013/11/06/making-a-mini-beast-habitat-raspberry-pi-style/ | |||
** Drum set https://www.sciencebuddies.org/science-fair-projects/project-ideas/CompSci_p054/computer-science/electronic-drumset-raspberry-pi | |||
** Light up Art https://www.sciencebuddies.org/science-fair-projects/project-ideas/CompSci_p057/computer-science/light-sensor-art-raspberry-pi | |||
** Robot head https://www.sciencebuddies.org/science-fair-projects/project-ideas/CompSci_p058/computer-science/interactive-toy-raspberry-pi | |||
** Greenhouse https://www.instructables.com/Automated-Greenhouse/ | |||
** Smart mirror | |||
** Super computer cluster | |||
** Traffic Lights | |||
** Bird Box https://projects.raspberrypi.org/en/projects/infrared-bird-box | |||
** Plants health https://projects.raspberrypi.org/en/projects/astropi-ndvi | |||
** Ultrasonic Theremin https://www.hackster.io/kevinmcaleer/raspberry-pi-theremin-midi-project-254e7b | |||
** Ja monta muuta. | |||
== Peripherals == | |||
* Analog sensors https://www.rototron.info/raspberry-pi-analog-water-sensor-tutorial/ | |||
* Camera | |||
* Dissolved oxygen meter https://www.instructables.com/Plotly-Atlas-Scientific-Graph-Real-Time-Dissolved-/ https://elexhub.com/product/gravity-analog-dissolved-oxygen-sensor-meter-kit/ https://how2electronics.com/dissolved-oxygen-sensor-arduino-interfacing-tutorial/ https://atlas-scientific.com/circuits/ezo-dissolved-oxygen-circuit/# https://atlas-scientific.com/probes/dissolved-oxygen-probe/ | |||
* Laptop Keyboard: https://raspberrypi.stackexchange.com/questions/5007/using-an-old-laptop-keyboard-with-raspberry-pi https://www.youtube.com/watch?v=AKWheG8wKxM | |||
* Temperature, pH | |||
== | == Sensors == | ||
* MG-811 MG811 CO2 Carbon Dioxide Sensor For Arduino UNO R3 Raspberry Pi | |||
* CCS811 CO2 Carbon Dioxide Detector Air Quality Monitor Meter Sensor for Arduino | |||
* MQ-2 Kohlenmonoxid Sensor CO Gas-Sensor, Rauch-Sensor, Raspberry Pi, Arduino | |||
* CJMCU MICS 6814 Kohlenmonoxid Stickstoff Sauerstoff Sensor Co No2 Nh3 Arduino | |||
* MH-Z19 IR infrared Carbon Dioxide Gas Sensor For Air CO2 Concentration Monitor | |||
* Environment Sensor HAT für Raspberry Pi Zero 2 W WH A 3 Model B Plus 4 2GB 8GB | |||
* [[Scd30 co2 sensor|CD30 Air Quality Sensors Module]] for CO2 and RH/T Measurements I2C PWM Modbus | |||
== Bluetooth == | |||
[https://www.cod3v.info/index.php?title=Setting_up_the_Raspi Setting up the Raspberry Pi.] | |||
[https://www.cod3v.info/index.php?title=Raspi_and_EV3-G Raspberry Pi and EV3-G] | |||
= | [https://www.cod3v.info/index.php?title=Raspi_and_Ev3dev Raspberry Pi and Ev3Dev] | ||
== Erase the SD card == | |||
Use camera to format the SD card, or see https://www.raspberrypi.org/forums/viewtopic.php?t=204167 . | |||
== Bluetooth on Raspi 3 == | |||
<syntaxhighlight> | <syntaxhighlight> | ||
sudo apt update | |||
sudo apt upgrade | |||
sudo apt-get install python-bluez | |||
#sudo apt install bluetooth pi-bluetooth bluez blueman | |||
</syntaxhighlight> | </syntaxhighlight> | ||
< | <code>sudo nano /etc/systemd/system/dbus-org.bluez.service</code>. Modify <code>ExecStart=/usr/lib/bluetooth/bluetoothd –C</code> | ||
</ | |||
< | <code>sudo sdptool add SP</code> | ||
</ | |||
<code>sudo reboot</code> | |||
<syntaxhighlight> | <syntaxhighlight> | ||
sudo apt-get install bluetooth bluez libbluetooth-dev | |||
sudo python3 -m pip install pybluez | |||
sudo | |||
</syntaxhighlight> | </syntaxhighlight> | ||
== Start script if Wifi is connected == | |||
and | * Put your script in /etc/network/if-up.d and make it executable. It will be automatically run each time a network interface comes up. https://unix.stackexchange.com/questions/166473/debian-how-to-run-a-script-on-startup-as-soon-as-there-is-an-internet-connecti | ||
* Add your script to /etc/network/if-up.d/. Name your script without a '.sh' extension. | |||
Also after adding script run chmod +x /etc/network/if-up.d/yourscriptname to give necessary permission. | |||
Make sure the network interface (e.g. wlan0 or eth0) that should trigger your script when turned on is mentioned in the file /etc/network/interfaces. https://askubuntu.com/questions/258580/how-to-run-a-script-depending-on-internet-connection | |||
* To see only wifi status $ nmcli radio wifi https://askubuntu.com/questions/398581/is-there-a-terminal-command-to-verify-if-wifi-is-enabled#398602 | |||
* https://raspberrypi.stackexchange.com/questions/78991/running-a-script-after-an-internet-connection-is-established | |||
* To run a script when the WiFi is connected you can use wpa_cli. In man wpa_cli you find for option -a: https://raspberrypi.stackexchange.com/questions/96050/run-a-script-when-wifi-is-connected-to-a-particular-wifi-network | |||
* By the time the interface is up, it doesn't means that you have a connectivity at all. If the interface is configured to get IP from DHCP for example, few seconds are needed for the IP configurations. To check for Internet connectivity, you can query the IP of a known webpage with nslookup or dig. If you get a valid answer you can proceed. Otherwise, wait and repeat for a certain number of retries before aborting. https://stackoverflow.com/questions/33086020/run-script-after-network-is-connected |
Latest revision as of 18:22, 23 September 2024
Some of my Raspberries
- Raspeberry 1 (or perhaps 1B) with a camera module on a wood stick. 26 pins. UART.
Simple things used in every Project
Raspistill
raspistill -w 2592 -h 1944 -o name.jpg
Take a photo and send it to an external server Template:GithubDownload
<script src="https://emgithub.com/embed.js?target=https%3A%2F%2Fgithub.com%2Fpytorch%2Fpytorch%2Fblob%2Fmaster%2Ftorch%2Fnn%2Fcpp.py&style=github&showBorder=on&showLineNumbers=on&showFileMeta=on"></script>
Crontab
Sshpass
Server side
Connect to the internet via Windows (tethering?)
Can connect from my computer on the fly, but to allow Raspberry Pi to connect to the external WWW, see the image.
- Note that the outlook has changed a bit.
Finding the IP address
The SSH is disable by default after 2016. Below is show how to enable without using keyboard. This is useful also with QNAP NAS: to find it. Remember that booting it up takes a lot of time. The default port is 8080, thus use p
tag: nmap -p 8080 192.168.8.*
Use nmap -F 192.168.8.1-254
to fast scan all devices in the local network. The default passwords are listed at Raspberry pi default login-password.
nmap -sn 192.168.8.0/24
might work better, or without -sn
option: nmap 192.168.8.0/24
Try ping raspberrypi.local
.
Try sudo nmap -sP 192.168.8.0/24 | awk '/^Nmap/{ip=$NF}/B8:27:EB/{print ip}'
with sudo.
Try nmap -p 22 192.168.8.0/24
to find the SSH ports. Perhaps using sudo.
or nmap -p 22 --open -sV 192.168.8.0/24
.
Enable ssh
On another computer, mount the Raspian boot SD card, navigate to the boot folder cd /Volumes/boot
, create a blank file called ssh touch ssh
. That's all.
Using the Raspian GUI: Preferences -> Raspberry Pi Configuration -> Interfaces -> SSH.
Using the terminal: sudo raspi-config
or use systemctl
:
sudo systemctl enable ssh sudo systemctl start ssh
Project Ideas
- Bluetooth LE & Polar Heart Beat Monitor
- Camera piano
- Controlling CD Drive motor
- Info TV/ Dashboad
- Microscope and photo stacking
- Online thermometer with local backup
- Solar powered on/off line timelapse photography
- Sound spectrum
- Weather station --- Raspberry Pi
- Connect the APC220 radio module and submit the data to Internet
- https://www.weareteachers.com/raspberry-pi-projects/
- Airplay speaker https://www.hackster.io/fvdbosch/raspberry-pi-zero-airplay-speaker-d99feb
- Bug habitat https://allenheard.wordpress.com/2013/11/06/making-a-mini-beast-habitat-raspberry-pi-style/
- Drum set https://www.sciencebuddies.org/science-fair-projects/project-ideas/CompSci_p054/computer-science/electronic-drumset-raspberry-pi
- Light up Art https://www.sciencebuddies.org/science-fair-projects/project-ideas/CompSci_p057/computer-science/light-sensor-art-raspberry-pi
- Robot head https://www.sciencebuddies.org/science-fair-projects/project-ideas/CompSci_p058/computer-science/interactive-toy-raspberry-pi
- Greenhouse https://www.instructables.com/Automated-Greenhouse/
- Smart mirror
- Super computer cluster
- Traffic Lights
- Bird Box https://projects.raspberrypi.org/en/projects/infrared-bird-box
- Plants health https://projects.raspberrypi.org/en/projects/astropi-ndvi
- Ultrasonic Theremin https://www.hackster.io/kevinmcaleer/raspberry-pi-theremin-midi-project-254e7b
- Ja monta muuta.
Peripherals
- Analog sensors https://www.rototron.info/raspberry-pi-analog-water-sensor-tutorial/
- Camera
- Dissolved oxygen meter https://www.instructables.com/Plotly-Atlas-Scientific-Graph-Real-Time-Dissolved-/ https://elexhub.com/product/gravity-analog-dissolved-oxygen-sensor-meter-kit/ https://how2electronics.com/dissolved-oxygen-sensor-arduino-interfacing-tutorial/ https://atlas-scientific.com/circuits/ezo-dissolved-oxygen-circuit/# https://atlas-scientific.com/probes/dissolved-oxygen-probe/
- Laptop Keyboard: https://raspberrypi.stackexchange.com/questions/5007/using-an-old-laptop-keyboard-with-raspberry-pi https://www.youtube.com/watch?v=AKWheG8wKxM
- Temperature, pH
Sensors
- MG-811 MG811 CO2 Carbon Dioxide Sensor For Arduino UNO R3 Raspberry Pi
- CCS811 CO2 Carbon Dioxide Detector Air Quality Monitor Meter Sensor for Arduino
- MQ-2 Kohlenmonoxid Sensor CO Gas-Sensor, Rauch-Sensor, Raspberry Pi, Arduino
- CJMCU MICS 6814 Kohlenmonoxid Stickstoff Sauerstoff Sensor Co No2 Nh3 Arduino
- MH-Z19 IR infrared Carbon Dioxide Gas Sensor For Air CO2 Concentration Monitor
- Environment Sensor HAT für Raspberry Pi Zero 2 W WH A 3 Model B Plus 4 2GB 8GB
- CD30 Air Quality Sensors Module for CO2 and RH/T Measurements I2C PWM Modbus
Bluetooth
Erase the SD card
Use camera to format the SD card, or see https://www.raspberrypi.org/forums/viewtopic.php?t=204167 .
Bluetooth on Raspi 3
sudo apt update
sudo apt upgrade
sudo apt-get install python-bluez
#sudo apt install bluetooth pi-bluetooth bluez blueman
sudo nano /etc/systemd/system/dbus-org.bluez.service
. Modify ExecStart=/usr/lib/bluetooth/bluetoothd –C
sudo sdptool add SP
sudo reboot
sudo apt-get install bluetooth bluez libbluetooth-dev
sudo python3 -m pip install pybluez
Start script if Wifi is connected
- Put your script in /etc/network/if-up.d and make it executable. It will be automatically run each time a network interface comes up. https://unix.stackexchange.com/questions/166473/debian-how-to-run-a-script-on-startup-as-soon-as-there-is-an-internet-connecti
- Add your script to /etc/network/if-up.d/. Name your script without a '.sh' extension.
Also after adding script run chmod +x /etc/network/if-up.d/yourscriptname to give necessary permission. Make sure the network interface (e.g. wlan0 or eth0) that should trigger your script when turned on is mentioned in the file /etc/network/interfaces. https://askubuntu.com/questions/258580/how-to-run-a-script-depending-on-internet-connection
- To see only wifi status $ nmcli radio wifi https://askubuntu.com/questions/398581/is-there-a-terminal-command-to-verify-if-wifi-is-enabled#398602
- To run a script when the WiFi is connected you can use wpa_cli. In man wpa_cli you find for option -a: https://raspberrypi.stackexchange.com/questions/96050/run-a-script-when-wifi-is-connected-to-a-particular-wifi-network
- By the time the interface is up, it doesn't means that you have a connectivity at all. If the interface is configured to get IP from DHCP for example, few seconds are needed for the IP configurations. To check for Internet connectivity, you can query the IP of a known webpage with nslookup or dig. If you get a valid answer you can proceed. Otherwise, wait and repeat for a certain number of retries before aborting. https://stackoverflow.com/questions/33086020/run-script-after-network-is-connected