Агуулгын хүснэгт:
- Алхам 1: Pi Zero W -ийг тохируулна уу
- Алхам 2: WiFi сүлжээнд холбогдоно уу
- Алхам 3: Шаардлагатай програм хангамжийг шинэчилж суулгана уу
- Алхам 4: Мэдрэгчид холбогдох (энэ жишээнд Arduino)
- Алхам 5: WiFi хандалтын цэгийн чадавхийг тохируулах
- Алхам 6: Wifi хандалтын цэг ба клиент горимуудын хооронд шилжих
- Алхам 7: Эцсийн тайлбар
- Алхам 8: Python бүртгэлийн скриптийн жишээ
Видео: Raspberry Pi Zero W Datalogger: 8 алхам (зурагтай)
2024 Зохиолч: John Day | [email protected]. Хамгийн сүүлд өөрчлөгдсөн: 2024-01-30 11:05
Raspberry Pi Zero W -ийг ашигласнаар та орон нутгийн wifi сүлжээнд холбогдож болох эсвэл өгөгдлийг ухаалаг утсаараа утасгүй татаж авах боломжтой талбар болох хандалтын цэг болох хямд, ашиглахад хялбар өгөгдлийн тоолуур хийх боломжтой.
Би энэ тохиргоог Америкийн геофизикийн холбооны намрын уулзалт 2017 дээр танилцуулсан бөгөөд энэ нь өгөгдөл бүртгэгчийг өөрөө тохируулах арга юм. Та энэ танилцуулгыг эндээс олж болно.
Танд хэрэгтэй зүйл:
- A Raspberry Pi Zero W
- Бичил SD карт
- USB кабель эсвэл USB тэжээлийн хангамж
- USB карт уншигчтай компьютер
-
Нэмэлт (гэхдээ ашигтай):
- miniHDMI -> HDMI адаптер (Pi -г дэлгэцтэй холбох)
- USB OTG адаптер (гарыг Pi -тэй холбох
Алхам 1: Pi Zero W -ийг тохируулна уу
Эхлэхийн тулд microSD карт дээр Расби дүрсийг тавь (энэ хичээлд би энд байгаа 2017-07-05-raspbian-jessie-lite-ийг ашигласан болно). Тохиргоог командын мөрөөр хийх тул энгийн хувилбарыг (ширээний компьютергүйгээр) ашиглаж болно.
SD картыг Pi -д оруулаад, дэлгэц, гараа холбоод цахилгаан кабелийг залгаарай. Толгойгүй тохиргоо хийх боломжтой боловч SSH -ээр холбогдох шаардлагатай болно.
Pi -г ачаалсны дараа нэвтрэх (анхдагч хэрэглэгчийн нэр: pi, нууц үг: бөөрөлзгөнө), "passwd" командыг ашиглан нууц үгээ солино уу.
Терминал дээр "sudo raspi-config" оруулснаар гарыг тохируулж болно.
Алхам 2: WiFi сүлжээнд холбогдоно уу
Интернетэд холбогдохын тулд бид Pi -д аль сүлжээнд холбогдохыг хэлэх болно. Дараах файлыг нээж эхэлнэ үү;
sudo нано /etc/wpa_supplicant/wpa_supplicant.conf
Энд доод талд байгаа сүлжээний мэдээллийг оруулна уу;
сүлжээ = {
ssid = "сүлжээний нэр" psk = "сүлжээний нууц үг"}
Байгууллагын сүлжээний хувьд та дараах тохиргоог ашиглаж болно (WPA-EAP // TTLA // MSCHAPv2-ийг холбогдох тохиргоонд тохируулна уу).
сүлжээ = {
ssid = "ssid" #Сүлжээнийхээ нэрийг оруулна уу_mgmt = WPA-EAP eap = TTLS Identity = "xxxxx" #Нэвтрэх бүртгэлийнхээ нууц үгийг оруулна уу = "xxxxx" #Нэвтрэх ажлын үе шатыг оруулна уу2 = "auth = MSCHAPv2"}
CTRL+O дарж хадгалаад CTRL+X товчлуурыг дарна уу.
Одоо/etc/network/interfaces дээр өөрийн тохиргооны файлыг лавлана уу
sudo нано/etc/сүлжээ/интерфэйсүүд
Wlan0 хэсгийг дараах байдлаар өөрчилнө үү.
авто wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Дахин хэлэхэд файлыг хадгална уу (CTRL+O), дараа нь (CTRL+X) гарна уу.
Дахин ачаалсны дараа (sudo дахин ачаалах) таны wifi холболт ажиллах ёстой. Та үүнийг вэбсайтыг пинг хийх замаар шалгаж болно;
ping www.google.com
CTRL+C ашиглан пингийг цуцална уу
Pi дээр SSH -ээр утасгүй холбогдохын тулд та SSH -ийг идэвхжүүлэх ёстой.
sudo raspi-config
"5 интерфэйс сонголт" руу очоод SSH -ийг идэвхжүүлнэ үү. Дараа нь буцаж очоод тохиргооноос гарна уу.
Pi -ийн IP хаягийг хайж олох:
ifconfig
IP нь wlan0 интерфэйсийн "inet addr:" дор байх болно.
Хэрэв та ижил сүлжээнд байгаа бол одоо WiFi -ээр дамжуулан Pi -д холбогдох боломжтой. Putty (цонхны хувьд) татаж аваад "Хостын нэр" хэсэгт олсон IP хаягаа оруулаад "Нээх" товчийг дарна уу. Анхааруулгыг хүлээн авсны дараа та командын мөрийг харж, нэвтрэх боломжтой байх ёстой.
Алхам 3: Шаардлагатай програм хангамжийг шинэчилж суулгана уу
WiFi ажиллаж дууссаны дараа Pi -г дараах байдлаар шинэчилнэ үү.
sudo apt -get update -y && sudo apt -get upgrade -y
Шинэчлэлт дууссаны дараа (хэсэг хугацаа шаардагдах болно) бидний ашиглах програм хангамжийг суулгана уу;
sudo apt-get python3 python3-series apache2 -y суулгаарай
Алхам 4: Мэдрэгчид холбогдох (энэ жишээнд Arduino)
Arduino -г USB төв ашиглан гараар холбоно уу, эсвэл Arduino -г ганц USB портоор холбож, SSH ашиглан WiFi ашиглан тохируулаарай.
Arduino -ийн холбогдсон цуваа порт руу нэвтрэхийн тулд анхдагч pi данс руу нэвтрэх боломжтой болно. Arduino ихэвчлэн "/dev/ttyACM0" портод хуваарилагддаг тул 'pi' хэрэглэгчид порт руу хандах эрхийг өгөхийн тулд дараах тушаалыг ашиглана уу.
sudo chown pi: /dev /ttyACM0
Arduino нь цуваа портоор өгөгдөл илгээхээр аль хэдийн тохируулагдсан гэж үзвэл та python дээрх өгөгдлийг дараах байдлаар үзэх боломжтой.
Нээлттэй питон;
питон3
Цуваа импортлох:
цуваа импортлох
Ком портыг нээнэ үү:
ser = serial. Цуваа (порт = '/dev/ttyACM0', baudrate = 9600, завсарлага = 5)
Энэ тохиолдолд Arduino -ийн бауд хурдыг 9600 гэж тохируулсан болно.
Та дараах кодыг ажиллуулж мөрийг уншиж, хэвлэх боломжтой.
ser.readline (). декодлох ('utf-8')
Хэрэв танд ажил байгаа бол та холболтыг хааж Python -ээс дараах байдлаар гарах боломжтой.
ser.close ()
гарах()
Алхам 5: WiFi хандалтын цэгийн чадавхийг тохируулах
Pi Zero W -ийг wifi хандалтын цэгийн горимд тохируулснаар та ямар ч wifi төхөөрөмжөөр холбогдох боломжтой. Энэ нь бүртгэгчийг тохируулах, Wi -Fi сүлжээгээр дата татаж авах, кабель, драйвер шаардлагагүй болно.
Үүний тулд Adafruit -д сайн заавар байдаг. Зарим жижиг тайлбар:
- /Etc/hostapd/hostapd.conf драйверын хувьд драйверын шугамыг бүү ашиглаарай.
- "Hostapd -ийг шинэчлэх" алхам шаардлагагүй байх ёстой.
Хичээлийн төгсгөлд хандалтын цэг ажиллахгүй бол Pi (sudo reboot) -ыг дахин ачаалж үзнэ үү.
Алхам 6: Wifi хандалтын цэг ба клиент горимуудын хооронд шилжих
Заримдаа та програм хангамжаа шинэчлэх эсвэл Raspberry Pi дээрээ шинэ програм суулгахыг хүсдэг боловч энэ нь интернет холболт шаарддаг. Азаар энэ хоёрын хооронд шилжих нь маш амархан.
Pi -д SSH -ээр холбогдоорой (кабелиар биш, wifi!) Хандалтын цэгийн үйлчилгээг зогсоож эхэл:
sudo cystemctl hostapd.service -ийг зогсооно
sudo cystemctl isc-dhcp-server.service-ийг зогсооно
Дараа нь сүлжээний интерфэйсийн файлыг засварлана уу.
sudo нано/etc/сүлжээ/интерфэйсүүд
Энд та байршуулах параметрүүдийг тайлбарлаж, сүлжээний холболтын параметрүүдийг тайлбарлахгүй байх ёстой. Үүнийг эндээс өөрчилнө үү:
#-Хостинг параметрүүд:
allow-hotplug wlan0 iface wlan0 inet статик хаяг 192.168.42.1 netmask 255.255.255.0 # -Сүлжээний (үйлчлүүлэгч) параметрүүд: #auto wlan0 # iface wlan0 inet dhcp # wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Үүнд:
#-Хостинг хийх параметрүүд: #allow-hotplug wlan0 #iface wlan0 inet static #address 192.168.42.1 #netmask 255.255.255.0 #-Сүлжээний (клиент) параметрүүд: auto wlan0 iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_confuppiant
Файлыг хадгалаад хаах.
Дараа нь та дараах тушаалуудыг ажиллуулна.
sudo systemctl эхлүүлэх wpa_supplicant.service
sudo ifdown wlan0 sudo ifup wlan0
Одоо таны Pi дахин wifi -д холбогдож, програм хангамжийг шинэчлэх, суулгах боломжтой болно.
Хандалтын цэгийн горимд буцаж орохын тулд/etc/network/interfeys дээрх сэтгэгдлүүдийг сольж, Pi -г дахин ачаална уу.
Алхам 7: Эцсийн тайлбар
Вэбсайтын тохиргоо
Apache сервер нь/var/www/дээр байрладаг. Анхдагч хуудсыг өөрчлөхийн тулд /var/www/html/index.html файлыг засварлана уу.
Та энд байгаа файлуудаа wifi холболтоор татаж авах боломжтой болгож, хөтчийнхөө тусламжтайгаар Pi -ийн IP хаяг руу (192.168.42.1) ороорой. Wi -Fi -г идэвхжүүлсэн аливаа төхөөрөмж нэмэлт програм хангамжгүйгээр татаж авах боломжтой.
SFTP холболт
SSH дээр FTP холболт хийх боломжтой. Та Filezilla -г ашиглан их хэмжээний файлыг хурдан, хялбар шилжүүлэх боломжтой (зургийг үзнэ үү).
Бодит цагийн цаг
Хэрэв интернетэд холбогдоогүй бол Pi -ийн дотоод цаг мэдэгдэхүйц буурах тул цагийг зөв хэмжих шаардлагатай бол бодит цагийн цаг (RTC) модуль хэрэгтэй болно. Ийм модулийн нэг бол RasClock бөгөөд суулгах зааврыг эндээс олж болно. I2c дээр суурилсан бусад цагнууд бас байдаг (өөрөөр хэлбэл DS3231)
Дүгнэлт
Хэрэв бүх зүйл зөв хийгдсэн бол та одоо Pi Zero дата бүртгэгчтэй байх ёстой! Python бүртгэлийн скриптийн жишээг дараагийн алхамд оруулсан болно.
Алхам 8: Python бүртгэлийн скриптийн жишээ
импортлох os
nat ser = serial. Serial (port = 'COM4', baudrate = 57600, timeout = 5) гэсэн директорын цаг = r '\ var / www / html / data / anemometer / WMPro1352_ 'ser.flushInput () ser.flushOutput () оролдож үзээрэй: байхад Үнэн: day_timestring = datetime.strftime (datetime.now (),'%Y%m%d ') file_today = лавлах + day_timestring +'.dat ' #Уншаарай өгөгдөл, цаг хугацааны мөрийг даруй олж аваарай = ser.readline (). декод хийх ('utf-8') nowtime = datetime.strftime (datetime.now (), '%Y-%m-%d%H:%M:% S.%f ') line = line.split (', ') оролдох: u = float (line [1]):.nan оролдох: w = хөвөх (мөр [3]) бусад: w = np.nan оролдох: c = хөвөх (мөр [5]) бусад: c = np.nan Ts = 1/403*c ** 2 - 273.15 оролдох: Ta = float (мөр [8]) бусад: Ta = np.nan if (os.path.isfile (file_today))): open (file_today, 'a') fileobject: fileobject.write (nowtime+',')) fileobject.write (str (u)+','+str (v)+','+str (w)+','+str (c)+','+str (Ts)+','+ str (Ta)+'\ n') fileobject.clos e () өөр: open (file_today, 'w') файлын объект болгон: fileobject.write ('"Цаг", "u", "v", "w", "c", "Ts", "Ta" / n ') fileobject.write (одоо+', ') fileobject.write (str (u)+', '+str (v)+', '+str (w)+', '+str (c)+', '+str (Ts)+', '+str (Ta)+' / n ') fileobject.close () KeyboardInterrupt -ээс бусад: ser.close ()
Зөвлөмж болгож буй:
Raspberry Pi Zero -ээр ажилладаг модон LED тоглоомын дэлгэц: 11 алхам (зурагтай)
Raspberry Pi Zero -ээр ажилладаг модон LED тоглоомын дэлгэц: Энэхүү төсөл нь чимэг тоглоом тоглохын тулд зочны өрөөнд хялбархан суулгаж болох 78х35 см хэмжээтэй, 20х10 пикселийн WS2812 суурьтай LED дэлгэцийг гаргадаг. Энэхүү матрицын анхны хувилбарыг 2016 онд бүтээсэн бөгөөд бусад олон хүмүүс дахин бүтээжээ. Энэхүү экспресс
Цахим цаасан дэлгэц болон Raspberry Pi Zero W ашиглан YouTube захиалагчдын тоолуур: 5 алхам (зурагтай)
Цахим цаасан дэлгэц болон Raspberry Pi Zero W ашиглан YouTube-ийн захиалагчдын тоолуур: Энэхүү зааварчилгаанд би цахим цаасан дэлгэц, Raspberry Pi Zero W ашиглан YouTube API-ийг асуухын тулд өөрийн Youtube захиалагчийн тоолуурыг хэрхэн яаж хийхийг танд үзүүлэх болно. мөн дэлгэцийг шинэчлэх. Цахим цаасан дэлгэц нь ийм төрлийн төсөлд маш сайн байдаг, учир нь
DIY Raspberry Pi Zero гар утасны тоглоомын консол: 6 алхам (зурагтай)
DIY Raspberry Pi Zero гар тоглоомын консол: Энэ төсөлд би Raspberry Pi Zero, NiMH батерей, гар хийцийн хэт цэнэгээс хамгаалах хэлхээ, арын дэлгэц, аудио өсгөгч зэргийг тоглож болох гар тоглоомын консол бий болгохын тулд ашиглах болно. чимэг тоглоомууд. Эхэлцгээе
Waveshare Game-HAT MOD Raspberry PI Zero/Zero W [EN/ES]: 4 алхам
Waveshare Game-HAT MOD Raspberry PI Zero/Zero W [EN/ES]: ENGLISH/INGLÉS: Та бүхний мэдэж байгаагаар Waveshare Game-HAT-ийг угсрах нь загвартай бүрэн нийцсэн загваруудын нэг бол маш энгийн. Энэ нь Raspberry Pi 2/3 / 3A + / 3B / 3B + /, би тоглоомын консолыг илүү сайн ашиглахыг илүүд үздэг
Arduino Datalogger: 8 алхам (зурагтай)
Arduino Datalogger: Энэхүү гарын авлагад бид Arduino ашиглан энгийн өгөгдөл бүртгэгч хийх болно. Мэдээлэл авах, терминал дээр хэвлэхийн тулд Arduino програмыг ашиглах үндсийг сурах нь чухал юм. Бид энэхүү үндсэн тохиргоог ашиглан хэд хэдэн ажлыг хийж болно. Эхлэхийн тулд