Turinys:
- 1 žingsnis: spalvų diapazonas nuo 0 iki 100*F
- 2 veiksmas: mirksi „RaspberriPi“standusis diskas / įdiekite reikiamą programinę įrangą (naudojant „Ubuntu Linux“)
- 3 žingsnis: reikalingos medžiagos
- 4 žingsnis: „WeatherJar“kūrimas
- 5 žingsnis: pastatykite žvakę
- 6 veiksmas: sukurkite temperatūros API
- 7 veiksmas: nustatykite „RPi Cronjob“, kad žvakė veiktų
- 8 žingsnis: baigta
2025 Autorius: John Day | [email protected]. Paskutinį kartą keistas: 2025-01-13 06:57
Naudodami šią stebuklingą žvakę galite akimirksniu pasakyti esamą temperatūrą ir sąlygas lauke
1 žingsnis: spalvų diapazonas nuo 0 iki 100*F
2 veiksmas: mirksi „RaspberriPi“standusis diskas / įdiekite reikiamą programinę įrangą (naudojant „Ubuntu Linux“)
Atsisiųskite „RASPBIAN JESSIE LITE“https://www.raspberrypi.org/downloads/raspbian/
Sukurkite naują standųjį diską, skirtą „DashboardPI“
Įdėkite „microSD“į kompiuterį per USB adapterį ir sukurkite disko vaizdą naudodami komandą dd
Suraskite įdėtą „microSD“kortelę naudodami komandą df -h, atjunkite ją ir sukurkite disko atvaizdą naudodami komandą disk copy dd
$ df -h/dev/sdb1 7.4G 32K 7.4G 1%/media/XXX/1234-5678
$ umount /dev /sdb1
Atsargiai: įsitikinkite, kad komanda yra visiškai tiksli, naudodami šią komandą galite sugadinti kitus diskus
if = RASPBIAN JESSIE LITE vaizdo failo vieta = jūsų „microSD“kortelės vieta
$ sudo dd bs = 4M, jei =/kelias/į/raspbian-jessie-lite.img iš =/dev/sdb (pastaba: šiuo atveju tai yra/dev/sdb,/dev/sdb1 buvo esamas gamyklos skaidinys „microSD“)
„RaspberriPi“nustatymas
Įdėkite naują „microSD“kortelę į avietę ir įjunkite ją naudodami monitorių, prijungtą prie HDMI prievado
Prisijungti
vartotojas: pi
praeiti: aviečių
Saugumo sumetimais pakeiskite paskyros slaptažodį
sudo passwd pi
Įgalinti „RaspberriPi“
Išplėstiniai nustatymai
sudo raspi-config
Pasirinkite: 1 Išplėskite failų sistemą
9 Išplėstinės parinktys
A2 pagrindinio kompiuterio pavadinimas pakeiskite jį į „WeatherJar“
A4 SSH Įgalinti SSH serverį
A7 I2C Įgalinti i2c sąsają
Įgalinti anglų/JAV klaviatūrą
sudo nano/etc/default/klaviatūra
Pakeiskite šią eilutę: XKBLAYOUT = "mes"
Iš naujo paleiskite PI, kad pakeistumėte klaviatūros išdėstymą / pakeistumėte failų sistemos dydį
$ sudo išjungimas -r dabar
Automatinis prisijungimas prie „WiFi“
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Pridėkite šias eilutes, kad jūsų raspberrypi automatiškai prisijungtų prie jūsų namų „WiFi“(jei jūsų belaidis tinklas pavadintas „linksys“, pvz., Šiame pavyzdyje)
tinklas = {ssid = "linksys" psk = "BEVIELIS PASLAPTIS ČIA"}
Perkraukite PI, kad prisijungtumėte prie „WiFi“tinklo
$ sudo išjungimas -r dabar
Dabar, kai jūsų PI pagaliau yra vietiniame tinkle, galite prie jo prisijungti nuotoliniu būdu per SSH. Bet pirmiausia turite gauti dabartinį IP adresą.
$ ifconfig Ieškokite „inet addr: 192.168. XXX. XXX“šioje komandos išvestyje, skirtoje jūsų PI IP adresui
Eikite į kitą mašiną ir prisijunkite prie savo raspberrypi per ssh
$ ssh [email protected]. XXX. XXX
Pradėkite diegti reikiamus paketus
$ sudo apt-get atnaujinimas
$ sudo apt-get atnaujinimas
$ sudo apt-get install memcached vim git python-smbus i2c-tools python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip python-memcache
** Atnaujinkite vietinės laiko juostos nustatymus
$ sudo dpkg-reconfigure tzdata
naudodamiesi sąsaja pasirinkite savo laiko juostą
Nustatykite paprastą katalogo komandą l [neprivaloma]
vi ~/.bashrc
pridėkite šią eilutę:
slapyvardis l = 'ls -lh'
šaltinis ~/.bashrc
Ištaisykite numatytąjį VIM sintaksės paryškinimą [neprivaloma]
sudo vi/etc/vim/vimrc
nekomentuokite šios eilutės:
sintaksė įjungta
Įdiekite „i2c Python“tvarkykles
Įdiekite „NeoPixel“tvarkyklę taip
sudo apt-get install build-essential python-dev git scons swig
sudo pip3 įdiegti -atnaujinti sąrankos įrankius
sudo pip3 įdiegti rpi_ws281x
cd rpi_ws281x
šaukštai
cd python
sudo python setup.py įdiegti
CD pavyzdžiai/
sudo python strandtest.py
3 žingsnis: reikalingos medžiagos
RaspberryPi Zero
USB WIFI (jei ne „PiZero W“)
„NeoPixel“žiedas
Matinis lempos šešėlis
4 žingsnis: „WeatherJar“kūrimas
Lituokite laidus, kad prijungtumėte „NeoPixel“žiedą prie „Pi“, reikia prijungti 5 V, GND ir GPIO kaištį 18
*Pastaba: kadangi mes naudojame tik vieną žiedą, kuris niekada nerodo viso ryškumo / ryškiai baltos spalvos, galime pasikliauti paties RPi energijos šaltiniu. Paprastai jie rekomenduoja 5050 RGB pikselių, tokių kaip šie, turėti savo energijos šaltinį.
Komponentų prijungimas Prijunkite „NeoPixel“prie RP 5V ir GND, prijunkite „ino“kaištį „NeoPixel“žiede prie GPIO kaiščio Nr. 18
Šio projekto 3D spausdinimo/ aplanke atspausdinkite žvakės dangtelį ir pagrindą, kad būtų įrenginys.
5 žingsnis: pastatykite žvakę
Naudodami karštą klijų pistoletą, klijuokite pi nulį prie žvakės pagrindo apačios
Gręžkite skylę, kad galėtumėte įeiti į maitinimo USB kabelį.
Aš naudoju paprastą juostelę, kad prilaikčiau „NeoPixel“žiedą prie žvakės mygtuko, atitraukdamas laidus, kad įsitikinčiau, jog šviesa yra užblokuota bet kokių keistų šešėlių viduje.
6 veiksmas: sukurkite temperatūros API
„Python Flash“API, skirta temperatūroms rodyti kaip spalvų gradientų diegimo instrukcijoms
Įdiekite vietinį šio projekto žiniatinklio serverio aplanką iš šio projekto [/var/www]
Sukurkite „Apache“konfigūraciją, kad nukreiptumėte į šį projektą („Python Flask“API)
Būtini „Python Flash“paketai „Apache“
$> sudo apt-get install libapache2-mod-wsgi python-dev python-pip python-pil
$> sudo a2enmod wsgi
$> sudo paslauga apache2 iš naujo
$> pip instaliavimo kolba
mytempuratureapi.com/neopixel?temperature=7…
7 veiksmas: nustatykite „RPi Cronjob“, kad žvakė veiktų
Nustatykite „pi user crontab“
Įveskite šią eilutę minutę po minutės crontab
$ crontab -e
*/1 * * * * python /home/pi/WeatherJar/weather.py
Nustatykite root vartotoją „crontab“(šiai bibliotekai reikalinga root prieiga) Nustatykite „iš naujo paleisdami“, kad amžinai paleistumėte žvakės python scenarijų
$ sudo su
$ crontab -e
@iš naujo paleiskite „python“/home/pi/WeatherJar/candle.py
8 žingsnis: baigta
Būtinai įdėkite šį naują URL, kurį sukūrėte savo projekto nustatymuose, kad dabar orų indas reaguotų į dabartinę lauko temperatūrą.