Nyob zoo Habr.
Raspberry Pi наверное есть дома почти у каждого, и рискну предположить, что у многих она валяется без дела. А ведь Raspberry это не только ценный мех, но и вполне мощный fanless-компьютер с Linux. Сегодня мы рассмотрим полезные возможности Raspberry Pi, для использования которых код писать не придется совсем.

Rau cov neeg txaus siab, cov ntsiab lus yog nyob rau hauv qhov txiav. Cov kab lus yog npaj rau cov pib tshiab.
Примечание: Cov kab lus no yog npaj rau cov neeg pib tshiab uas muaj tsawg kawg yog qhov kev nkag siab yooj yim ntawm qhov chaw nyob IP yog dab tsi, yuav ua li cas rau SSH rau hauv Raspberry Pi siv putty lossis lwm lub davhlau ya nyob twg, thiab yuav ua li cas hloov cov ntaub ntawv nrog nano editor. Raws li kev sim, lub sijhawm no kuv yuav tsis "load" cov neeg nyeem nrog Python code, yuav tsis muaj qhov programming txhua. Rau tag nrho cov hauv qab no, tsuas yog kab hais kom ua yuav txaus. Ntau npaum li cas ib hom ntawv yog nyob rau hauv kev thov, kuv yuav saib cov kwv yees ntawm cov ntawv nyeem.
Tau kawg, kuv yuav tsis xav txog tej yam pom tseeb zoo li FTP server lossis network pob. Hauv qab no kuv sim qhia qee yam ntau dua lossis tsawg dua thiab tseem ceeb.
Ua ntej peb nruab dab tsi, ib qho tseem ceeb tswv yim: txoj cai fais fab mov (xws li lub npe 2.5A ib qho, ntau dua li lub xov tooj tsis muaj npe) thiab lub heatsink rau lub processor yog qhov tseem ceeb heev rau kev ua haujlwm ruaj khov ntawm Raspberry Pi. Yog tsis muaj qhov no, Raspberry yuav khov, cov ntaub ntawv luam tawm yuam kev yuav tshwm sim, thiab lwm yam. Qhov tsis zoo ntawm cov kev ua yuam kev no yog tias lawv tshwm sim qee zaus, piv txwv li, thaum lub sij hawm ncov CPU load lossis thaum cov ntaub ntawv loj tau sau rau SD card.
Ua ntej txhim kho cov khoom siv, nws raug nquahu kom hloov kho lub kaw lus, txwv tsis pub cov chaw nyob qub rau cov lus txib apt yuav tsis ua haujlwm:
sudo apt-get updateTam sim no koj tuaj yeem pib txhim kho thiab teeb tsa.
1. WiFi hotspot
Raspberry Pi yog ib qho yooj yim tig mus rau hauv qhov chaw nkag mus rau wireless, thiab koj tsis tas yuav yuav dab tsi, WiFi twb nyob hauv lub nkoj. Txhawm rau ua qhov no, koj yuav tsum nruab 2 cov khoom siv: hostapd (Host access point daemon, access point service) thiab dnsmasq (DNS / DHCP server).
Nruab dnsmasq thiab hostapd:
sudo apt-get install dnsmasq hostapdTeem qhov chaw nyob IP zoo li qub uas Raspberry Pi yuav muaj nyob rau hauv WiFi network. Ua li no, kho cov ntaub ntawv dhcpcd.conf los ntawm kev nkag mus rau cov lus txib sudo nano /etc/dhcpcd.conf. Koj yuav tsum ntxiv cov kab hauv qab no rau cov ntaub ntawv:
interface wlan0
static ip_address=198.51.100.100/24
nohook wpa_supplicant
Raws li koj tuaj yeem pom, hauv WiFi network, peb Raspberry Pi yuav muaj qhov chaw nyob 198.51.100.100 (qhov no yog qhov tseem ceeb uas yuav tsum nco ntsoov yog tias qee lub server tab tom khiav ntawm nws, qhov chaw nyob uas yuav tsum tau nkag rau hauv browser).
Tom ntej no, peb yuav tsum qhib IP xa mus, uas peb ua tiav cov lus txib sudo nano /etc/sysctl.conf thiab uncomment tus kab net.ipv4.ip_forward = 1.
Tam sim no koj yuav tsum teeb tsa DHCP server - nws yuav faib IP chaw nyob rau cov khoom siv sib txuas. Peb nkag mus rau qhov hais kom ua sudo nano /etc/dnsmasq.conf thiab ntxiv cov kab hauv qab no:
interface=wlan0
dhcp-range=198.51.100.1,198.51.100.99,255.255.255.0,24h
Raws li koj tuaj yeem pom, cov khoom siv txuas nrog yuav muaj IP chaw nyob hauv thaj tsam 198.51.100.1… 198.51.100.99.
Thaum kawg, nws yog lub sijhawm los teeb tsa Wi-Fi. Kho cov ntaub ntawv /etc/default/hostapd thiab nkag mus rau txoj kab ntawd DAEMON_CONF = "/etc/hostapd/hostapd.conf". Tam sim no cia peb hloov cov ntaub ntawv hostapd.conf los ntawm kev nkag mus rau cov lus txib sudo nano /etc/hostapd/hostapd.conf.
Nkag mus rau qhov chaw nkag qhov chaw:
interface=wlan0
driver=nl80211
ssid=Raspberry Pi
hw_mode=g
channel=7
wmm_enabled=0
macaddr_acl=0
auth_algs=1
ignore_broadcast_ssid=0
wpa=2
wpa_passphrase=12345678
wpa_key_mgmt=WPA-PSK
wpa_pairwise=TKIP
rsn_pairwise=CCMPNtawm no nws yog ib qho tseem ceeb uas yuav tau xyuam xim rau cov tsis "ssid" (lub npe nkag), "wpa_passphrase" (password), "channel" (channel naj npawb) thiab "hw_mode" (kev ua haujlwm hom, a = IEEE 802.11a, 5 GHz, b = IEEE 802.11 b, 2.4 GHz, g = IEEE 802.11g, 2.4 GHz). Hmoov tsis zoo, tsis muaj kev xaiv channel tsis siv neeg, yog li koj yuav tsum xaiv qhov tsawg tshaj plaws WiFi channel koj tus kheej.
ib qho tseem ceeb: nyob rau hauv cov ntaub ntawv no, tus password yog 12345678, nyob rau hauv ib tug tiag tiag nkag point, koj yuav tsum tau siv ib yam dab tsi nyuab dua. Muaj cov kev pab cuam uas brute-force passwords siv phau ntawv txhais lus, thiab qhov chaw nkag nrog tus password yooj yim tuaj yeem raug nyiag. Zoo, kev sib koom hauv Is Taws Nem nrog cov neeg sab nraud raws li cov cai niaj hnub no tuaj yeem ua rau tsis muaj tseeb.
Txhua yam yog npaj txhij, koj tuaj yeem qhib txhua qhov kev pabcuam.
sudo systemctl unmask hostapd
sudo systemctl enable hostapd
sudo systemctl start hostapd
sudo systemctl reload dnsmasqPeb yuav tsum tam sim no pom WiFi hotspot tshiab hauv cov npe ntawm tes hauj lwm. Tab sis txhawm rau kom Is Taws Nem tshwm nyob rau hauv nws, nws yog ib qho tsim nyog yuav tsum qhib pob ntawv redirection ntawm Ethernet rau WLAN, uas peb nkag mus rau cov lus txib. sudo nano /etc/rc.local thiab ntxiv iptables configuration kab:
sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
Qhov ntawd yog nws. Peb reboot lub Raspberry Pi, thiab yog tias txhua yam ua tiav, peb tuaj yeem pom qhov nkag thiab txuas mus rau nws.

Raws li koj tuaj yeem pom, qhov ceev tsis yog qhov phem heev, thiab nws muaj peev xwm siv xws li WiFi.
Los ntawm txoj kev, me me tswv yim: Koj tuaj yeem hloov lub npe Raspberry Pi network los ntawm kev khiav cov lus txib sudo raspi-teeb tsa. Nws ua rau (xws li:) raspberrypi. Qhov no yog tej zaum kev paub. Txawm li cas los xij, tsis yog txhua tus paub tias lub npe no tseem muaj nyob hauv lub network hauv zos, tab sis koj yuav tsum ntxiv ".local" rau nws. Piv txwv li, koj tuaj yeem nkag rau hauv koj lub Raspberry Pi ntawm SSH los ntawm kev nkag mus rau cov lus txib puttypi@raspberrypi.local. Тут правда, есть один нюанс: это работает в Windows thiab nyob rau hauv Linux, но не работает в Android — там по-прежнему придется вводить IP-адрес вручную.
2. Media server
Muaj 1001 txoj hauv kev los ua tus neeg rau zaub mov tshaj tawm ntawm Raspberry Pi, Kuv tsuas yog npog qhov yooj yim tshaj plaws. Wb hais tias peb muaj ib tug nyiam sau ntawm MP3 cov ntaub ntawv thiab peb xav kom nws muaj nyob rau hauv lub zos network rau tag nrho cov xov xwm li. Peb yuav muab MiniDLNA server rau ntawm Raspberry Pi uas tuaj yeem ua qhov no rau peb.
Txhawm rau nruab, sau cov lus txib sudo apt-mus nruab minidlna. Tom qab ntawd koj yuav tsum teeb tsa lub config los ntawm kev nkag mus rau cov lus txib sudo nano /etc/minidlna.conf. Muaj koj yuav tsum tau ntxiv ib kab uas qhia txoj hauv kev rau peb cov ntaub ntawv: media_dir=/home/pi/MP3 (tau kawg, txoj kev yuav txawv). Tom qab kaw cov ntaub ntawv, rov pib qhov kev pabcuam:
sudo systemctl restart minidlna
Если мы все сделали правильно, мы получим готовый медиа-сервер в локальной сети, с которого можно играть музыку через настольное WiFi-радио или через VLC-Player в Android:

Ntsis: Uploading cov ntaub ntawv rau Raspberry Pi yog yooj yim heev nrog WinSCP - qhov kev pab cuam no tso cai rau koj mus ua hauj lwm nrog RPi folders tau yooj yim ib yam li cov neeg hauv zos.

3. SDR receiver
Yog tias peb muaj RTL-SDR lossis SDRPlay txais, peb tuaj yeem siv nws ntawm Raspberry Pi siv GQRX lossis CubicSDR program. Qhov no yuav tso cai rau koj kom muaj kev ywj pheej thiab ntsiag to SDR receiver uas tuaj yeem ua haujlwm txawm tias nyob ib puag ncig.
Kuv thov txim rau qhov zoo ntawm qhov screenshot ntawm lub vijtsam TV:

Nrog kev pab ntawm RTL-SDR lossis SDRPlay, nws muaj peev xwm tau txais ntau yam xov tooj cua qhia nrog ntau zaus txog li 1 GHz (txawm tias siab dua me ntsis). Piv txwv li, koj tuaj yeem mloog tsis tau tsuas yog cov xov tooj cua FM ib txwm muaj, tab sis kuj muaj kev sib tham ntawm cov kws tsav dav hlau lossis lwm cov kev pabcuam. Los ntawm txoj kev, xov tooj cua amateurs nrog kev pab los ntawm Raspberry Pi tuaj yeem tau txais zoo, txiav txim siab thiab xa cov cim rau lub server. .
Kev sib tham ntxaws ntawm SDR xov tooj cua yog dhau ntawm cov kab lus no, koj tuaj yeem nyeem ntxiv .
4. Server rau "smart home"
Rau cov neeg uas xav ua kom lawv lub tsev ntse dua, koj tuaj yeem siv qhov kev pab cuam OpenHAB dawb.

Qhov no tsis yog tsuas yog ib qho kev pab cuam, tab sis tag nrho lub moj khaum uas muaj ntau yam plugins, scripts uas tso cai rau koj los tswj ntau yam khoom siv (Z-Wave, Philips Hue, thiab lwm yam). Cov neeg uas xav tau tuaj yeem kawm paub ntau ntxiv off.site .
Los ntawm txoj kev, txij li thaum peb tab tom tham txog "lub tsev ntse", Raspberry Pi tuaj yeem ua haujlwm zoo MQTT server uas tuaj yeem siv los ntawm ntau yam khoom siv hauv zos.
5. Client rau FlightRadar24
Yog tias koj yog tus nyiam aviation thiab nyob hauv thaj chaw uas FlightRadar kev pab them nqi tsis zoo, koj tuaj yeem pab cov zej zog thiab txhua tus neeg taug kev los ntawm kev txhim kho lub receiver. Txhua yam koj xav tau yog RTL-SDR receiver thiab Raspberry Pi. Raws li qhov nyiaj ntxiv, koj yuav tau txais kev nkag mus rau FlightRadar24 Pro tus account pub dawb.

Cov lus qhia kom ntxaws ntawm Habr.
xaus
Tau kawg, tsis yog txhua yam tau teev tseg ntawm no. Raspberry Pi muaj ntau lub zog ua haujlwm thiab tuaj yeem siv ntau yam haujlwm, los ntawm kev ua si retro game console lossis video soj ntsuam, mus rau daim ntawv tso cai daim ntawv lees paub, lossis txawm tias yog kev pabcuam rau hnub qub. saib meteors.
Los ntawm txoj kev, dab tsi tau sau yog cuam tshuam tsis yog rau Raspberry Pi, tab sis kuj rau ntau yam "clones" (Asus Tinkerboard, Nano Pi, thiab lwm yam), txhua qhov kev pab cuam feem ntau yuav ua haujlwm nyob ntawd ib yam nkaus.
Yog tias cov neeg tuaj saib txaus siab (uas yuav txiav txim siab los ntawm kev ntaus nqi rau tsab xov xwm), cov ncauj lus tuaj yeem txuas ntxiv mus.
Thiab raws li ib txwm muaj, hmoov zoo rau txhua tus.
Tau qhov twg los: www.hab.com
