Talaan ng mga Nilalaman:

Clock ng Panahon: 15 Hakbang (na may Mga Larawan)
Clock ng Panahon: 15 Hakbang (na may Mga Larawan)

Video: Clock ng Panahon: 15 Hakbang (na may Mga Larawan)

Video: Clock ng Panahon: 15 Hakbang (na may Mga Larawan)
Video: Я работаю в Страшном музее для Богатых и Знаменитых. Страшные истории. Ужасы. 2024, Hulyo
Anonim
Orasan ng Panahon
Orasan ng Panahon

Mahusay na naghahanap ng orasan sa desktop na may display ng petsa at panahon.

Hakbang 1: Mag-download at Mag-install ng Software para sa RaspberryPI

Mag-download at Mag-install ng Software para sa RaspberryPI
Mag-download at Mag-install ng Software para sa RaspberryPI

I-download ang "RASPBIAN JESSIE LITE"

Lumikha ng iyong bagong hard disk para sa DashboardPI

Ipasok ang microSD sa iyong computer sa pamamagitan ng USB adapter at likhain ang imahe ng disk gamit ang dd command

Hanapin ang iyong ipinasok na microSD card sa pamamagitan ng df -h command, i-unmount ito at likhain ang imahe ng disk gamit ang disk copy dd command

$ df -h / dev / sdb1 7.4G 32K 7.4G 1% / media / XXX / 1234-5678

$ umount / dev / sdb1

Pag-iingat: siguraduhin na ang utos ay ganap na tumpak, maaari mong mapinsala ang iba pang mga disk sa utos na ito

kung = lokasyon ng RASPBIAN JESSIE LITE file ng imahe ng = lokasyon ng iyong microSD card

$ sudo dd bs = 4M kung = / path / to / raspbian-jessie-lite.img ng = / dev / sdb (tala: sa kasong ito, ito ay / dev / sdb, / dev / sdb1 ay isang mayroon nang partisyon ng pabrika sa microSD)

Pagse-set up ng iyong RaspberriPi

Ipasok ang iyong bagong microSD card sa raspberrypi at paganahin ito gamit ang isang monitor na konektado sa HDMI port

Mag log in

gumagamit: pi pass: raspberry Palitan ang password ng iyong account para sa seguridad

sudo passwd pi Paganahin ang RaspberriPi Advanced na Mga Pagpipilian

sudo raspi-config Piliin ang: 1 Palawakin ang System ng File

9 Mga advanced na pagpipilian

Binago ito ng A2 Hostname sa "EnvironmentClock"

A4 SSH Paganahin ang SSH Server

A7 I2C Paganahin ang i2c interface Paganahin ang English / US Keyboard

sudo nano / etc / default / keyboard Baguhin ang sumusunod na linya: XKBLAYOUT = "us" I-reboot ang PI para sa mga pagbabago sa layout ng Keyboard / pagbabago ng laki ng file system upang magkabisa

$ sudo shutdown -r ngayon Auto-Connect sa iyong WiFi

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf Idagdag ang mga sumusunod na linya upang awtomatikong kumonekta ang iyong raspberrypi sa iyong WiFi sa bahay (kung ang iyong wireless network ay pinangalanang "linksys" halimbawa, sa sumusunod na halimbawa)

network = {ssid = "linksys" psk = "WIRELESS PASSWORD DITO"} I-reboot ang PI upang kumonekta sa WiFi network

$ sudo shutdown -r ngayon

Ngayon na ang iyong PI ay sa wakas ay nasa lokal na network, maaari kang mag-login nang malayuan dito sa pamamagitan ng SSH. Ngunit kailangan mo munang makuha ang IP address na kasalukuyang mayroon ito.

$ ifconfig Maghanap para sa "inet addr: 192.168. XXX. XXX" sa sumusunod na output ng utos para sa IP Address ng iyong PI Pumunta sa isa pang makina at mag-login sa iyong raspberrypi sa pamamagitan ng ssh

$ ssh [email protected]. XXX. XXX Simulan ang Pag-install ng kinakailangang mga pakete

$ sudo apt-get update

$ sudo apt-get upgrade

$ sudo apt-get install vim git python-requests python-smbus i2c-tool python-imaging python-smbus build-essential python-dev rpi.gpio python3 python3-pip libi2c-dev

I-update ang mga setting ng lokal na timezone

$ sudo dpkg-reconfigure tzdata piliin ang iyong timezone gamit ang interface I-set up ang simpleng direktoryo l utos [opsyonal]

$ vi ~ /.bashrc

idagdag ang sumusunod na linya:

$ alias l = 'ls -lh'

$ source ~ /.bashrc Ayusin ang pag-highlight ng default na syntax ng VIM [opsyonal]

$ sudo vi / etc / vim / vimrc

i-komento ang sumusunod na linya:

syntax sa imbakan ng Clone Clock

$ cd ~

$ git clone https://github.com/khinds10/En environmentClock.git I-install ang i2c Backpack Python Drivers

$ cd ~

$ git clone

$ cd Adafruit_Python_LED_Backpack /

$ sudo python setup.py install DHT11 Install

$ cd ~

$ git clone

$ cd Adafruit_Python_DHT /

$ sudo python setup.py install

$ sudo python ez_setup.py

Mga halimbawa ng $ cd /

$ vi simpletest.py Baguhin ang sumusunod na linya:

sensor = Adafruit_DHT. DHT11 I-puna ang linya sa labas

pin = 'P8_11' I-uncomment ang linya at palitan ang pin na numero sa 16

pin = 16 Patakbuhin ang pagsubok

python simpletest.py

Dapat mong makita ang isang pagbabasa ng sukatan ng Temp at Humidity na ipinakita sa linya ng utos.

Hakbang 2: Kailangan ng Mga Pantustos: 1.2 Inch LED Display

Kailangan ng Mga Pantustos: 1.2 Inch LED Display
Kailangan ng Mga Pantustos: 1.2 Inch LED Display

Hakbang 3: Kailangan ng Mga Pantustos: DHT11 Humidistat

Kailangan ng Mga Pantustos: DHT11 Humidistat
Kailangan ng Mga Pantustos: DHT11 Humidistat

Hakbang 4: Kailangan ng Mga Kailangan: 2.6 "Digole Display

Kailangan ng Mga Pantustos: 2.6
Kailangan ng Mga Pantustos: 2.6
Kailangan ng Mga Pantustos: 2.6
Kailangan ng Mga Pantustos: 2.6

Hakbang 5: Kailangan ng Mga Pantustos: RaspberriPi Zero (o Regular RaspberriPi Dapat Magtrabaho)

Hakbang 6: Buuin at Wire ang Display

Buuin at Wire ang Display
Buuin at Wire ang Display

Ihanda ang Digole Display para sa i2C

Sa likuran ng Digole Display, solder ang jumper upang italaga ang display upang magamit ang i2c protocol

Hakbang 7: I-print ang Project Enclosure

I-print ang Project Enclosure
I-print ang Project Enclosure

Gamit ang isang 3D printer i-print ang mga file ng enclosure na kasama sa folder na 'enclosure /'..x3g file ay katugma ng MakerBot. Maaari mo ring gamitin ang.stl at.blend (Blender Program) na mga file upang mai-edit at lumikha ng iyong sariling mga pagpapabuti sa disenyo.

Paggamit ng 4 na mga tornilyo na drill at ilakip ang front panel (kasama ang 2 butas) sa 4 na panig na katawan. Pagkatapos ay magkasya ang mga ipinapakita sa bawat isa sa mga butas.

Hakbang 8: Ikabit ang 7 Segment at Digole Display Gamit ang Hot Glue Gun upang Hawakin Sila

Ikabit ang 7 Segment at Digole Display Gamit ang Hot Glue Gun upang Hawakin Sila
Ikabit ang 7 Segment at Digole Display Gamit ang Hot Glue Gun upang Hawakin Sila

Hakbang 9: Ihanda ang mga Wires para sa Koneksyon

Ihanda ang mga Wires para sa Koneksyon
Ihanda ang mga Wires para sa Koneksyon

Gumagamit ako ng karaniwang mga jumping wires at isang wire cutter upang hubarin ang kawad na hubad sa gitna ng mga wire upang magkaroon ako ng isang bungkos na konektado na nakadikit sa isang mainit na baril na pandikit. (Sa imahe sa ibaba ay pinagsama ang aking 5V / GND / SCA / at mga wire ng SCL.)

Hakbang 10:

Larawan
Larawan

Simulan ang mga kable ng yunit gamit ang diagram ng mga kable sa ibaba bilang isang gabay.

Ang 7 Segment display D -> SDA C -> SCL + -> 5v GND -> GND IO -> 5v Digole Display GND -> GND DATA -> SDA CLK -> SCL VCC -> 3V DHT11 Humidistat VCC -> 5V GND - > GND DATA -> GPIO 16 / PIN 36

Hakbang 11: Ikonekta ang Lahat ng Mga Bahagi sa loob ng Naka-print na Kaso

Ikonekta ang Lahat ng Mga Bahagi sa loob ng Naka-print na Kaso
Ikonekta ang Lahat ng Mga Bahagi sa loob ng Naka-print na Kaso

Hakbang 12: Ikonekta ang Lahat ng Mga Bahagi sa loob ng Naka-print na Kaso

Ikonekta ang Lahat ng Mga Bahagi sa loob ng Naka-print na Kaso
Ikonekta ang Lahat ng Mga Bahagi sa loob ng Naka-print na Kaso

Hakbang 13: Tapusin ang Konstruksiyon

Tapusin ang Konstruksiyon
Tapusin ang Konstruksiyon

Kola ang moisturistat sa likod ng panel, at magpatakbo ng isang USB cable sa pamamagitan ng iba pang butas ng back panel upang mapagana ang yunit. Ilakip ang likod gamit ang 2 mga turnilyo lamang kung sakaling kailangan mong mag-disassemble para sa pagkumpuni.

Hakbang 14: I-setup ang Mga Startup Script

I-configure ang Application upang tumakbo nang tama sa setting.py config file Hanapin ang mga setting ng file.py at ayusin sa iyong kasalukuyang mga setting

# forecast.io API key para sa lokal na impormasyon sa panahonweatherAPIURL = 'https://api.forecast.io/forecast/'weatherAPIKey =' SUSI ANG IYONG API PARA SA PAGTATAYA. IO '

# opsyonal para sa pagpapatakbo ng remote temp / halumigmig loggerdeviceLoggerAPI = 'mydevicelogger.com'

# maghanap sa google upang makuha ang Latitude / Longhitud para sa iyong lokasyon sa bahay = 41.4552578longitude = -72.1665444

$ crontab -e

Idagdag ang mga sumusunod na linya:

@reboot nohup python /home/pi/En environmentClock/clock.py> / dev / null 2> & 1

@reboot nohup python /home/pi/En environmentClock/display.py> / dev / null 2> & 1

I-verify na ang display ay nagsisimulang gumana sa pag-reboot

$ sudo reboot OPTIONAL: Temp Logger sa API script bawat 10 minuto

$ crontab -e Idagdag ang mga sumusunod na linya:

* / 10 * * * * python /home/pi/En environmentClock/temp-check.py

OPSYONAL: Lumilikha ng iyong sariling mga imahe ng panahon upang mai-render sa display

Mag-upload ng iyong sariling 128x128 file sa sumusunod na URL:

www.digole.com/tools/PicturetoC_Hex_convert…

Piliin ang iyong file ng imahe upang mai-upload, idagdag kung anong laki ang nais mong maging sa screen (Lapad / Taas)

Piliin ang "256 Kulay para sa Kulay OLED / LCD (1 byte / pixel)" sa dropdown na "Ginamit para sa"

Kunin ang hex output.

Idagdag ang hex output sa isang display / build / header (.h) file, gamitin ang iba pa bilang mga gabay para sa syntax.

Isama ang bagong file sa digole.c file # isama ang myimage.h

Magsama ng isang bagong utos ng linya ng utos sa iyong file ng imahe sa. Tandaan: sinasabi ng utos sa ibaba na iguhit ang iyong imahe sa posisyon na 10 pixel na higit sa 10 mga pixel pababa. Maaari mo itong palitan sa iba't ibang mga X, Y coordinate, maaari mo ring baguhin ang mga halagang 128, 128 sa kung anumang laki talaga ng iyong bagong imahe.

} iba pa kung (strcmp (digoleCommand, "myimage") == 0) {drawBitmap256 (10, 10, 128, 128, & myimageVariableHere, 0); // myimageVariableHere ay tinukoy sa iyong (.h) file}

Muling itayo (huwag pansinin ang mga error) sa ibaba upang maibigay ang iyong bagong imahe sa sumusunod na utos.

$./digole myimage Re-Building [Kasamang] Digole Display Driver para sa iyong mga opsyonal na pagbabago

$ cd display / build $ gcc digole.c $ mv a.out../../digole $ chmod + x../../digole

Inirerekumendang: