Мазмұны:
- 1 -қадам: Pi Zero W орнатыңыз
- 2 -қадам: WiFi желісіне қосылыңыз
- 3 -қадам: Қажетті бағдарламалық жасақтаманы жаңартыңыз және орнатыңыз
- 4 -қадам: сенсорға қосылыңыз (бұл мысалда Arduino)
- 5 -қадам: WiFi кіру нүктесінің мүмкіндіктерін орнатыңыз
- 6 -қадам: Wi -Fi кіру нүктесі мен клиенттік режимдер арасында ауысу
- 7 -қадам: Қорытынды ескертулер
- 8 -қадам: Python тіркеу сценарийінің мысалы
Бейне: Raspberry Pi Zero W Datalogger: 8 қадам (суреттермен)
2024 Автор: John Day | [email protected]. Соңғы өзгертілген: 2024-01-30 10:27
Raspberry Pi Zero W көмегімен сіз жергілікті Wi -Fi желісіне қосылатын немесе смартфонмен деректерді сымсыз жүктеуге мүмкіндік беретін өрісте кіру нүктесі бола алатын, арзан және қолдануға оңай деректер тізбесін жасай аласыз.
Мен бұл қондырғыны американдық геофизикалық одақтың 2017 жылғы күзгі жиналысында ұсындым. Сіз бұл презентацияны таба аласыз.
Сізге не қажет болады:
- A Raspberry Pi Zero W
- Micro 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 nano /etc/wpa_supplicant/wpa_supplicant.conf
Мұнда төмендегі желі ақпаратын қосыңыз;
желі = {
ssid = «желі атауы» psk = «желі құпия сөзі»}
Кәсіпорындық желі жағдайында сіз келесі орнатуды қолдана аласыз (WPA-EAP // TTLA // MSCHAPv2 қолданыстағы параметрлерге реттеңіз).
желі = {
ssid = «ssid» #Желі атауын енгізіңіз key_mgmt = WPA-EAP eap = TTLS сәйкестігі = «xxxxx» #Кіру есептік жазбаңыздың паролін енгізіңіз = «xxxxx» #Өткізу кезеңін енгізіңіз2 = «auth = MSCHAPv2»}
CTRL+O пернелерін басу арқылы сақтаңыз және CTRL+X көмегімен шығыңыз.
Енді/etc/network/interfaces ішіндегі конфигурация файлына сілтеме жасаңыз
sudo nano/etc/network/interfaces
Wlan0 бөлігін келесіге өзгертіңіз:
авто wlan0
iface wlan0 inet dhcp wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Тағы да файлды сақтаңыз (CTRL+O), содан кейін (CTRL+X) шығыңыз.
Қайта жүктеуден кейін (sudo қайта жүктеу), сіздің Wi -Fi қосылымыңыз жұмыс істеуі керек. Сіз мұны веб -сайтты пинг арқылы тексере аласыз;
ping www.google.com
CTRL+C пернелер тіркесімін басу
SSH арқылы Pi -ге сымсыз қосылу үшін SSH қосу керек:
sudo raspi-config
«5 интерфейс опциясына» өтіңіз және SSH қосыңыз. Содан кейін оралыңыз және конфигурациядан шығыңыз.
Pi адресін іздеңіз:
ifconfig
IP wlan0 интерфейсінің «inet addr:» астында болады.
Енді сіз Wi -Fi арқылы Pi -ге қосыла аласыз, егер сіз бір желіде болсаңыз. Putty бағдарламасын жүктеңіз (терезелер үшін), «Хост атауы» астында табылған IP мекенжайын енгізіп, «Ашу» түймесін басыңыз. Ескертуді қабылдағаннан кейін сіз енді пәрмен жолын және кіруді көруіңіз керек.
3 -қадам: Қажетті бағдарламалық жасақтаманы жаңартыңыз және орнатыңыз
WiFi жұмыс істегеннен кейін, Pi -ді жаңартыңыз:
sudo apt -get update -y && sudo apt -get upgrade -y
Жаңарту аяқталғаннан кейін (біраз уақыт кетуі мүмкін) біз қолданатын бағдарламалық жасақтаманы орнатыңыз;
sudo apt-get install python3 python3-serial apache2 -y
4 -қадам: сенсорға қосылыңыз (бұл мысалда Arduino)
Arduino пернетақтасын USB хабы арқылы қосыңыз немесе Arduino -ны бір USB порты арқылы қосыңыз және WiFi арқылы SSH көмегімен орнатыңыз.
Arduino қосылған сериялық портқа кіру үшін әдепкі pi есептік жазбасына рұқсат беру пайдалы. Әдетте Arduino «/dev/ttyACM0» портына тағайындалғандықтан, 'pi' пайдаланушысына портқа кіруге рұқсат беру үшін келесі пәрменді қолданыңыз:
sudo chown pi: /dev /ttyACM0
Ардуино деректерді сериялық порт арқылы жіберу үшін орнатылған деп есептесеңіз, python -дағы деректерді келесі жолмен қарай аласыз:
Ашық питон;
python3
Сериялық импорт:
сериялық импорт
Келу портын ашыңыз:
ser = serial. Serial (порт = '/dev/ttyACM0', baudrate = 9600, күту уақыты = 5)
Бұл жағдайда Arduino -ның бауд жылдамдығы 9600 -ге тең болды.
Келесі кодты іске қосу арқылы жолды оқуға және басып шығаруға болады:
ser.readline (). декодтау ('utf-8')
Егер сізде жұмыс болса, сіз қосылуды жауып, Python -дан шығуға болады:
ser.close ()
Шығу()
5 -қадам: WiFi кіру нүктесінің мүмкіндіктерін орнатыңыз
Wi -Fi кіру нүктесі режимінде Pi Zero W орнату арқылы сіз оған кез келген Wi -Fi құрылғысымен қосыла аласыз. Бұл тіркеушіні орнатуға және деректерді wifi арқылы жүктеуге мүмкіндік береді, кабельдер мен драйверлер қажет емес.
Бұл үшін Adafruit -те жақсы оқулық бар. Кейбір шағын ескертулер:
- /Etc/hostapd/hostapd.conf драйвері үшін драйвер желісін пайдаланбаңыз.
- «Hostapd жаңарту» қадамы қажет болмауы керек.
Егер кіру нүктесі оқулықтың соңында жұмыс істемесе, Pi (sudo reboot) қайта жүктеп көріңіз.
6 -қадам: Wi -Fi кіру нүктесі мен клиенттік режимдер арасында ауысу
Кейде сіз Raspberry Pi -ге бағдарламалық жасақтаманы жаңартқыңыз немесе жаңа бағдарламалық жасақтаманы орнатқыңыз келеді, бірақ бұл үшін интернет байланысы қажет. Бақытымызға орай, екеуінің арасында ауысу өте оңай.
Pi -ге SSH арқылы қосылыңыз (кабель арқылы, Wi -Fi емес!). Кіру нүктесінің қызметтерін тоқтатудан бастаңыз:
sudo cystemctl hostapd.service қызметін тоқтатады
sudo cystemctl stop isc-dhcp-server.service
Содан кейін желі интерфейстерінің файлын өңдеңіз:
sudo nano/etc/network/interfaces
Мұнда сіз хостинг параметрлеріне түсініктеме беруіңіз керек және желіге қосылу параметрлеріне түсініктеме бермеуіңіз керек. Оны мына жерден өзгертіңіз:
#-Хостинг параметрлері:
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_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_confupps
Файлды сақтаңыз және жабыңыз.
Содан кейін сіз келесі пәрмендерді іске қосасыз:
sudo systemctl wpa_supplicant.service іске қосыңыз
sudo ifdown wlan0 sudo ifup wlan0
Енді сіздің Pi бағдарламалық жасақтаманы жаңартуға және орнатуға мүмкіндік беретін қайтадан Wi -Fi желісіне қосылуы керек.
Кіру нүктесі режиміне оралу үшін/etc/network/interfaces ішіндегі түсініктемелерді ауыстырып, Pi -ді қайта жүктеңіз.
7 -қадам: Қорытынды ескертулер
Веб -сайтты реттеу
Apache сервері/var/www/ішінде орналасқан. Әдепкі бетті өзгерту үшін /var/www/html/index.html файлын өңдеңіз.
Сіз браузеріңізді Pi IP мекенжайына (192.168.42.1) өту арқылы Wi -Fi арқылы жүктеуге болатын файлдарды осында жасай аласыз. Wi -Fi қосылған кез келген құрылғы оларды қосымша бағдарламалық жасақтамасыз жүктей алады.
SFTP қосылымы
SSH арқылы FTP қосылымын жасауға болады. Filezilla көмегімен файлдардың үлкен көлемін тез және оңай тасымалдауға болады (суретті қараңыз).
Нақты уақыт сағаты
Пи -дің ішкі сағаты интернетке қосылмаған жағдайда айтарлықтай өзгеретіндіктен, дәл уақытты сақтау қажет болса, нақты уақыт сағаты (RTC) модулі қажет болады. Осындай модульдердің бірі - RasClock, орнату нұсқауларын мына жерден табуға болады. Басқа i2c сағаттары да бар (яғни DS3231)
Қорытынды
Егер бәрі дұрыс болса, енді сізде Pi Zero жұмыс жасайтын деректер тізбегі болуы керек! Python тіркеу сценарийінің мысалы келесі қадамға қосылады.
8 -қадам: Python тіркеу сценарийінің мысалы
импорттау os
сериялық уақытты импорттау датасынан уақытты импорттау сериясын np ser = serial. Serial (port = 'COM4', baudrate = 57600, timeout = 5) каталогы = r '\ var / www / html / data / anemometer / WMPro1352_ 'ser.flushInput () ser.flushOutput () көріңіз: бұл кезде True: 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 ([1] сызығы) қоспағанда: u = np.nan тырысыңыз: v = float ([2] сызығы) қоспағанда: v = np.nan көріңіз: w = қалқымалы ([3] сызық) қоспағанда: w = np.nan тырысыңыз: c = float (сызық [5]) қоспағанда: c = np.nan Ts = 1/403*c ** 2 - 273.15 көріңіз: Ta = float ([8] сызығы) қоспағанда: Ta = np.nan if (os.path.isfile (file_today))): openobile (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 () else: openobile (file_today, 'w') fileobject ретінде: 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 жұмыс жасайтын ағаштан жасалған ойын -сауық дисплейі: Бұл жоба 20x10 пиксельді WS2812 өлшемді 78x35 см жарықдиодты дисплейді іске қосады, оны қонақ бөлмесінде ретро ойындарын ойнау үшін оңай орнатуға болады. Бұл матрицаның бірінші нұсқасы 2016 жылы салынған және оны көптеген адамдар қайта жасаған. Бұл экспозиция
Электронды қағаз дисплейі мен Raspberry Pi Zero W қолданатын YouTube абоненттерінің есептегіші: 5 қадам (суреттермен)
Электронды қағаз дисплейі мен Raspberry Pi Zero W қолданатын YouTube жазылушыларының есептегіші: Бұл нұсқаулықта мен сізге YouTube API сұрау үшін электронды қағаз дисплейі мен Raspberry Pi Zero W көмегімен өз 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 -ны қолданудың негізін үйрену керек. Біз осы негізгі орнатуды көптеген тапсырмаларды орындау үшін пайдалана аламыз. Бастау үшін