Editing Raspberry Pi

Jump to navigation Jump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 3: Line 3:
 
* Raspberry Pi Zero W
 
* Raspberry Pi Zero W
 
* Raspberry Pi Zero
 
* Raspberry Pi Zero
* Raspberry Pi 400 (https://www.sketching-with-hardware.org/wiki/Raspberry_Pi400)
+
* Raspberry Pi 400
 
* Raspberry Pi 3 Model B
 
* Raspberry Pi 3 Model B
  
= Pi Tutorial Videos =
 
List of [[Raspberry Pi Videos]]
 
 
== Videos: Getting started ==
 
* [https://www.sketching-with-hardware.org/raspi/os-setup/01_raspi-install-OS_player.html Installing the OS on am SD-Card, initial configuration including SSH]
 
* [https://www.sketching-with-hardware.org/raspi/python-ssh/02_raspi_python_ssh_player.html Connecting to the Raspberry Pi Zero via SSH, installing gpiozero, LED and Button examples, using the nano editor]
 
* [https://nerdytechy.com/raspberry-pi-touchscreen-setup-tutorial/ Raspberry Pi touchscreen setup and calibration tutorial]
 
 
= Introduction =
 
 
The Raspberry Pi is a Linux computer that has a multitude of connectors and in particular, it provides GPIO pins. The connector (HAT) provides an easy way to add your own sensors and actuators and there are many boars that can be connected.
 
The Raspberry Pi is a Linux computer that has a multitude of connectors and in particular, it provides GPIO pins. The connector (HAT) provides an easy way to add your own sensors and actuators and there are many boars that can be connected.
  
Line 30: Line 21:
 
* https://towardsdatascience.com/python-webserver-with-flask-and-raspberry-pi-398423cc6f5d
 
* https://towardsdatascience.com/python-webserver-with-flask-and-raspberry-pi-398423cc6f5d
 
* https://randomnerdtutorials.com/raspberry-pi-web-server-using-flask-to-control-gpios/
 
* https://randomnerdtutorials.com/raspberry-pi-web-server-using-flask-to-control-gpios/
 
== Getting started Tasks ==
 
* Connect the two LEDS and a button to the Pi. Write a program that changes LED states (on/off) when the button is pressed.
 
** https://www.sketching-with-hardware.org/wiki/Push_button
 
** https://www.sketching-with-hardware.org/wiki/LED
 
 
* Connect the Pi to your local network and access it from another device via SSH.
 
 
=== Troubleshooting ===
 
* If updating the Pi fails during its setup wizard (first start of the Pi), you might have to extend your file partition. The wizard interrupts with a "not enough space" error. You can find this option via "sudo raspi-config", select advanced options and expand the filesystem. After a reboot, you should have access to the whole SD card (you can check disk space with "df -h"). Make sure to finish the update with "sudo apt-get update && sudo apt-get upgrade".
 
  
 
== Resources ==
 
== Resources ==
Line 48: Line 29:
 
<br/> CR: https://de.pinout.xyz/pinout/io_pi_zero
 
<br/> CR: https://de.pinout.xyz/pinout/io_pi_zero
 
<br/> HW: https://www.argon40.com/learn/index.php/2020/03/06/a-comprehensive-guide-on-raspberry-pi-3-and-raspberry-pi-zero-and-zero-w-gpio-pinout/
 
<br/> HW: https://www.argon40.com/learn/index.php/2020/03/06/a-comprehensive-guide-on-raspberry-pi-3-and-raspberry-pi-zero-and-zero-w-gpio-pinout/
<br/> JW: https://www.raspberrypi.org/documentation/usage/gpio/
+
<br/> SG: https://medium.com/@nikosmouroutis/how-to-use-atom-with-your-raspberry-pi-through-sftp-382c43176a9e
 
+
<br/> YS: https://pimylifeup.com/raspberry-pi-pinout/
<br/> SF: With the gpiozero library you will by default want to reference the pin number as in GPIOx where x is the pin you define in software. Example: LED(5) in software; connect to GPIO5 on the Pi Zero header. (see also: https://gpiozero.readthedocs.io/en/stable/recipes.html#pin-numbering)
 
  
=== Setting up the OS and Python ===
+
=== Setting up Python ===
 
NOOBS
 
NOOBS
 
configure
 
configure
Line 58: Line 38:
 
<br/> CR: https://learn.adafruit.com/setting-up-a-raspberry-pi-with-noobs/download-noobs
 
<br/> CR: https://learn.adafruit.com/setting-up-a-raspberry-pi-with-noobs/download-noobs
 
<br/> HW: https://www.raspberrypi.org/help/noobs-setup./
 
<br/> HW: https://www.raspberrypi.org/help/noobs-setup./
<br/> JW: https://www.raspberrypi.org/documentation/installation/noobs.md
+
<br/> YS: https://pimylifeup.com/noobs-raspberry-pi/
<br/> SG: https://medium.com/@nikosmouroutis/how-to-use-atom-with-your-raspberry-pi-through-sftp-382c43176a9e
 
 
 
<br/> SF: The simple three-step wizard we talked about: https://www.raspberrypi.org/software/
 
  
 
=== Access to GPIO ===
 
=== Access to GPIO ===
Line 68: Line 45:
 
<br/> HW: https://webnist.de/raspberry-pi-zero-gpio-pins-ueber-den-desktop-steuern/
 
<br/> HW: https://webnist.de/raspberry-pi-zero-gpio-pins-ueber-den-desktop-steuern/
 
<br/> SG: https://github.com/fivdi/onoff
 
<br/> SG: https://github.com/fivdi/onoff
 
<br/> SF: With the gpiozero library you will by default want to reference the pin number as in GPIOx where x is the pin you define in software. Example: LED(5) in software; connect to GPIO5 on the Pi Zero header. (see also: https://gpiozero.readthedocs.io/en/stable/recipes.html#pin-numbering)
 
  
 
=== Blinking an LED ===
 
=== Blinking an LED ===
Line 75: Line 50:
 
<br/> CR: https://fedoramagazine.org/raspberry-pi-zero-gpio-fedora/
 
<br/> CR: https://fedoramagazine.org/raspberry-pi-zero-gpio-fedora/
 
<br/> HW: https://webnist.de/raspberry-pi-zero-gpio-pins-ueber-den-desktop-steuern/
 
<br/> HW: https://webnist.de/raspberry-pi-zero-gpio-pins-ueber-den-desktop-steuern/
<br/> JW: http://www.heidislab.com/tutorials/getting-started-with-raspberry-pi-led-blinking-on-raspberry-pi-zero
+
<br/> SG: https://github.com/fivdi/onoff#blink-an-led-using-the-synchronous-api
  
 
=== Reading a Pin ===
 
=== Reading a Pin ===
Line 82: Line 57:
 
<br/> HW: https://mjrobot.org/rpi-gpiozero/
 
<br/> HW: https://mjrobot.org/rpi-gpiozero/
 
<br/> SG: https://tutorials-raspberrypi.de/raspberry-pi-gpio-erklaerung-beginner-programmierung-lernen/
 
<br/> SG: https://tutorials-raspberrypi.de/raspberry-pi-gpio-erklaerung-beginner-programmierung-lernen/
 
<br/> SF: What state does your input pin have by default? With gpiozero, you can configure the pin to be pulled up (pull_up=True) or pulled low (pull_up=False). If you pull up, you can only change the state by connecting the pin physically to GND. If pulled low, you can only change the input state by connecting it to 3.3V. (see also: https://gpiozero.readthedocs.io/en/stable/api_input.html). By default, the pin is pulled up. If you always define the state explicitly in your code, you might make it easier for yourself to debug the code. Example: Button(15, pull_up=True)
 
  
 
=== Runing a Webserver that access GPIO ===
 
=== Runing a Webserver that access GPIO ===
Line 89: Line 62:
 
<br/> CR: https://www.e-tinkers.com/2018/04/how-to-control-raspberry-pi-gpio-via-http-web-server/
 
<br/> CR: https://www.e-tinkers.com/2018/04/how-to-control-raspberry-pi-gpio-via-http-web-server/
 
<br/> HW: https://hackaday.io/project/173322-controlling-gpio-outputs-using-a-web-interface-wit
 
<br/> HW: https://hackaday.io/project/173322-controlling-gpio-outputs-using-a-web-interface-wit
<br/> JW: https://www.youtube.com/watch?v=c6FOpPXbLjs
 
 
<br/> SG: https://randomnerdtutorials.com/raspberry-pi-web-server-using-flask-to-control-gpios/
 
<br/> SG: https://randomnerdtutorials.com/raspberry-pi-web-server-using-flask-to-control-gpios/
  
Line 102: Line 74:
 
<br/> CR: https://computer.howstuffworks.com/raspberry-pi2.htm
 
<br/> CR: https://computer.howstuffworks.com/raspberry-pi2.htm
 
<br/> HW: https://learn.adafruit.com/introducing-the-raspberry-pi-zero
 
<br/> HW: https://learn.adafruit.com/introducing-the-raspberry-pi-zero
<br/> JW: https://www.youtube.com/watch?v=WJdQ4rknBX0
+
<br/> SG: https://de.wikipedia.org/wiki/Raspberry_Pi  ;)
  
 
== Project Ideas ==
 
== Project Ideas ==
 
 
=== Groups ===
 
HW, CR
 
 
YS, JW
 
 
JL, SG, JP
 
  
 
=== SG ===
 
=== SG ===
mindSat:
+
<h3>mindSat</h3>
+
'''What is it?''': A small portable gadget. Which can record sensor data and give feedback to a user. Mind satisfaction for your offices days.
<br/>A small portable gadget. Which can record sensor data and give feedback to a user. Mind satisfaction for your offices days.
+
</br>'''How does it work?''': It comes with five sensors (humidity, haptic, temperature, acceleration & gyroscope) to analyze the users environment and helping him through exercises.
<br/>It’s hard to do small exercises, often we find excuses to not do it. Concentrated breathing can help your brain to relax, or focusing on small things can reduce stress. Using those informations to create short (~ 5min) exercises.
+
</br>'''Guided Exercises''': It’s hard to do small exercises, often we find excuses to not do it. Concentrated breathing can help your brain to relax, or focusing on small things can reduce stress. Using those informations to create short (~ 5min) exercises.
 +
</br>'''Gamification?''': Reward users for doing exercises. Rewards should be connected with physical things
 +
</br>'''Healthy life''':  According to Google:
 +
Eat healthy, move your body, drink water, breathe, meditate (pray), take a walk and sleep well. Thats all it needs. With mindSat we try to satisfy your healthy needs.
  
 
=== JL ===
 
=== JL ===
Home Office Buddy:  
+
Home Office Buddy:
<br/> A speaker communicating in a pleasant way with the target person in order to minimize a possible social isolation and encourage the keeping of important routines & daily structures in order to maintain a certain productivity during a working day.
+
<br/>A speaker communicating in a pleasant way with the target person in order to minimize a possible social isolation and encourage the keeping of important routines & daily structures in order to maintain a certain productivity during a working day.  
<br/> Example: suggest unplanned short breaks if the target person is showing a lack of concentration measured by a certain level of body movement.
+
<br/>For Example: Suggest unplanned short breaks if the target person is showing a lack of concentration measured by a certain level of body movement.
  
 
=== JP ===
 
=== JP ===
  
'''Problem''': too much sitting while working in the office
+
'''Problem''': too much sitting while working in the office
</br>'''Idea''': adjustable desk
+
</br>'''Idea''': adjustable desk
 
</br>'''Sensors''': on the chair, to check, if the user is sitting and how long
 
</br>'''Sensors''': on the chair, to check, if the user is sitting and how long
</br>'''Notification''': User gets a message after a certain time, that the desk will rise for min. 30 minutes. After that time the desk can be lowerd again, if wished. The Sensor will messures again.
+
</br>'''Notification''': User gets a message after a certain time, that the desk will rise for min. 30 minutes. After that time the desk can be lowerd again, if wished. The Sensor will messures again.
 
</br>'''Gamification''': a little "stand-up-figure" will be on the desk and will stand up, if the desk is rised. Will be collapse, if the desk is lowered.
 
</br>'''Gamification''': a little "stand-up-figure" will be on the desk and will stand up, if the desk is rised. Will be collapse, if the desk is lowered.
  
Line 139: Line 106:
  
 
=== YS ===
 
=== YS ===
 
<b>WALL-E: your digital stress cleaner<b/>
 
<br/><b>Features<b/>
 
<br/>
 
<ul>
 
<li>The buggy has two “hands” and one trash can</li>
 
<li>Users’ stress detection: EDA/HRV</li>
 
<li>If stressful: The buggy will </li>
 
<ul>
 
<li>search for the smartphone (RFID or GPS)</li>
 
<li>steal the smartphone</li>
 
<li>drop it into the trash can</li>
 
</ul>
 
<li>If user calms down: be allowed to use smartphone </li>
 
</ul>
 
  
 
=== JW ===
 
=== JW ===
Problem: ① Uncomfortable working environment in aspects of lighting and air quality; ② Avoidable disturbance by colleges, etc.; ③ Remaining stationary for too long
 
 
Solution: ① Automatic adjustable light, automatic jalousie roller, automatic humidifier, LED as indicator next to windows; ② Display as door sign; ③ Speaker with a switch as indicator
 
 
Sensor: Temperature and humidity sensor Bme280, light sensor Tsl2561, CO2 sensor, motion sensor
 
  
 
=== HW ===
 
=== HW ===

Please note that all contributions to Sketching with Hardware at LMU Wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see My wiki:Copyrights for details). Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)